59 assertInferredFQNs("ArrayList", "java.util.ArrayList");
60 assertInferredFQNs("TestClass", "test1.TestClass", "test2.TestClass");
61 assertInferredFQNs("CharSequence", "CharSequence".length(), true, "java.lang.CharSequence");
62 assertInferredFQNs("unresolvable");
63 assertInferredFQNs("void test(ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
64 assertInferredFQNs("void test(ArrayList l) throws InvocationTargetException", "InvocationTargetException".length(), false, "java.lang.reflect.InvocationTargetException");
65 assertInferredFQNs("void test(ArrayList l) { ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
66 assertInferredFQNs("<T extends ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
67 assertInferredFQNs("Object l = Arrays", "Arrays".length(), false, "java.util.Arrays");
68 assertInferredFQNs("class X<T extends ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
69 assertInferredFQNs("class X extends ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
70 assertInferredFQNs("class X extends java.util.ArrayList<TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
71 assertInferredFQNs("class X extends java.util.ArrayList<TypeMirror, TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
72 assertInferredFQNs("class X implements TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
73 assertInferredFQNs("class X implements TypeMirror, TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
74 assertInferredFQNs("class X implements java.util.List<TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
75 assertInferredFQNs("class X implements java.util.List<TypeMirror, TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
76 assertInferredFQNs("class X { ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
77 }
78
79 @Test
80 public void testSuspendIndexing() throws Throwable {
81 compiler.compile(outDir, "package test; public class FQNTest { }");
82 String jarName = "test.jar";
83 compiler.jar(outDir, jarName, "test/FQNTest.class");
84 Path continueMarkFile = outDir.resolve("continuemark").toAbsolutePath();
85 Files.createDirectories(continueMarkFile.getParent());
86 try (Writer w = Files.newBufferedWriter(continueMarkFile)) {}
87
88 Path runMarkFile = outDir.resolve("runmark").toAbsolutePath();
89 Files.deleteIfExists(runMarkFile);
90
91 getState().sourceCodeAnalysis();
92
93 Throwable[] evalException = new Throwable[1];
94
95 new Thread() {
96 @Override public void run() {
97 try {
98 assertEval("{new java.io.FileOutputStream(\"" + runMarkFile.toAbsolutePath().toString().replace("\\", "\\\\") + "\").close();" +
99 " while (java.nio.file.Files.exists(java.nio.file.Paths.get(\"" + continueMarkFile.toAbsolutePath().toString().replace("\\", "\\\\") + "\"))) Thread.sleep(100); }");
|
59 assertInferredFQNs("ArrayList", "java.util.ArrayList");
60 assertInferredFQNs("TestClass", "test1.TestClass", "test2.TestClass");
61 assertInferredFQNs("CharSequence", "CharSequence".length(), true, "java.lang.CharSequence");
62 assertInferredFQNs("unresolvable");
63 assertInferredFQNs("void test(ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
64 assertInferredFQNs("void test(ArrayList l) throws InvocationTargetException", "InvocationTargetException".length(), false, "java.lang.reflect.InvocationTargetException");
65 assertInferredFQNs("void test(ArrayList l) { ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
66 assertInferredFQNs("<T extends ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
67 assertInferredFQNs("Object l = Arrays", "Arrays".length(), false, "java.util.Arrays");
68 assertInferredFQNs("class X<T extends ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
69 assertInferredFQNs("class X extends ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
70 assertInferredFQNs("class X extends java.util.ArrayList<TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
71 assertInferredFQNs("class X extends java.util.ArrayList<TypeMirror, TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
72 assertInferredFQNs("class X implements TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
73 assertInferredFQNs("class X implements TypeMirror, TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
74 assertInferredFQNs("class X implements java.util.List<TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
75 assertInferredFQNs("class X implements java.util.List<TypeMirror, TypeElement", "TypeElement".length(), false, "javax.lang.model.element.TypeElement");
76 assertInferredFQNs("class X { ArrayList", "ArrayList".length(), false, "java.util.ArrayList");
77 }
78
79 @Test(enabled = false) //TODO 8161165
80 public void testSuspendIndexing() throws Throwable {
81 compiler.compile(outDir, "package test; public class FQNTest { }");
82 String jarName = "test.jar";
83 compiler.jar(outDir, jarName, "test/FQNTest.class");
84 Path continueMarkFile = outDir.resolve("continuemark").toAbsolutePath();
85 Files.createDirectories(continueMarkFile.getParent());
86 try (Writer w = Files.newBufferedWriter(continueMarkFile)) {}
87
88 Path runMarkFile = outDir.resolve("runmark").toAbsolutePath();
89 Files.deleteIfExists(runMarkFile);
90
91 getState().sourceCodeAnalysis();
92
93 Throwable[] evalException = new Throwable[1];
94
95 new Thread() {
96 @Override public void run() {
97 try {
98 assertEval("{new java.io.FileOutputStream(\"" + runMarkFile.toAbsolutePath().toString().replace("\\", "\\\\") + "\").close();" +
99 " while (java.nio.file.Files.exists(java.nio.file.Paths.get(\"" + continueMarkFile.toAbsolutePath().toString().replace("\\", "\\\\") + "\"))) Thread.sleep(100); }");
|