Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master to BETA_JAVA24 #1898

Merged
merged 48 commits into from
Jan 6, 2025
Merged

Merge master to BETA_JAVA24 #1898

merged 48 commits into from
Jan 6, 2025

Conversation

noopur2507
Copy link
Member

@noopur2507 noopur2507 commented Jan 3, 2025

What it does

How to test

Author checklist

gzsombor and others added 30 commits November 27, 2024 07:58
…JAVA_MARKDOWN_COMMENT

Version bump(s) for 4.35 stream
* Fix clicking on a ParametrizedTest

When we click on the 'grouping' element for a ParametrizedTest, the code
tries to find the method without the parameter types, but the search
actually tries to find a parameter-less method with the same name.

* Fix test result navigation in 'Generic Test view'

* Fix \0 handling in the test parameters

Previously if the variable contained a '\0' the rest of the string
was not displayed, with this fix, the rest of the string shows up too

* Version bump(s) for 4.35 stream

---------

Co-authored-by: Eclipse JDT Bot <[email protected]>
…#1790)

* Fix change signature to recognize a possible logic issue after rename

- modify ChangeSignatureProcessor to add new checkShadowing2 method
  which recognizes when rename of method might affect an implementor
  of the class which is using a method of same name already
- add new test to ChangeSignatureTests
- fixes #1750

* Version bump(s) for 4.35 stream

---------

Co-authored-by: Eclipse JDT Bot <[email protected]>
…#1799)

* Fix inlining method with anonymous class and qualified this reference

- fix SourceAnalyzer to denote a qualified this receiver if the
  qualifier is a type and also to not denote an anonymous class
  instantiation for implicit receiver
- add new test to InlineMethodTests
- fixes #1780
* dogfooding migration to junit 5
* Version bump(s) for 4.35 stream

---------

Co-authored-by: Eclipse JDT Bot <[email protected]>
* Add quick fix to add permitted types to switch

- add new LocalCorrectionsSubProcessor.addPermittedTypesProposal()
  method to add permitted types as cases to empty switch statement
  or switch expression
- modify QuickFixProcessor to call new method above
- add tests to QuickFixTest22
- fixes #1795
- change icon for rename to unnamed variable to match rename in file
  icon
- fixes #1836
- properly check context in an enum method before offering to create a
  new enum constant and possibly offer a new field or constant instead
- add new tests to UnresolvedVariablesQuickFixTest
- fixes #1839
If Operation is canceled result is just not needed anymore. No need to
log an error.

* also silent BadLocationException

#1827
AsyncCompletionProposalPopup defers the actual
AbstractJavaCompletionProposal proposals. Test has to wait for async
proposals to be calculated.

#1835
also 1 Test was added which tests the bugfix
)

- modify StringConcatToTextBlockFixCore to support the case where the
  StringBuilder/StringBuffer is passed as an argument and in that
  case do not replace the StringBuilder/StringBuffer but change it
  to initialize with a text block
- add new tests to AssistQuickFixTest15 and CleanUpTest15
- fixes #1841
Offers extension point to contribute semantic tokens into the JDT Java editor for syntax highlighting.

#1594
- fix LocalCorrectionsSubProcessor.addPermittedTypes() method to
  not pass empty importName to the search pattern
- add new test to QuickFixTest22
- fixes #1845
* Refactor LocalCorrectionsSubProcessor to jdt.core.manipulation

- create new LocalCorrectionsBaseSubProcessor in jdt.core.manipulation
  and have LocalCorrectionsSubProcessor sub-class it
- add new constructors where needed to support specifying a core
  class and an image
- fixes #1847
- modify PullUpRefactoring.CheckInvalidOuterFieldAccess checker to
  also look for class.this references that won't be accessible after
  pulling up the method
- add new test to PullUpTests
- fixes #1823
As we changed the background color of editor to more darker shade,
background of breadcrumbs were still using the older color code. This
has been changed to same color code as editor's.
- modify EmbeddedIfCleanUp to check for line comments on the
  top and embedded if statement and preserve them in the merged
  if statement
- add new method to ASTNodes to get trailing line comment for
  a node plus an offset
- modify the embedded cleanup test in CleanUpTest to add new
  line comment scenarios
- fixes #1853
should be displayed when using the code minings


The getter getAllWorkingSets() illegally caches - i.e. modified its
state while that is unexpected during setWorkingSets()

#1863

tested by WorkingSetDropAdapterTest
Since ECJ min supported version is 1.8 all other code mandates 1.8+ too.

Part of #1685
Remove checks whether running on Java 1.5+ to handle them as ECJ
mandates 1.8 thus this is always true.
Removed tests for pre 1.5 behavior and enable tests in
JavaPairMatcherTest that were not executed at all.
akurtakov and others added 18 commits December 22, 2024 13:22
ECJ supports 1.8 as min java version thus this would prevent the case of
UI generating/accepting code that the compiler may reject at compile
time.
Ecj supports min Java 8 so testing/supporting older versions in UI
creates the risk of generating/accepting code that compiler may reject.
This is only code level cleanup as it is impossible for anyone to use as
this was consulting project which can't not be pre 1.8 already.
There is no need to shadow Character methods. Static import them and use
directly.
Java 8 is the min version ECJ supports thus having complicated way to
add "assert"(1.4) and "enum"(1.5) is not needed and can be added to
default keywords.
Java 8 is the min version supported by ECJ thus generics are always
supported.
As ECJ no longer supports lower levels.
Every project is 1.8+ now as ECJ doesn't support pre 1.8 anymore.
ECJ mandates Java 8 level thus this code is always noop.
Java 1.8 is mandated by ECJ thus removed code is non-reachable anymore.
ECJ supports min 1.8 and JDT UI provides no way to set BREE lower than
that thus all this code is non reachable.
ECJ mandates 1.8+ and JDT UI converts compiler settings to that
unconditionally so this code is simply non-reachable.
ECJ no longer supports pre 1.8 and JDT UI simply converts project
settings to 1.8 if lower thus all this code is non reachable.
Having code to show errors if Java 5 JVM when Java UI migrates projects
to Java 8 is pointless.
ECJ support 1.8 as lowest version and JDT UI converts projects to that
as a min level thus this code is non reachable.
Avoid duplicate class names to make it easier to find the right one
@noopur2507 noopur2507 merged commit ff7d32a into BETA_JAVA24 Jan 6, 2025
22 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.