diff --git a/java/java-impl/src/com/intellij/spi/parsing/SPIParserDefinition.java b/java/java-impl/src/com/intellij/spi/parsing/SPIParserDefinition.java index c29f33133aec..3c7b587947a0 100644 --- a/java/java-impl/src/com/intellij/spi/parsing/SPIParserDefinition.java +++ b/java/java-impl/src/com/intellij/spi/parsing/SPIParserDefinition.java @@ -8,13 +8,11 @@ import com.intellij.lang.PsiBuilder; import com.intellij.lang.PsiParser; import com.intellij.lang.spi.SPILanguage; import com.intellij.lexer.Lexer; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.psi.FileViewProvider; import com.intellij.psi.JavaTokenType; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; -import com.intellij.psi.TokenType; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.IFileElementType; import com.intellij.psi.tree.TokenSet; @@ -26,10 +24,8 @@ import com.intellij.spi.psi.SPIPackageOrClassReferenceElement; import org.jetbrains.annotations.NotNull; public final class SPIParserDefinition implements ParserDefinition { - public static final IFileElementType SPI_FILE_ELEMENT_TYPE = new IFileElementType(SPILanguage.INSTANCE); - private static final TokenSet WHITE_SPACES = TokenSet.create(TokenType.WHITE_SPACE); - private static final Logger LOG = Logger.getInstance(SPIParserDefinition.class); + public static final IFileElementType SPI_FILE_ELEMENT_TYPE = new IFileElementType(SPILanguage.INSTANCE); @Override public @NotNull Lexer createLexer(Project project) { @@ -40,7 +36,7 @@ public final class SPIParserDefinition implements ParserDefinition { public @NotNull PsiParser createParser(Project project) { return new PsiParser() { @Override - public @NotNull ASTNode parse(IElementType root, PsiBuilder builder) { + public @NotNull ASTNode parse(@NotNull IElementType root, @NotNull PsiBuilder builder) { final PsiBuilder.Marker rootMarker = builder.mark(); final PsiBuilder.Marker propertiesList = builder.mark(); while (!builder.eof()) { @@ -58,11 +54,6 @@ public final class SPIParserDefinition implements ParserDefinition { return SPI_FILE_ELEMENT_TYPE; } - @Override - public @NotNull TokenSet getWhitespaceTokens() { - return WHITE_SPACES; - } - @Override public @NotNull TokenSet getCommentTokens() { return TokenSet.create(JavaTokenType.END_OF_LINE_COMMENT); @@ -111,7 +102,7 @@ public final class SPIParserDefinition implements ParserDefinition { } } - private static void parseProviderChar(final PsiBuilder builder, PsiBuilder.Marker pack) { + public static void parseProviderChar(final PsiBuilder builder, PsiBuilder.Marker pack) { builder.advanceLexer(); final IElementType tokenType = builder.getTokenType(); if (tokenType == JavaTokenType.DOT || tokenType == SPITokenType.DOLLAR) { diff --git a/java/java-impl/src/com/intellij/spi/psi/SPIFile.java b/java/java-impl/src/com/intellij/spi/psi/SPIFile.java index b8fb125adae5..80ac2584e4e2 100644 --- a/java/java-impl/src/com/intellij/spi/psi/SPIFile.java +++ b/java/java-impl/src/com/intellij/spi/psi/SPIFile.java @@ -2,6 +2,7 @@ package com.intellij.spi.psi; import com.intellij.extapi.psi.PsiFileBase; +import com.intellij.lang.Language; import com.intellij.lang.spi.SPILanguage; import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.fileTypes.FileType; @@ -26,8 +27,13 @@ import java.util.ArrayList; import java.util.List; public class SPIFile extends PsiFileBase { + + protected SPIFile(@NotNull FileViewProvider viewProvider, Language language) { + super(viewProvider, language); + } + public SPIFile(@NotNull FileViewProvider viewProvider) { - super(viewProvider, SPILanguage.INSTANCE); + this(viewProvider, SPILanguage.INSTANCE); } @Override diff --git a/java/java-psi-api/src/com/intellij/lang/spi/SPILanguage.java b/java/java-psi-api/src/com/intellij/lang/spi/SPILanguage.java index fbbc0418706f..b95cfa9d03b2 100644 --- a/java/java-psi-api/src/com/intellij/lang/spi/SPILanguage.java +++ b/java/java-psi-api/src/com/intellij/lang/spi/SPILanguage.java @@ -19,10 +19,12 @@ import com.intellij.lang.Language; public class SPILanguage extends Language { public static final SPILanguage INSTANCE = new SPILanguage(); - - protected SPILanguage() { - super("SPI"); + + protected SPILanguage(String id) { + super(id); } - + protected SPILanguage() { + this("SPI"); + } }