Skip to content

Conversation

@srikanth-sankaran
Copy link
Contributor

  • Backs out only code changes (note: not a full reversal, some peripheral changes have been left in)
  • As tests are not backed out, these would fail.

eclipse-jdt#2158 and
eclipse-jdt#3623 to
understand status quo ante
@srikanth-sankaran
Copy link
Contributor Author

Hmm, I am surprised by a green test run from github for commit 1 - I expected at least the following tests to fail:

org.eclipse.jdt.core.tests.model.ExternalAnnotations9Test.testGH3623_withNullAnnoatations()
org.eclipse.jdt.core.tests.model.ExternalAnnotations9Test.testGH3623_nullAnnotationsNotEnabled()
org.eclipse.jdt.core.tests.compiler.regression.NullTypeAnnotationTest.testGH2158()

@srikanth-sankaran srikanth-sankaran changed the title Back out the fixes for #2158 and 3623 to to understand status quo ante Back out the fixes for #2158 and #3623 to to understand status quo ante Jan 13, 2026
@srikanth-sankaran
Copy link
Contributor Author

srikanth-sankaran commented Jan 13, 2026

Hmm, I am surprised by a green test run from github for commit 1 - I expected at least the following tests to fail:

org.eclipse.jdt.core.tests.model.ExternalAnnotations9Test.testGH3623_withNullAnnoatations() org.eclipse.jdt.core.tests.model.ExternalAnnotations9Test.testGH3623_nullAnnotationsNotEnabled() org.eclipse.jdt.core.tests.compiler.regression.NullTypeAnnotationTest.testGH2158()

It gets curiouser and curiouser!

I have pushed the regression test (alone, without code changes) from #4682 here and I expect it to pass also - as it passes locally. This is completely counterintuitive!!!

So it would seem backing out the fixes for #2158 and #3623 solves #2158 and #3623 and #4494 - no explanations yet. I ran into this scenario while simply preparing the grounds for understanding status quo ante #2158 and #3623

@stephan-herrmann - FYI. You can hold off on tracking this until I call out.

@stephan-herrmann
Copy link
Contributor

I have some news for you here: if additionally you'd backout #4554 (4.38 M3), then you'd see org.eclipse.jdt.core.tests.compiler.regression.NullTypeAnnotationTest.testGH2158() failing again.

Method Scope.areSignificantlyDifferent(TypeBinding, TypeBinding) is intended to filter out differences caused only be "equivalent" but different wildcard bindings. Apparently that method now also masks a problem of unexpectedly different ids. I can indeed observe two different PTBs with different ids, while all their ingredients (type, arguments ...) have the same ids pairwise. I.e., !areSignificantlyDifferent() and also TypeBinding.notEquals() and even with no wildcards in the picture.

HTH

@srikanth-sankaran
Copy link
Contributor Author

I have some news for you here: if additionally you'd backout #4554 (4.38 M3), then you'd see org.eclipse.jdt.core.tests.compiler.regression.NullTypeAnnotationTest.testGH2158() failing again.

This saves me lots of time in digging - thanks.

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.

2 participants