fixed bugs with anonymous classes and record classes

This commit is contained in:
2026-06-05 15:40:53 +08:00
parent 85ca793893
commit 65525fdd09
7 changed files with 85 additions and 5 deletions
@@ -154,7 +154,24 @@ public class PluginTest {
)),
Arguments.of(prefix + "TestCase12.java", Collections.emptyList()),
Arguments.of(prefix + "TestCase13.java", Arrays.asList(ABSTRACT_METHOD_PARAM.getMessage("x"), ABSTRACT_METHOD_PARAM.getMessage("y"))),
Arguments.of(prefix + "TestCase14.java", Arrays.asList(ABSTRACT_METHOD_PARAM.getMessage("x"), ABSTRACT_METHOD_PARAM.getMessage("y")))
Arguments.of(prefix + "TestCase14.java", Arrays.asList(ABSTRACT_METHOD_PARAM.getMessage("x"), ABSTRACT_METHOD_PARAM.getMessage("y"))),
Arguments.of(prefix + "TestCase15.java",
Arrays.asList(
LOCAL_VAR.getMessage("a"),
METHOD_PARAM.getMessage("source"))),
Arguments.of(prefix + "TestCase16.java",
Arrays.asList(
METHOD_PARAM.getMessage("c"),
LOCAL_VAR.getMessage("d"),
METHOD_PARAM.getMessage("e"),
LOCAL_VAR.getMessage("f")
)
),
Arguments.of(prefix + "TestCase17.java",
Arrays.asList(
METHOD_PARAM.getMessage("a")
)
)
);
}
}
@@ -0,0 +1,24 @@
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
public class TestCase15 {
public static void foo() {
final InputStream source = null;
final InputStream is = new FilterInputStream(source) {
@Override
public int read() throws IOException {
int a = 5;
return a;
}
};
}
static class Bar extends FilterInputStream {
public Bar(InputStream source) {
super(source);
}
};
}
@@ -0,0 +1,18 @@
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
public record TestCase16(double a, double b) {
TestCase16(double c) {
this(c, 2.0);
int d = 42;
System.out.println(d);
}
double foo(double e) {
int f = 42;
System.out.println(f);
return a;
}
}
@@ -0,0 +1,9 @@
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
public record TestCase17(String s) {
TestCase17(double a) {
this("");
}
}