diff --git a/jps/javac-ref-scanner-8/testData/referenceIndex/lambda/initialIndex.txt b/jps/javac-ref-scanner-8/testData/referenceIndex/lambda/initialIndex.txt index aea1c8ee9322..dbe4a5730b14 100644 --- a/jps/javac-ref-scanner-8/testData/referenceIndex/lambda/initialIndex.txt +++ b/jps/javac-ref-scanner-8/testData/referenceIndex/lambda/initialIndex.txt @@ -4,9 +4,7 @@ java.lang.Runnable -> fun_expr(id=0) Backward References: Lambda in Lambda occurrences = 1 -Lambda.(0) in Lambda occurrences = 1 Lambda.main(1) in Lambda occurrences = 1 -java.lang.Object.(0) in Lambda occurrences = 1 java.lang.String in Lambda occurrences = 1 java.lang.Thread in Lambda occurrences = 1 java.lang.Thread.(1) in Lambda occurrences = 1 diff --git a/jps/javac-ref-scanner-8/testData/referenceIndex/methodReference/initialIndex.txt b/jps/javac-ref-scanner-8/testData/referenceIndex/methodReference/initialIndex.txt index abd019f34f7b..6ea26bc8deca 100644 --- a/jps/javac-ref-scanner-8/testData/referenceIndex/methodReference/initialIndex.txt +++ b/jps/javac-ref-scanner-8/testData/referenceIndex/methodReference/initialIndex.txt @@ -4,9 +4,7 @@ java.lang.Runnable -> fun_expr(id=0) Backward References: MethodReference in MethodReference occurrences = 1 -MethodReference.(0) in MethodReference occurrences = 1 MethodReference.main(1) in MethodReference occurrences = 1 -java.lang.Object.(0) in MethodReference occurrences = 1 java.lang.String in MethodReference occurrences = 1 java.lang.Thread in MethodReference occurrences = 1 java.lang.Thread.(1) in MethodReference occurrences = 1 diff --git a/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/JavacReferenceCollectorListener.java b/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/JavacReferenceCollectorListener.java index 4bf7a9ca4b11..1a4e71ef5990 100644 --- a/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/JavacReferenceCollectorListener.java +++ b/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/JavacReferenceCollectorListener.java @@ -193,7 +193,7 @@ final class JavacReferenceCollectorListener implements TaskListener { final MemberSelectTree classImport = (MemberSelectTree)qExpr; final Element ownerElement = incompletelyProcessedFile.getReferencedElement(classImport); final Name name = id.getIdentifier(); - if (name != myNameTableCache.getAsterisk()) { + if (!myNameTableCache.isAsterisk(name)) { // member import for (Element memberElement : myElementUtility.getAllMembers((TypeElement)ownerElement)) { if (memberElement.getSimpleName() == name) { @@ -274,6 +274,14 @@ final class JavacReferenceCollectorListener implements TaskListener { return myNameTableCache; } + long getStartOffset(Tree tree) { + return myTreeHelper.getStartOffset(tree); + } + + long getEndOffset(Tree tree) { + return myTreeHelper.getEndOffset(tree); + } + private int decrementRemainDeclarationsAndGet(Tree declarationToProcess) { return declarationToProcess == null ? myRemainDeclarations : --myRemainDeclarations; } @@ -290,10 +298,20 @@ final class JavacReferenceCollectorListener implements TaskListener { private class JavacTreeHelper { private final TreePath myUnitPath; private final Trees myTreeUtil; + private final SourcePositions myPositions; private JavacTreeHelper(CompilationUnitTree unit, Trees treeUtil) { myUnitPath = new TreePath(unit); myTreeUtil = treeUtil; + myPositions = treeUtil.getSourcePositions(); + } + + private long getStartOffset(Tree tree) { + return myPositions.getStartPosition(myUnitPath.getCompilationUnit(), tree); + } + + private long getEndOffset(Tree tree) { + return myPositions.getEndPosition(myUnitPath.getCompilationUnit(), tree); } private Element getReferencedElement(Tree tree) { @@ -305,10 +323,9 @@ final class JavacReferenceCollectorListener implements TaskListener { } } - public TypeMirror getType(Tree tree) { + private TypeMirror getType(Tree tree) { return myTreeUtil.getTypeMirror(new TreePath(myUnitPath, tree)); } - } private static void incrementOrAdd(TObjectIntHashMap map, JavacRef key) { diff --git a/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/JavacTreeRefScanner.java b/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/JavacTreeRefScanner.java index 8ded9c088a4e..b85ef0b241e8 100644 --- a/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/JavacTreeRefScanner.java +++ b/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/JavacTreeRefScanner.java @@ -101,6 +101,12 @@ class JavacTreeRefScanner extends TreeScanner myCurrentEnclosingElement = new Stack(1); + private final Stack myCurrentEnclosingElement = new Stack(1); + private final Stack myCurrentEnclosingElementOffset = new Stack(1); + @Override public Tree visitClass(ClassTree node, JavacReferenceCollectorListener.ReferenceCollector refCollector) { TypeElement element = (TypeElement)refCollector.getReferencedElement(node); if (element == null) return null; myCurrentEnclosingElement.add(element); + ModifiersTree modifiers = node.getModifiers(); + long modifiersEndOffset = refCollector.getEndOffset(modifiers); + long startOffset = modifiersEndOffset == -1 ? refCollector.getStartOffset(node) : (modifiersEndOffset + 1); + myCurrentEnclosingElementOffset.add(startOffset); + try { + final TypeMirror superclass = element.getSuperclass(); + final List interfaces = element.getInterfaces(); + final JavacRef[] supers; + if (superclass != refCollector.getTypeUtility().getNoType(TypeKind.NONE)) { + supers = new JavacRef[interfaces.size() + 1]; + final JavacRef.JavacElementRefBase ref = refCollector.asJavacRef(superclass); + if (ref == null) return null; + supers[interfaces.size()] = ref; + } + else { + supers = interfaces.isEmpty() ? JavacRef.EMPTY_ARRAY : new JavacRef[interfaces.size()]; + } - final TypeMirror superclass = element.getSuperclass(); - final List interfaces = element.getInterfaces(); - final JavacRef[] supers; - if (superclass != refCollector.getTypeUtility().getNoType(TypeKind.NONE)) { - supers = new JavacRef[interfaces.size() + 1]; - final JavacRef.JavacElementRefBase ref = refCollector.asJavacRef(superclass); - if (ref == null) return null; - supers[interfaces.size()] = ref; - - } else { - supers = interfaces.isEmpty() ? JavacRef.EMPTY_ARRAY : new JavacRef[interfaces.size()]; + int i = 0; + for (TypeMirror anInterface : interfaces) { + final JavacRef.JavacElementRefBase ref = refCollector.asJavacRef(anInterface); + if (ref == null) return null; + supers[i++] = ref; + } + final JavacRef.JavacElementRefBase aClass = refCollector.asJavacRef(element); + if (aClass == null) return null; + refCollector.sinkReference(aClass); + refCollector.sinkDeclaration(new JavacDef.JavacClassDef(aClass, supers)); + super.visitClass(node, refCollector); + } finally { + myCurrentEnclosingElement.pop(); + myCurrentEnclosingElementOffset.pop(); } - - int i = 0; - for (TypeMirror anInterface : interfaces) { - final JavacRef.JavacElementRefBase ref = refCollector.asJavacRef(anInterface); - if (ref == null) return null; - supers[i++] = ref; - } - final JavacRef.JavacElementRefBase aClass = refCollector.asJavacRef(element); - if (aClass == null) return null; - refCollector.sinkReference(aClass); - refCollector.sinkDeclaration(new JavacDef.JavacClassDef(aClass, supers)); - super.visitClass(node, refCollector); - myCurrentEnclosingElement.pop(); return null; } diff --git a/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/api/JavacNameTable.java b/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/api/JavacNameTable.java index ebc1902232fa..9fda9fd6402e 100644 --- a/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/api/JavacNameTable.java +++ b/jps/jps-builders-6/src/org/jetbrains/jps/javac/ast/api/JavacNameTable.java @@ -28,6 +28,7 @@ public class JavacNameTable { private final SLRUCache myParsedNameCache; private final Elements myElements; private Name myAsterisk; + private Name myInit; private TypeElement myStreamElement; private TypeElement myIteratorElement; private TypeElement myIterableElement; @@ -50,15 +51,27 @@ public class JavacNameTable { @NotNull public String parseBinaryName(Element element) { - return parseName(myElements.getBinaryName((TypeElement)element)); + try { + return parseName(myElements.getBinaryName((TypeElement)element)); + } + catch (ClassCastException e) { + System.out.println(123); + throw e; + } } - @NotNull - public Name getAsterisk() { + public boolean isAsterisk(Name name) { if (myAsterisk == null) { myAsterisk = myElements.getName("*"); } - return myAsterisk; + return myAsterisk == name; + } + + public boolean isInit(Name name) { + if (myInit == null) { + myInit = myElements.getName(""); + } + return myInit == name; } @Nullable("if the type is not loaded to javac name table") diff --git a/jps/jps-builders/testData/referencesIndex/anonymous/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/anonymous/initialIndex.txt index d235219f4614..0ed331e158da 100644 --- a/jps/jps-builders/testData/referencesIndex/anonymous/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/anonymous/initialIndex.txt @@ -4,11 +4,8 @@ java.lang.Runnable -> anonymous(id=0) Backward References: Anonymous in Anonymous occurrences = 1 -Anonymous.(0) in Anonymous occurrences = 1 Anonymous.m(0) in Anonymous occurrences = 1 -java.lang.Object.(0) in Anonymous occurrences = 2 java.lang.Runnable in Anonymous occurrences = 2 -java.lang.Runnable.(0) in Anonymous occurrences = 1 java.lang.Runnable.run(0) in Anonymous occurrences = 2 Class Definitions: diff --git a/jps/jps-builders/testData/referencesIndex/arrayRefs/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/arrayRefs/initialIndex.txt index b6d49f394a7a..72e5fcad31a7 100644 --- a/jps/jps-builders/testData/referencesIndex/arrayRefs/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/arrayRefs/initialIndex.txt @@ -3,13 +3,9 @@ java.lang.Object -> Array Bar Foo Backward References: Array in Array occurrences = 1 -Array.(0) in Array occurrences = 1 Array.method(1) in Array occurrences = 1 Bar in Array Bar occurrences = 2 -Bar.(0) in Bar occurrences = 1 Foo in Array Foo occurrences = 2 -Foo.(0) in Foo occurrences = 1 -java.lang.Object.(0) in Array Bar Foo occurrences = 3 Class Definitions: Array in Array diff --git a/jps/jps-builders/testData/referencesIndex/classDeleted/classDeletedIndex.txt b/jps/jps-builders/testData/referencesIndex/classDeleted/classDeletedIndex.txt index 6b3a5ea4f4bb..207a6753e0b7 100644 --- a/jps/jps-builders/testData/referencesIndex/classDeleted/classDeletedIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/classDeleted/classDeletedIndex.txt @@ -3,8 +3,6 @@ java.lang.Object -> Foo Backward References: Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 1 Class Definitions: Foo in Foo diff --git a/jps/jps-builders/testData/referencesIndex/classDeleted/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/classDeleted/initialIndex.txt index 93873059be01..e6a662291210 100644 --- a/jps/jps-builders/testData/referencesIndex/classDeleted/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/classDeleted/initialIndex.txt @@ -5,10 +5,7 @@ java.lang.Runnable -> Foo$Inner Backward References: Foo in Foo occurrences = 1 Foo$Inner in Foo occurrences = 1 -Foo$Inner.(0) in Foo occurrences = 1 Foo$Inner.run(0) in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 2 java.lang.Override in Foo occurrences = 1 java.lang.Runnable in Foo occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/classWithModifiers/Foo.java b/jps/jps-builders/testData/referencesIndex/classWithModifiers/Foo.java new file mode 100644 index 000000000000..8dd75dd0e6b3 --- /dev/null +++ b/jps/jps-builders/testData/referencesIndex/classWithModifiers/Foo.java @@ -0,0 +1 @@ +public final class Foo { } \ No newline at end of file diff --git a/jps/jps-builders/testData/referencesIndex/classWithModifiers/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/classWithModifiers/initialIndex.txt new file mode 100644 index 000000000000..1e95a3716eaf --- /dev/null +++ b/jps/jps-builders/testData/referencesIndex/classWithModifiers/initialIndex.txt @@ -0,0 +1,10 @@ +Backward Hierarchy: +java.lang.Object -> Foo + +Backward References: +Foo in Foo occurrences = 1 + +Class Definitions: +Foo in Foo + +Members Signatures: diff --git a/jps/jps-builders/testData/referencesIndex/compilationUnitContains2Decls/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/compilationUnitContains2Decls/initialIndex.txt index 0cb71291f3d0..3badec6983b7 100644 --- a/jps/jps-builders/testData/referencesIndex/compilationUnitContains2Decls/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/compilationUnitContains2Decls/initialIndex.txt @@ -3,12 +3,9 @@ java.lang.Object -> Boo Foo Backward References: Boo in Foo occurrences = 1 -Boo.(0) in Foo occurrences = 1 Boo.m(0) in Foo occurrences = 1 Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 2 java.util.Collections in Foo occurrences = 3 java.util.Collections.emptyList(0) in Foo occurrences = 1 java.util.Collections.emptySet(0) in Foo occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/constructors/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/constructors/initialIndex.txt index 701df57991aa..5212cd8ef111 100644 --- a/jps/jps-builders/testData/referencesIndex/constructors/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/constructors/initialIndex.txt @@ -3,9 +3,7 @@ java.lang.Object -> Foo Backward References: Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 1 java.util.ArrayList in Foo occurrences = 3 java.util.ArrayList.(0) in Foo occurrences = 3 java.util.LinkedList in Foo occurrences = 2 diff --git a/jps/jps-builders/testData/referencesIndex/deadCode/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/deadCode/initialIndex.txt index b0cbef2857ad..b11c46843957 100644 --- a/jps/jps-builders/testData/referencesIndex/deadCode/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/deadCode/initialIndex.txt @@ -3,11 +3,9 @@ java.lang.Object -> Bar Backward References: Bar in Bar occurrences = 1 -Bar.(0) in Bar occurrences = 1 Bar.DEBUG in Bar occurrences = 2 Bar.m(0) in Bar occurrences = 1 java.io.PrintStream.println(1) in Bar occurrences = 1 -java.lang.Object.(0) in Bar occurrences = 1 java.lang.System in Bar occurrences = 1 java.lang.System.out in Bar occurrences = 1 java.util.ArrayList in Bar occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/defaultConstructorUsage/Foo.java b/jps/jps-builders/testData/referencesIndex/defaultConstructorUsage/Foo.java new file mode 100644 index 000000000000..111a6a05cd88 --- /dev/null +++ b/jps/jps-builders/testData/referencesIndex/defaultConstructorUsage/Foo.java @@ -0,0 +1,7 @@ +class Foo { + + static Foo newFoo() { + return new Foo(); + } + +} \ No newline at end of file diff --git a/jps/jps-builders/testData/referencesIndex/defaultConstructorUsage/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/defaultConstructorUsage/initialIndex.txt new file mode 100644 index 000000000000..02a43e7b1b55 --- /dev/null +++ b/jps/jps-builders/testData/referencesIndex/defaultConstructorUsage/initialIndex.txt @@ -0,0 +1,13 @@ +Backward Hierarchy: +java.lang.Object -> Foo + +Backward References: +Foo in Foo occurrences = 3 +Foo.(0) in Foo occurrences = 1 +Foo.newFoo(0) in Foo occurrences = 1 + +Class Definitions: +Foo in Foo + +Members Signatures: +static Foo <- Foo.newFoo(0) \ No newline at end of file diff --git a/jps/jps-builders/testData/referencesIndex/fileCaseOnlyRename/afterRename.txt b/jps/jps-builders/testData/referencesIndex/fileCaseOnlyRename/afterRename.txt index 4a1b8b585eab..85d048f2ef23 100644 --- a/jps/jps-builders/testData/referencesIndex/fileCaseOnlyRename/afterRename.txt +++ b/jps/jps-builders/testData/referencesIndex/fileCaseOnlyRename/afterRename.txt @@ -3,10 +3,8 @@ java.lang.Object -> Inner Backward References: Inner in bar occurrences = 1 -Inner.(0) in bar occurrences = 1 Inner.m(0) in bar occurrences = 1 java.io.PrintStream.println(1) in bar occurrences = 1 -java.lang.Object.(0) in bar occurrences = 1 java.lang.System in bar occurrences = 1 java.lang.System.out in bar occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/fileCaseOnlyRename/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/fileCaseOnlyRename/initialIndex.txt index 210066e11566..179c83f99e16 100644 --- a/jps/jps-builders/testData/referencesIndex/fileCaseOnlyRename/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/fileCaseOnlyRename/initialIndex.txt @@ -3,10 +3,8 @@ java.lang.Object -> Inner Backward References: Inner in Bar occurrences = 1 -Inner.(0) in Bar occurrences = 1 Inner.m(0) in Bar occurrences = 1 java.io.PrintStream.println(1) in Bar occurrences = 1 -java.lang.Object.(0) in Bar occurrences = 1 java.lang.System in Bar occurrences = 1 java.lang.System.out in Bar occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/fileDeleted/fileDeletedIndex.txt b/jps/jps-builders/testData/referencesIndex/fileDeleted/fileDeletedIndex.txt index d6a258d7dd49..3f5506f3432e 100644 --- a/jps/jps-builders/testData/referencesIndex/fileDeleted/fileDeletedIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/fileDeleted/fileDeletedIndex.txt @@ -3,9 +3,7 @@ java.lang.Object -> Foo Backward References: Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 1 Class Definitions: Foo in Foo diff --git a/jps/jps-builders/testData/referencesIndex/fileDeleted/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/fileDeleted/initialIndex.txt index 08e2fed1395e..61aa6a704326 100644 --- a/jps/jps-builders/testData/referencesIndex/fileDeleted/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/fileDeleted/initialIndex.txt @@ -3,12 +3,11 @@ java.lang.Object -> Bar Foo Backward References: Bar in Bar Foo occurrences = 3 -Bar.(0) in Bar Foo occurrences = 2 +Bar.(0) in Foo occurrences = 1 Bar.m(0) in Bar occurrences = 1 Foo in Bar Foo occurrences = 3 -Foo.(0) in Bar Foo occurrences = 2 +Foo.(0) in Bar occurrences = 1 Foo.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Bar Foo occurrences = 2 Class Definitions: Bar in Bar diff --git a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/afterMakeIndex.txt b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/afterMakeIndex.txt index 50003cc08e9e..a05dca0cb0a1 100644 --- a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/afterMakeIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/afterMakeIndex.txt @@ -4,15 +4,12 @@ java.lang.Object -> Bar FooImpl Backward References: Bar in Bar occurrences = 1 -Bar.(0) in Bar occurrences = 1 Bar.m(1) in Bar occurrences = 1 Foo in Foo FooImpl occurrences = 2 Foo.getSomeText(0) in Foo occurrences = 1 FooImpl in Bar FooImpl occurrences = 2 -FooImpl.(0) in FooImpl occurrences = 1 FooImpl.TITLE in FooImpl occurrences = 1 FooImpl.getSomeText(0) in FooImpl occurrences = 1 -java.lang.Object.(0) in Bar FooImpl occurrences = 2 java.lang.String in Foo FooImpl occurrences = 3 Class Definitions: diff --git a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/afterSecondMakeIndex.txt b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/afterSecondMakeIndex.txt index 2ccb8de727a5..0cd3a9cd7048 100644 --- a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/afterSecondMakeIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/afterSecondMakeIndex.txt @@ -3,15 +3,12 @@ java.lang.Object -> Bar FooImpl Backward References: Bar in Bar occurrences = 1 -Bar.(0) in Bar occurrences = 1 Bar.m(1) in Bar occurrences = 1 Foo in Foo occurrences = 1 Foo.getSomeText(0) in Foo occurrences = 1 FooImpl in Bar FooImpl occurrences = 2 -FooImpl.(0) in FooImpl occurrences = 1 FooImpl.TITLE in FooImpl occurrences = 1 FooImpl.getSomeText(0) in FooImpl occurrences = 1 -java.lang.Object.(0) in Bar FooImpl occurrences = 2 java.lang.String in Foo FooImpl occurrences = 3 Class Definitions: diff --git a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/initialIndex.txt index dca77e971ea2..8cc17df3b835 100644 --- a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate/initialIndex.txt @@ -4,16 +4,13 @@ java.lang.Object -> Bar FooImpl Backward References: Bar in Bar occurrences = 1 -Bar.(0) in Bar occurrences = 1 Bar.m(1) in Bar occurrences = 1 Foo in Foo FooImpl occurrences = 2 Foo.getSomeText(0) in Foo occurrences = 1 FooImpl in Bar FooImpl occurrences = 3 -FooImpl.(0) in FooImpl occurrences = 1 FooImpl.TITLE in Bar FooImpl occurrences = 2 FooImpl.getSomeText(0) in Bar FooImpl occurrences = 2 java.io.PrintStream.println(1) in Bar occurrences = 2 -java.lang.Object.(0) in Bar FooImpl occurrences = 2 java.lang.String in Foo FooImpl occurrences = 3 java.lang.System in Bar occurrences = 2 java.lang.System.out in Bar occurrences = 2 diff --git a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/after1MakeIndex.txt b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/after1MakeIndex.txt index b29fe28f6b0a..00efd14dd7d0 100644 --- a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/after1MakeIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/after1MakeIndex.txt @@ -3,9 +3,7 @@ java.lang.Object -> Foo Backward References: Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 1 java.util.Collections in Foo occurrences = 2 java.util.Collections.emptySet(0) in Foo occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/after2MakeIndex.txt b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/after2MakeIndex.txt index 75601b5a114e..e7d0ebf0754c 100644 --- a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/after2MakeIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/after2MakeIndex.txt @@ -3,9 +3,7 @@ java.lang.Object -> Foo Backward References: Foo in Bar occurrences = 1 -Foo.(0) in Bar occurrences = 1 Foo.m(0) in Bar occurrences = 1 -java.lang.Object.(0) in Bar occurrences = 1 java.util.Collections in Bar occurrences = 2 java.util.Collections.emptySet(0) in Bar occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/initialIndex.txt index 2b29bc5b29b2..f65e631d1327 100644 --- a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate2/initialIndex.txt @@ -4,9 +4,7 @@ java.util.List -> Foo Backward References: Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 1 java.util.Collections in Foo occurrences = 2 java.util.Collections.emptyList(0) in Foo occurrences = 1 java.util.List in Foo occurrences = 2 diff --git a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate3/after1MakeIndex.txt b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate3/after1MakeIndex.txt index 1319fd901294..5673302e01a0 100644 --- a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate3/after1MakeIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate3/after1MakeIndex.txt @@ -3,12 +3,9 @@ java.lang.Object -> Bar Foo Backward References: Bar in Bar occurrences = 1 -Bar.(0) in Bar occurrences = 1 Bar.m(0) in Bar occurrences = 1 Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Bar Foo occurrences = 2 java.util.Collections in Bar Foo occurrences = 4 java.util.Collections.emptyList(0) in Foo occurrences = 1 java.util.Collections.emptySet(0) in Bar occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate3/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate3/initialIndex.txt index da5593deeb13..951f485411cd 100644 --- a/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate3/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/incrementalIndexUpdate3/initialIndex.txt @@ -3,12 +3,9 @@ java.lang.Object -> Bar Foo Backward References: Bar in Foo occurrences = 1 -Bar.(0) in Foo occurrences = 1 Bar.m(0) in Foo occurrences = 1 Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 2 java.util.Collections in Foo occurrences = 3 java.util.Collections.emptyList(0) in Foo occurrences = 1 java.util.Collections.emptySet(0) in Foo occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/multiFileMultiUnitCompilation/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/multiFileMultiUnitCompilation/initialIndex.txt index d500ccab35a2..f0903b40caad 100644 --- a/jps/jps-builders/testData/referencesIndex/multiFileMultiUnitCompilation/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/multiFileMultiUnitCompilation/initialIndex.txt @@ -7,24 +7,23 @@ java.lang.Object -> Foo0 Backward References: Bar0 in Bar Boo Foo occurrences = 4 -Bar0.(0) in Bar Boo Foo occurrences = 3 +Bar0.(0) in Foo occurrences = 1 Bar0.mm(0) in Bar Foo occurrences = 2 Bar1 in Bar Boo occurrences = 3 -Bar1.(0) in Bar Boo occurrences = 2 +Bar1.(0) in Boo occurrences = 1 Bar1.mm(0) in Bar Boo occurrences = 2 Boo0 in Bar Boo Foo occurrences = 4 -Boo0.(0) in Bar Boo Foo occurrences = 3 +Boo0.(0) in Foo occurrences = 1 Boo0.mm(0) in Boo Foo occurrences = 2 Boo1 in Bar Boo occurrences = 3 -Boo1.(0) in Bar Boo occurrences = 2 +Boo1.(0) in Bar occurrences = 1 Boo1.mm(0) in Bar Boo occurrences = 2 Foo0 in Bar Foo occurrences = 5 -Foo0.(0) in Bar Foo occurrences = 4 +Foo0.(0) in Bar occurrences = 1 Foo0.mm(0) in Bar Foo occurrences = 2 Foo1 in Boo Foo occurrences = 4 -Foo1.(0) in Boo Foo occurrences = 3 +Foo1.(0) in Boo occurrences = 1 Foo1.mm(0) in Boo Foo occurrences = 2 -java.lang.Object.(0) in Foo occurrences = 1 Class Definitions: Bar0 in Bar diff --git a/jps/jps-builders/testData/referencesIndex/nestedClasses/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/nestedClasses/initialIndex.txt index 3d13ebd3d18e..00eb570cc667 100644 --- a/jps/jps-builders/testData/referencesIndex/nestedClasses/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/nestedClasses/initialIndex.txt @@ -4,17 +4,12 @@ java.lang.Object -> Boo Boo$Baz Foo Foo$Bar Backward References: Boo in Foo occurrences = 1 Boo$Baz in Foo occurrences = 1 -Boo$Baz.(0) in Foo occurrences = 1 Boo$Baz.m(0) in Foo occurrences = 1 -Boo.(0) in Foo occurrences = 1 Boo.m(0) in Foo occurrences = 1 Foo in Foo occurrences = 1 Foo$Bar in Foo occurrences = 1 -Foo$Bar.(0) in Foo occurrences = 1 Foo$Bar.m(0) in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 4 java.util.Collections in Foo occurrences = 5 java.util.Collections.emptyList(0) in Foo occurrences = 1 java.util.Collections.emptyMap(0) in Foo occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/occurrences/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/occurrences/initialIndex.txt index a7f254ec913e..7ae978509c09 100644 --- a/jps/jps-builders/testData/referencesIndex/occurrences/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/occurrences/initialIndex.txt @@ -3,14 +3,12 @@ java.lang.Object -> Bar Foo Backward References: Bar in Bar Foo occurrences = 2 -Bar.(0) in Bar Foo occurrences = 2 +Bar.(0) in Foo occurrences = 1 Bar.m(0) in Bar occurrences = 1 Bar.xxx in Bar Foo occurrences = 2 Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(0) in Foo occurrences = 1 java.io.PrintStream.println(0) in Foo occurrences = 3 -java.lang.Object.(0) in Bar Foo occurrences = 2 java.lang.System in Foo occurrences = 3 java.lang.System.out in Foo occurrences = 3 java.util.ArrayList in Bar Foo occurrences = 8 diff --git a/jps/jps-builders/testData/referencesIndex/packageInfo/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/packageInfo/initialIndex.txt index 6b8e3fea813f..5878224d36a3 100644 --- a/jps/jps-builders/testData/referencesIndex/packageInfo/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/packageInfo/initialIndex.txt @@ -3,9 +3,7 @@ java.lang.Object -> myPackage.A Backward References: java.lang.Deprecated in package-info occurrences = 1 -java.lang.Object.(0) in package-info occurrences = 1 myPackage.A in package-info occurrences = 1 -myPackage.A.(0) in package-info occurrences = 1 Class Definitions: myPackage.A in package-info diff --git a/jps/jps-builders/testData/referencesIndex/parameterlessExplicitConstructor/Foo.java b/jps/jps-builders/testData/referencesIndex/parameterlessExplicitConstructor/Foo.java new file mode 100644 index 000000000000..08ca46aa12ed --- /dev/null +++ b/jps/jps-builders/testData/referencesIndex/parameterlessExplicitConstructor/Foo.java @@ -0,0 +1,7 @@ +class Foo { + + Foo() { + System.out.println(123); + } + +} \ No newline at end of file diff --git a/jps/jps-builders/testData/referencesIndex/privateMembers/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/privateMembers/initialIndex.txt index 27ed3a0de8e9..5c06369a9305 100644 --- a/jps/jps-builders/testData/referencesIndex/privateMembers/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/privateMembers/initialIndex.txt @@ -3,8 +3,6 @@ java.lang.Object -> PrivateMembers PrivateMembers$PrivateInnerClass Backward References: PrivateMembers in PrivateMembers occurrences = 1 -PrivateMembers.(0) in PrivateMembers occurrences = 1 -java.lang.Object.(0) in PrivateMembers occurrences = 2 Class Definitions: PrivateMembers in PrivateMembers diff --git a/jps/jps-builders/testData/referencesIndex/qualifierResolution/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/qualifierResolution/initialIndex.txt index a1ebcd62e046..714c969d2c23 100644 --- a/jps/jps-builders/testData/referencesIndex/qualifierResolution/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/qualifierResolution/initialIndex.txt @@ -4,14 +4,10 @@ java.util.ArrayList -> ArrayListImpl Backward References: ArrayListImpl in Foo occurrences = 2 -ArrayListImpl.(0) in Foo occurrences = 1 ArrayListImpl.size(0) in Foo occurrences = 1 Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.m(1) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 1 java.util.ArrayList in Foo occurrences = 1 -java.util.ArrayList.(0) in Foo occurrences = 1 Class Definitions: ArrayListImpl in Foo diff --git a/jps/jps-builders/testData/referencesIndex/signatureDataIndex/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/signatureDataIndex/initialIndex.txt index b7d25e8851c0..f5e859254086 100644 --- a/jps/jps-builders/testData/referencesIndex/signatureDataIndex/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/signatureDataIndex/initialIndex.txt @@ -3,7 +3,6 @@ java.lang.Object -> Foo Backward References: Foo in Foo occurrences = 1 -Foo.(0) in Foo occurrences = 1 Foo.f1 in Foo occurrences = 1 Foo.f2 in Foo occurrences = 1 Foo.f3 in Foo occurrences = 1 @@ -12,7 +11,6 @@ Foo.m1(0) in Foo occurrences = 1 Foo.m2(0) in Foo occurrences = 1 Foo.m3(0) in Foo occurrences = 1 Foo.m4(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 1 java.lang.String in Foo occurrences = 6 java.util.List in Foo occurrences = 5 diff --git a/jps/jps-builders/testData/referencesIndex/staticallyImportedConstant/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/staticallyImportedConstant/initialIndex.txt index 724fe5979e60..cf96c7547613 100644 --- a/jps/jps-builders/testData/referencesIndex/staticallyImportedConstant/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/staticallyImportedConstant/initialIndex.txt @@ -3,11 +3,9 @@ java.lang.Object -> pack.Bar Backward References: java.io.PrintStream.println(1) in Bar occurrences = 1 -java.lang.Object.(0) in Bar occurrences = 1 java.lang.System in Bar occurrences = 1 java.lang.System.out in Bar occurrences = 1 pack.Bar in Bar occurrences = 1 -pack.Bar.(0) in Bar occurrences = 1 pack.Bar.m(0) in Bar occurrences = 1 pack.Foo in Bar Foo occurrences = 2 pack.Foo.CONST in Bar Foo occurrences = 2 diff --git a/jps/jps-builders/testData/referencesIndex/typeParameterRefs/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/typeParameterRefs/initialIndex.txt index 7938734e6911..f9401ccd8aab 100644 --- a/jps/jps-builders/testData/referencesIndex/typeParameterRefs/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/typeParameterRefs/initialIndex.txt @@ -3,9 +3,7 @@ java.lang.Object -> TypeParam Backward References: TypeParam in TypeParam occurrences = 1 -TypeParam.(0) in TypeParam occurrences = 1 TypeParam.method(1) in TypeParam occurrences = 1 -java.lang.Object.(0) in TypeParam occurrences = 1 java.lang.String in TypeParam occurrences = 1 java.util.List in TypeParam occurrences = 2 diff --git a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution/initialIndex.txt index 45e540e8487b..21b28e425329 100644 --- a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution/initialIndex.txt @@ -4,11 +4,8 @@ java.lang.Object -> A A$B Backward References: A in Foo occurrences = 1 A$B in Foo occurrences = 1 -A$B.(0) in Foo occurrences = 1 A$B.hashCode(0) in Foo occurrences = 1 A$B.m(0) in Foo occurrences = 1 -A.(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 2 Class Definitions: A in Foo diff --git a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution2/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution2/initialIndex.txt index afde15668d27..4253bdd2967e 100644 --- a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution2/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution2/initialIndex.txt @@ -4,11 +4,8 @@ java.lang.Object -> A A$B Backward References: A in Foo occurrences = 1 A$B in Foo occurrences = 1 -A$B.(0) in Foo occurrences = 1 A$B.m(0) in Foo occurrences = 1 -A.(0) in Foo occurrences = 1 A.xxxx(0) in Foo occurrences = 2 -java.lang.Object.(0) in Foo occurrences = 2 Class Definitions: A in Foo diff --git a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution3/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution3/initialIndex.txt index 3e5b14796cf9..8f8b697deaa0 100644 --- a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution3/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution3/initialIndex.txt @@ -4,11 +4,8 @@ java.lang.Runnable -> anonymous(id=0) Backward References: A in Foo occurrences = 1 -A.(0) in Foo occurrences = 1 A.mmmm(0) in Foo occurrences = 2 -java.lang.Object.(0) in Foo occurrences = 2 java.lang.Runnable in Foo occurrences = 2 -java.lang.Runnable.(0) in Foo occurrences = 1 java.lang.Runnable.run(0) in Foo occurrences = 1 Class Definitions: diff --git a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution4/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution4/initialIndex.txt index 2a2e01cc960a..68913db8b735 100644 --- a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution4/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution4/initialIndex.txt @@ -4,11 +4,8 @@ java.lang.Runnable -> anonymous(id=0) Backward References: A in Foo occurrences = 1 -A.(0) in Foo occurrences = 1 A.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 2 java.lang.Runnable in Foo occurrences = 2 -java.lang.Runnable.(0) in Foo occurrences = 1 java.lang.Runnable.run(0) in Foo occurrences = 2 Class Definitions: diff --git a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution5/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution5/initialIndex.txt index 5fab1be47c80..1cf1b8d8551b 100644 --- a/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution5/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/unqualifiedMethodCallResolution5/initialIndex.txt @@ -4,11 +4,8 @@ java.lang.Runnable -> anonymous(id=0) Backward References: A in Foo occurrences = 1 -A.(0) in Foo occurrences = 1 A.m(0) in Foo occurrences = 1 -java.lang.Object.(0) in Foo occurrences = 2 java.lang.Runnable in Foo occurrences = 2 -java.lang.Runnable.(0) in Foo occurrences = 1 java.lang.Runnable.run(0) in Foo occurrences = 1 Class Definitions: diff --git a/jps/jps-builders/testData/referencesIndex/unusedImports/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/unusedImports/initialIndex.txt index 51047907b816..cf9230359e67 100644 --- a/jps/jps-builders/testData/referencesIndex/unusedImports/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/unusedImports/initialIndex.txt @@ -3,8 +3,6 @@ java.lang.Object -> Bar Backward References: Bar in Bar occurrences = 1 -Bar.(0) in Bar occurrences = 1 -java.lang.Object.(0) in Bar occurrences = 1 java.util.ArrayList in Bar occurrences = 1 java.util.Collections in Bar occurrences = 2 java.util.Collections.EMPTY_LIST in Bar occurrences = 1 diff --git a/jps/jps-builders/testData/referencesIndex/unusedImports2/initialIndex.txt b/jps/jps-builders/testData/referencesIndex/unusedImports2/initialIndex.txt index d8099768941b..43f5affb0760 100644 --- a/jps/jps-builders/testData/referencesIndex/unusedImports2/initialIndex.txt +++ b/jps/jps-builders/testData/referencesIndex/unusedImports2/initialIndex.txt @@ -3,28 +3,18 @@ java.lang.Object -> Main com.ru.Some com.ru.Some$I1 com.ru.Some$I1$I2 com.ru.Som Backward References: Main in Main occurrences = 1 -Main.(0) in Main occurrences = 1 Main.main(1) in Main occurrences = 1 com.ru.Some in Main Some occurrences = 2 com.ru.Some$I1 in Main Some occurrences = 2 com.ru.Some$I1$I2 in Main Some occurrences = 2 com.ru.Some$I1$I2$I3 in Main Some occurrences = 2 -com.ru.Some$I1$I2$I3.(0) in Some occurrences = 1 -com.ru.Some$I1$I2.(0) in Some occurrences = 1 -com.ru.Some$I1.(0) in Some occurrences = 1 -com.ru.Some.(0) in Some occurrences = 1 com.ru.Some2 in Main Some2 occurrences = 2 com.ru.Some2$I1 in Main Some2 occurrences = 2 com.ru.Some2$I1$I2 in Main Some2 occurrences = 2 -com.ru.Some2$I1$I2.(0) in Some2 occurrences = 1 com.ru.Some2$I1$I2.utilityMethod(0) in Main Some2 occurrences = 2 com.ru.Some2$I1$I2.utilityMethod(1) in Main Some2 occurrences = 2 -com.ru.Some2$I1.(0) in Some2 occurrences = 1 -com.ru.Some2.(0) in Some2 occurrences = 1 com.ru.Some3 in Main Some3 occurrences = 2 -com.ru.Some3.(0) in Some3 occurrences = 1 com.ru.Some3.CONST in Main Some3 occurrences = 2 -java.lang.Object.(0) in Main Some Some2 Some3 occurrences = 9 java.lang.String in Main occurrences = 1 Class Definitions: diff --git a/jps/jps-builders/testSrc/org/jetbrains/references/ReferenceIndexTest.kt b/jps/jps-builders/testSrc/org/jetbrains/references/ReferenceIndexTest.kt index 76393fb32f9a..8840c7503136 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/references/ReferenceIndexTest.kt +++ b/jps/jps-builders/testSrc/org/jetbrains/references/ReferenceIndexTest.kt @@ -169,5 +169,17 @@ class ReferenceIndexTest : ReferenceIndexTestBase() { fun testSignatureDataIndex() { assertIndexOnRebuild("Foo.java") } + + fun testClassWithModifiers() { + assertIndexOnRebuild("Foo.java") + } + + fun testParameterlessExplicitConstructor() { + assertIndexOnRebuild("Foo.java") + } + + fun testDefaultConstructorUsage() { + assertIndexOnRebuild("Foo.java") + } }