[java] Local records are a find boundary

This fixes a ClassCastException in CloseResource
This commit is contained in:
Andreas Dangel
2021-11-30 16:29:13 +01:00
parent 3929cac930
commit 74aa2772bf
2 changed files with 15 additions and 1 deletions

View File

@ -52,7 +52,7 @@ public final class ASTRecordDeclaration extends AbstractAnyTypeDeclaration {
@Override
public boolean isFindBoundary() {
return isNested();
return isNested() || isLocal();
}
@Override

View File

@ -1680,4 +1680,18 @@ public class FalsePositive {
}
]]></code>
</test-code>
<test-code>
<description>ClassCastException with local record</description>
<expected-problems>0</expected-problems>
<code><![CDATA[
public record MyRecord(boolean a) {
public void foo () {
record TestInnerRecord() {
private static Object test;
}
}
}
]]></code>
</test-code>
</test-data>