Skip to content

Improve incremental tracking of method references and lambdas#10323

Open
niloc132 wants to merge 13 commits into
gwtproject:mainfrom
niloc132:9670-method-ref-error
Open

Improve incremental tracking of method references and lambdas#10323
niloc132 wants to merge 13 commits into
gwtproject:mainfrom
niloc132:9670-method-ref-error

Conversation

@niloc132

Copy link
Copy Markdown
Member

Ensures that all GWT JDeclaredTypes are correctly marked as changed, including method references and lambdas.

Changes naming convention for method reference types - this slightly degrades debugability, but better ensures that fresh compiles and incremental compiles will result in the same output for a given class, improving how much testing we can do.

Note that adding/removing inner classes results in different incremental/initial output, so one of the new tests must opt out of that check.

Fixes #9670

@niloc132 niloc132 added this to the 2.14 milestone May 27, 2026
Comment on lines +1035 to +1037
if (incrementalCompile) {
compilerContext.getMinimalRebuildCache().recordNestedTypeNamesPerType(unit, types);
}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change lets us only deserialize the set of GWT types once. This is the only call to CompilationUnit.getTypes() and also the only call to recordNestedTypeNamesPerType.

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.

Method references cached incorrectly in superdevmode 2.8.2

1 participant