don't load all java stub element types when all we need is FILE

This commit is contained in:
peter
2018-12-03 08:30:18 +01:00
parent d82a6e8b5e
commit 2a441cc9a1
7 changed files with 18 additions and 14 deletions
@@ -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<Int, PropertyIndexValue>
override fun getName(): ID<Int, PropertyIndexValue> = 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
@@ -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<JavaNullMe
return new DefaultFileTypeSpecificInputFilter(JavaFileType.INSTANCE) {
@Override
public boolean acceptInput(@NotNull VirtualFile file) {
return JavaStubElementTypes.JAVA_FILE.shouldBuildStubFor(file);
return JavaParserDefinition.JAVA_FILE.shouldBuildStubFor(file);
}
};
}
@@ -151,5 +151,6 @@ public interface JavaStubElementTypes {
}
};
@Deprecated
IStubFileElementType JAVA_FILE = JavaParserDefinition.JAVA_FILE;
}
@@ -15,6 +15,7 @@
*/
package com.intellij.psi.impl.java.stubs.impl;
import com.intellij.lang.java.JavaParserDefinition;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiJavaFile;
@@ -49,7 +50,7 @@ public class PsiJavaFileStubImpl extends PsiFileStubImpl<PsiJavaFile> implements
@NotNull
@Override
public IStubFileElementType getType() {
return JavaStubElementTypes.JAVA_FILE;
return JavaParserDefinition.JAVA_FILE;
}
@NotNull
@@ -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
@@ -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
@@ -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);