From 2a441cc9a1f40bcda57d3703fe63fb25714df910 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 3 Dec 2018 08:24:53 +0100 Subject: [PATCH] don't load all java stub element types when all we need is FILE --- .../com/intellij/psi/impl/JavaSimplePropertyIndex.kt | 3 ++- .../psi/impl/search/JavaNullMethodArgumentIndex.java | 4 ++-- .../psi/impl/java/stubs/JavaStubElementTypes.java | 1 + .../psi/impl/java/stubs/impl/PsiJavaFileStubImpl.java | 3 ++- .../com/intellij/psi/impl/source/PsiJavaFileImpl.java | 7 ++++--- .../psi/impl/source/tree/java/JavaFileElement.java | 4 ++-- .../testSrc/com/intellij/java/psi/PsiBuilderTest.java | 10 +++++----- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/JavaSimplePropertyIndex.kt b/java/java-indexing-impl/src/com/intellij/psi/impl/JavaSimplePropertyIndex.kt index fd805d1137db..7dec7d0d74f3 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/JavaSimplePropertyIndex.kt +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/JavaSimplePropertyIndex.kt @@ -3,6 +3,7 @@ package com.intellij.psi.impl import com.intellij.ide.highlighter.JavaFileType import com.intellij.lang.LighterASTNode +import com.intellij.lang.java.JavaParserDefinition import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.JavaPsiFacade @@ -193,7 +194,7 @@ class JavaSimplePropertyIndex : FileBasedIndexExtension override fun getName(): ID = indexId override fun getInputFilter(): FileBasedIndex.InputFilter = object : DefaultFileTypeSpecificInputFilter(JavaFileType.INSTANCE) { - override fun acceptInput(file: VirtualFile): Boolean = JavaStubElementTypes.JAVA_FILE.shouldBuildStubFor(file) + override fun acceptInput(file: VirtualFile): Boolean = JavaParserDefinition.JAVA_FILE.shouldBuildStubFor(file) } override fun dependsOnFileContent(): Boolean = true diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaNullMethodArgumentIndex.java b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaNullMethodArgumentIndex.java index 96c9c7b287f7..99e1fb8eb884 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaNullMethodArgumentIndex.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaNullMethodArgumentIndex.java @@ -4,12 +4,12 @@ package com.intellij.psi.impl.search; import com.intellij.ide.highlighter.JavaFileType; import com.intellij.lang.LighterAST; import com.intellij.lang.LighterASTNode; +import com.intellij.lang.java.JavaParserDefinition; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.JavaTokenType; import com.intellij.psi.PsiKeyword; -import com.intellij.psi.impl.java.stubs.JavaStubElementTypes; import com.intellij.psi.impl.source.JavaLightTreeUtil; import com.intellij.psi.impl.source.tree.ElementType; import com.intellij.psi.impl.source.tree.LightTreeUtil; @@ -172,7 +172,7 @@ public class JavaNullMethodArgumentIndex extends ScalarIndexExtension implements @NotNull @Override public IStubFileElementType getType() { - return JavaStubElementTypes.JAVA_FILE; + return JavaParserDefinition.JAVA_FILE; } @NotNull diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java index b30214ecffed..dc7c91234cd0 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java @@ -16,9 +16,10 @@ package com.intellij.psi.impl.source; import com.intellij.ide.highlighter.JavaFileType; +import com.intellij.lang.java.JavaParserDefinition; import com.intellij.openapi.fileTypes.FileType; -import com.intellij.psi.*; -import com.intellij.psi.impl.java.stubs.JavaStubElementTypes; +import com.intellij.psi.FileViewProvider; +import com.intellij.psi.PsiJavaModule; import com.intellij.psi.impl.java.stubs.PsiJavaFileStub; import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.annotations.NotNull; @@ -26,7 +27,7 @@ import org.jetbrains.annotations.Nullable; public class PsiJavaFileImpl extends PsiJavaFileBaseImpl { public PsiJavaFileImpl(FileViewProvider file) { - super(JavaStubElementTypes.JAVA_FILE, JavaStubElementTypes.JAVA_FILE, file); + super(JavaParserDefinition.JAVA_FILE, JavaParserDefinition.JAVA_FILE, file); } @NotNull diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/JavaFileElement.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/JavaFileElement.java index dc2800087289..c4abe03ebf9b 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/JavaFileElement.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/JavaFileElement.java @@ -16,10 +16,10 @@ package com.intellij.psi.impl.source.tree.java; import com.intellij.lang.ASTNode; +import com.intellij.lang.java.JavaParserDefinition; import com.intellij.openapi.diagnostic.Logger; import com.intellij.psi.PsiJavaFile; import com.intellij.psi.TokenType; -import com.intellij.psi.impl.java.stubs.JavaStubElementTypes; import com.intellij.psi.impl.source.SourceTreeToPsiMap; import com.intellij.psi.impl.source.tree.ChildRole; import com.intellij.psi.impl.source.tree.FileElement; @@ -34,7 +34,7 @@ public class JavaFileElement extends FileElement { private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.source.tree.java.JavaFileElement"); public JavaFileElement(CharSequence text) { - super(JavaStubElementTypes.JAVA_FILE, text); + super(JavaParserDefinition.JAVA_FILE, text); } @Override diff --git a/java/java-tests/testSrc/com/intellij/java/psi/PsiBuilderTest.java b/java/java-tests/testSrc/com/intellij/java/psi/PsiBuilderTest.java index 704390980386..dda40eaa7af9 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/PsiBuilderTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/PsiBuilderTest.java @@ -47,7 +47,7 @@ public class PsiBuilderTest extends LightIdeaTestCase { public void testEmptyProgram() { myBuilder = createBuilder(""); final PsiBuilder.Marker fileMarker = myBuilder.mark(); - fileMarker.done(JavaStubElementTypes.JAVA_FILE); + fileMarker.done(JavaParserDefinition.JAVA_FILE); ASTNode fileNode = myBuilder.getTreeBuilt(); assertNotNull(fileNode); assertEquals("", fileNode.getText()); @@ -63,7 +63,7 @@ public class PsiBuilderTest extends LightIdeaTestCase { myBuilder.advanceLexer(); assertTrue(myBuilder.eof()); packageStatementMarker.done(JavaElementType.PACKAGE_STATEMENT); - fileMarker.done(JavaStubElementTypes.JAVA_FILE); + fileMarker.done(JavaParserDefinition.JAVA_FILE); ASTNode fileNode = myBuilder.getTreeBuilt(); assertNotNull(fileNode); @@ -97,7 +97,7 @@ public class PsiBuilderTest extends LightIdeaTestCase { while (!myBuilder.eof()) { myBuilder.advanceLexer(); } - marker.done(JavaStubElementTypes.JAVA_FILE); + marker.done(JavaParserDefinition.JAVA_FILE); assertEquals("foo\n\nx", myBuilder.getTreeBuilt().getText()); } @@ -121,7 +121,7 @@ public class PsiBuilderTest extends LightIdeaTestCase { myBuilder.advanceLexer(); assertTrue(myBuilder.eof()); packageStatementMarker.done(JavaElementType.PACKAGE_STATEMENT); - fileMarker.done(JavaStubElementTypes.JAVA_FILE); + fileMarker.done(JavaParserDefinition.JAVA_FILE); ASTNode fileNode = myBuilder.getTreeBuilt(); assertNotNull(fileNode); @@ -147,7 +147,7 @@ public class PsiBuilderTest extends LightIdeaTestCase { myBuilder.advanceLexer(); assertTrue(myBuilder.eof()); packageStatementMarker.drop(); - fileMarker.done(JavaStubElementTypes.JAVA_FILE); + fileMarker.done(JavaParserDefinition.JAVA_FILE); ASTNode fileNode = myBuilder.getTreeBuilt(); assertNotNull(fileNode);