From ef9d9c308f9969e7e03208219785105237e449b6 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 1 Aug 2010 00:20:07 +0100 Subject: [PATCH] sorry, *ElementTypes classes register their (stub) element types as a side effect, which is then used by stub serializer --- .../src/com/intellij/lang/java/JavaParserDefinition.java | 7 ++----- .../intellij/psi/impl/java/stubs/JavaStubElementTypes.java | 2 ++ .../psi/impl/java/stubs/impl/PsiJavaFileStubImpl.java | 3 +-- .../src/com/intellij/psi/impl/source/PsiJavaFileImpl.java | 4 ++-- .../com/intellij/psi/impl/source/tree/JavaASTFactory.java | 4 ++-- .../com/intellij/psi/impl/source/tree/JavaElementType.java | 7 ++----- .../psi/impl/source/tree/java/JavaFileElement.java | 4 ++-- 7 files changed, 13 insertions(+), 18 deletions(-) diff --git a/java/java-impl/src/com/intellij/lang/java/JavaParserDefinition.java b/java/java-impl/src/com/intellij/lang/java/JavaParserDefinition.java index 9e877182a462..b6ce684ffcab 100644 --- a/java/java-impl/src/com/intellij/lang/java/JavaParserDefinition.java +++ b/java/java-impl/src/com/intellij/lang/java/JavaParserDefinition.java @@ -26,12 +26,11 @@ import com.intellij.openapi.roots.LanguageLevelProjectExtension; import com.intellij.pom.java.LanguageLevel; import com.intellij.psi.*; import com.intellij.psi.impl.java.stubs.JavaStubElementType; -import com.intellij.psi.impl.source.JavaFileElementType; +import com.intellij.psi.impl.java.stubs.JavaStubElementTypes; import com.intellij.psi.impl.source.PsiJavaFileImpl; import com.intellij.psi.impl.source.tree.JavaElementType; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.IFileElementType; -import com.intellij.psi.tree.IStubFileElementType; import com.intellij.psi.tree.TokenSet; import com.intellij.psi.util.PsiUtil; import org.jetbrains.annotations.NotNull; @@ -41,8 +40,6 @@ import org.jetbrains.annotations.NotNull; */ public class JavaParserDefinition implements ParserDefinition { - public static final IStubFileElementType JAVA_FILE = new JavaFileElementType(); - @NotNull public Lexer createLexer(Project project) { return new JavaLexer(LanguageLevelProjectExtension.getInstance(project).getLanguageLevel()); @@ -54,7 +51,7 @@ public class JavaParserDefinition implements ParserDefinition { } public IFileElementType getFileNodeType() { - return JAVA_FILE; + return JavaStubElementTypes.JAVA_FILE; } @NotNull diff --git a/java/java-impl/src/com/intellij/psi/impl/java/stubs/JavaStubElementTypes.java b/java/java-impl/src/com/intellij/psi/impl/java/stubs/JavaStubElementTypes.java index 5cb8c67820d1..1356956b46fd 100644 --- a/java/java-impl/src/com/intellij/psi/impl/java/stubs/JavaStubElementTypes.java +++ b/java/java-impl/src/com/intellij/psi/impl/java/stubs/JavaStubElementTypes.java @@ -20,6 +20,7 @@ package com.intellij.psi.impl.java.stubs; import com.intellij.psi.impl.source.JavaFileElementType; +import com.intellij.psi.tree.IStubFileElementType; public class JavaStubElementTypes { public static final JavaClassElementType CLASS = new JavaClassElementType("CLASS"); @@ -46,4 +47,5 @@ public class JavaStubElementTypes { public static final JavaImportListElementType IMPORT_LIST = new JavaImportListElementType(); public static final JavaImportStatementElementType IMPORT_STATEMENT = new JavaImportStatementElementType("IMPORT_STATEMENT"); public static final JavaImportStatementElementType IMPORT_STATIC_STATEMENT = new JavaImportStatementElementType("IMPORT_STATIC_STATEMENT"); + public static final IStubFileElementType JAVA_FILE = new JavaFileElementType(); } \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiJavaFileStubImpl.java b/java/java-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiJavaFileStubImpl.java index 1c003433c94c..5b603539f2a9 100644 --- a/java/java-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiJavaFileStubImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiJavaFileStubImpl.java @@ -19,7 +19,6 @@ */ package com.intellij.psi.impl.java.stubs.impl; -import com.intellij.lang.java.JavaParserDefinition; import com.intellij.psi.PsiJavaFile; import com.intellij.psi.PsiClass; import com.intellij.psi.impl.java.stubs.JavaStubElementTypes; @@ -61,7 +60,7 @@ public class PsiJavaFileStubImpl extends PsiFileStubImpl implements } public IStubFileElementType getType() { - return JavaParserDefinition.JAVA_FILE; + return JavaStubElementTypes.JAVA_FILE; } @SuppressWarnings({"HardCodedStringLiteral"}) diff --git a/java/java-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java b/java/java-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java index b28900ae348f..7dd47f61f9b0 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java @@ -15,7 +15,6 @@ */ package com.intellij.psi.impl.source; -import com.intellij.lang.java.JavaParserDefinition; import com.intellij.lexer.JavaLexer; import com.intellij.lexer.Lexer; import com.intellij.openapi.fileTypes.FileType; @@ -27,6 +26,7 @@ import com.intellij.psi.FileViewProvider; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiElementFactory; import com.intellij.psi.PsiPackageStatement; +import com.intellij.psi.impl.java.stubs.JavaStubElementTypes; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.util.IncorrectOperationException; import com.intellij.testFramework.LightVirtualFile; @@ -34,7 +34,7 @@ import org.jetbrains.annotations.NotNull; public class PsiJavaFileImpl extends PsiJavaFileBaseImpl { public PsiJavaFileImpl(FileViewProvider file) { - super(JavaParserDefinition.JAVA_FILE, JavaParserDefinition.JAVA_FILE, file); + super(JavaStubElementTypes.JAVA_FILE, JavaStubElementTypes.JAVA_FILE, file); } public String toString(){ diff --git a/java/java-impl/src/com/intellij/psi/impl/source/tree/JavaASTFactory.java b/java/java-impl/src/com/intellij/psi/impl/source/tree/JavaASTFactory.java index 50b30fb170d9..916dbe16cef6 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/tree/JavaASTFactory.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/tree/JavaASTFactory.java @@ -20,8 +20,8 @@ package com.intellij.psi.impl.source.tree; import com.intellij.lang.ASTFactory; -import com.intellij.lang.java.JavaParserDefinition; import com.intellij.psi.PlainTextTokenTypes; +import com.intellij.psi.impl.java.stubs.JavaStubElementTypes; import com.intellij.psi.impl.source.*; import com.intellij.psi.impl.source.javadoc.*; import com.intellij.psi.impl.source.tree.java.*; @@ -35,7 +35,7 @@ public class JavaASTFactory extends ASTFactory implements Constants { @Override public LazyParseableElement createLazy(ILazyParseableElementType type, CharSequence text) { - if (type == JavaParserDefinition.JAVA_FILE) { + if (type == JavaStubElementTypes.JAVA_FILE) { return new JavaFileElement(text); } else if (type == PlainTextTokenTypes.PLAIN_TEXT_FILE) { diff --git a/java/java-impl/src/com/intellij/psi/impl/source/tree/JavaElementType.java b/java/java-impl/src/com/intellij/psi/impl/source/tree/JavaElementType.java index e750cdb0dd88..0a33cb21bb80 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/tree/JavaElementType.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/tree/JavaElementType.java @@ -24,15 +24,12 @@ import com.intellij.pom.java.LanguageLevel; import com.intellij.psi.JavaTokenType; import com.intellij.psi.PsiManager; import com.intellij.psi.impl.java.stubs.JavaStubElementTypes; +import com.intellij.psi.impl.source.JavaFileElementType; import com.intellij.psi.impl.source.parsing.JavaParsingContext; import com.intellij.psi.impl.source.parsing.Parsing; import com.intellij.psi.impl.source.tree.java.PsiCodeBlockImpl; import com.intellij.psi.text.BlockSupport; -import com.intellij.psi.tree.IElementType; -import com.intellij.psi.tree.IErrorCounterReparseableElementType; -import com.intellij.psi.tree.IFileElementType; -import com.intellij.psi.tree.ILazyParseableElementType; -import com.intellij.psi.tree.TokenSet; +import com.intellij.psi.tree.*; import com.intellij.psi.tree.java.IJavaElementType; import com.intellij.psi.util.PsiUtil; import com.intellij.util.CharTable; diff --git a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/JavaFileElement.java b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/JavaFileElement.java index 0879c166d09a..cd9472e8b1f4 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/JavaFileElement.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/JavaFileElement.java @@ -16,9 +16,9 @@ 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.impl.java.stubs.JavaStubElementTypes; import com.intellij.psi.impl.source.Constants; import com.intellij.psi.impl.source.SourceTreeToPsiMap; import com.intellij.psi.impl.source.tree.ChildRole; @@ -34,7 +34,7 @@ public class JavaFileElement extends FileElement implements Constants { private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.source.tree.java.JavaFileElement"); public JavaFileElement(CharSequence text) { - super(JavaParserDefinition.JAVA_FILE, text); + super(JavaStubElementTypes.JAVA_FILE, text); } public TreeElement addInternal(TreeElement first, ASTNode last, ASTNode anchor, Boolean before) {