Skip to content

Conversation

@mickaelistria
Copy link

No description provided.

@robstryker
Copy link

I'd like to see failures down a bit more before we go doing this, but it's ultimately up to you.

@mickaelistria
Copy link
Author

I agree, I was expecting a bit less than a hundred failures, but it's much more. I am targetting a merge when the extra failures are up by 100 or less.

@mickaelistria mickaelistria force-pushed the restore-comparingsearch-level branch 4 times, most recently from 999cd3e to bf60323 Compare July 2, 2025 17:46
Rob Stryker and others added 20 commits July 31, 2025 12:28
Signed-off-by: Rob Stryker <[email protected]>
eg. there should be no keywords when completing at the `|`

```java
int[] a = new int[] { | };
```

Signed-off-by: David Thompson <[email protected]>
Instead of always re-reading the jars for symbols, we create a local
cache that is capable of recreating the symbol into any context reliably
enough from memory.
This should drastically improve performance.
* ForAll/generic methods
* Synchronize init of reflection
* Do not share the signatureBuffer, keep it instance specific to avoid
concurrent modification. Sharing doesn't bring any benefit anyway.
A parser may decide to keep a TextElement as " blah" with (offset,
length)=(N,5); or as "blah" with (offset,length)=(N+1,4). Both are
valid.
Make test tolerate both.
The parent EnumConstantDeclaration is already checked, no need to
re-check the name.
I disagree personally but this is what JDT does.

Signed-off-by: David Thompson <[email protected]>
mickaelistria and others added 14 commits July 31, 2025 15:54
Another portion of the fix depended on addressing eclipse-jdt#4247,
which is now resolved

Signed-off-by: David Thompson <[email protected]>
There are other issues that arise when having a `module-info.java` in a Java 8
project, but this makes sure that we at least don't try to convert the AST nodes,
which prevents an exception.

Fixes eclipse-jdt#193

Signed-off-by: David Thompson <[email protected]>
Record components are often modeled as ILocalVariable, which might use
different parent in a case or another. Instead of strictly checking for
equal model element, we check that they are equivalent (name and
position)
eg. after `|`

```java
public class CompleteInInstanceof {

	public void myMethod() {
		Object o = null;
		boolean a = o instanceof RequiresDirective requires && useRequiresDirective(req|);
	}

	static class RequiresDirective {
		private int a;
		public RequiresDirective(int a) { this.a = a; }
		int getA() { return a; }
	}

	public static boolean useRequiresDirective(RequiresDirective requiresDirective) {
		return requiresDirective.getA()  > 5;
	}
}
```

Fixes eclipse-jdt#1593

Signed-off-by: David Thompson <[email protected]>
Completion tests are currently ignored as functional coverage for
completion is already good and many tests are really failing for
insignificant details (such as relevance which is overridden in UI
anyway). So we skip the test to avoid noise and let dogfooding and
actual usage feedback drive further improvements to completion.
We may re-enable those tests later.
@mickaelistria mickaelistria force-pushed the restore-comparingsearch-level branch from bf60323 to 20c5769 Compare August 4, 2025 19:17
@mickaelistria
Copy link
Author

Adds ~200 failures, let's wait a bit before merging it.

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.

5 participants