This commit is contained in:
Alexey Kudravtsev
2017-12-14 14:24:03 +03:00
parent 1bd3f49193
commit 55c60b7d62
14 changed files with 25 additions and 22 deletions
@@ -77,7 +77,7 @@ public class JavaFileElementType extends ILightStubFileElementType<PsiJavaFileSt
}
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
final PsiBuilder builder = JavaParserUtil.createBuilder(chameleon);
doParse(builder);
return builder.getTreeBuilt().getFirstChildNode();
@@ -81,7 +81,7 @@ public interface JavaDocElementType {
@Nullable
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
return JavaParserUtil.parseFragment(chameleon, myParser, false, LanguageLevel.JDK_1_3);
}
};
@@ -96,7 +96,7 @@ public interface JavaDocElementType {
@Nullable
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
return JavaParserUtil.parseFragment(chameleon, myParser, false, LanguageLevel.JDK_1_3);
}
};
@@ -116,7 +116,7 @@ public interface JavaDocElementType {
@Nullable
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
return JavaParserUtil.parseFragment(chameleon, myParser);
}
@@ -164,7 +164,7 @@ public interface JavaElementType {
}
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
final PsiBuilder builder = JavaParserUtil.createBuilder(chameleon);
JavaParser.INSTANCE.getStatementParser().parseCodeBlockDeep(builder, true);
return builder.getTreeBuilt().getFirstChildNode();
@@ -195,7 +195,7 @@ public interface JavaElementType {
@Nullable
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
return JavaParserUtil.parseFragment(chameleon, myParser);
}
};
@@ -210,7 +210,7 @@ public interface JavaElementType {
@Nullable
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
return JavaParserUtil.parseFragment(chameleon, myParser);
}
};
@@ -225,7 +225,7 @@ public interface JavaElementType {
@Nullable
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
return JavaParserUtil.parseFragment(chameleon, myParser);
}
};
@@ -251,7 +251,7 @@ public interface JavaElementType {
@Nullable
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
return JavaParserUtil.parseFragment(chameleon, myParser);
}
}
@@ -269,7 +269,7 @@ public interface JavaElementType {
@Nullable
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
assert chameleon instanceof JavaDummyElement : chameleon;
final JavaDummyElement dummyElement = (JavaDummyElement)chameleon;
return JavaParserUtil.parseFragment(chameleon, dummyElement.getParser(), dummyElement.consumeAll(), dummyElement.getLanguageLevel());
@@ -112,7 +112,7 @@ public abstract class JavaParsingTestCase extends ParsingTestCase {
}
@Override
public ASTNode parseContents(ASTNode chameleon) {
public ASTNode parseContents(@NotNull ASTNode chameleon) {
PsiBuilder builder = createBuilder(chameleon);
PsiBuilder.Marker root = builder.mark();
@@ -43,7 +43,7 @@ public class IFileElementType extends ILazyParseableElementType {
@Nullable
@Override
public ASTNode parseContents(final ASTNode chameleon) {
public ASTNode parseContents(@NotNull final ASTNode chameleon) {
final PsiElement psi = chameleon.getPsi();
assert psi != null : "Bad chameleon: " + chameleon;
return doParseContents(chameleon, psi);
@@ -74,7 +74,7 @@ public class ILazyParseableElementType extends IElementType implements ILazyPars
* @param chameleon the node to parse.
* @return the parsed contents of the node.
*/
public ASTNode parseContents(ASTNode chameleon) {
public ASTNode parseContents(@NotNull ASTNode chameleon) {
PsiElement parentElement = chameleon.getTreeParent().getPsi();
assert parentElement != null : "parent psi is null: " + chameleon;
return doParseContents(chameleon, parentElement);
@@ -16,11 +16,13 @@
package com.intellij.psi.tree;
import com.intellij.lang.ASTNode;
import org.jetbrains.annotations.NotNull;
/**
* An additional interface to be implemented by {@link IElementType} instances for tokens which should be parsed lazily, but
* for some reasons extending {@link ILazyParseableElementType} is impossible.
*/
@FunctionalInterface
public interface ILazyParseableElementTypeBase {
/**
@@ -30,5 +32,5 @@ public interface ILazyParseableElementTypeBase {
* @param chameleon the node to parse.
* @return the parsed contents of the node.
*/
ASTNode parseContents(ASTNode chameleon);
ASTNode parseContents(@NotNull ASTNode chameleon);
}
@@ -39,7 +39,7 @@ import org.jetbrains.annotations.NotNull;
public class PlainTextParserDefinition implements ParserDefinition {
private static final IFileElementType PLAIN_FILE_ELEMENT_TYPE = new IFileElementType(PlainTextFileType.INSTANCE.getLanguage()) {
@Override
public ASTNode parseContents(ASTNode chameleon) {
public ASTNode parseContents(@NotNull ASTNode chameleon) {
final CharSequence chars = chameleon.getChars();
return ASTFactory.leaf(PlainTextTokenTypes.PLAIN_TEXT, chars);
}
@@ -21,11 +21,12 @@ import com.intellij.lang.ASTNode;
import com.intellij.openapi.fileTypes.PlainTextLanguage;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.IFileElementType;
import org.jetbrains.annotations.NotNull;
public class PlainTextTokenTypes {
public static final IElementType PLAIN_TEXT_FILE = new IFileElementType("PLAIN_TEXT_FILE", PlainTextLanguage.INSTANCE) {
@Override
public ASTNode parseContents(ASTNode chameleon) {
public ASTNode parseContents(@NotNull ASTNode chameleon) {
return ASTFactory.leaf(PLAIN_TEXT, chameleon.getChars());
}
};
@@ -72,7 +72,7 @@ public class TemplateDataElementType extends IFileElementType implements ITempla
}
@Override
public ASTNode parseContents(ASTNode chameleon) {
public ASTNode parseContents(@NotNull ASTNode chameleon) {
final CharTable charTable = SharedImplUtil.findCharTableByTree(chameleon);
final FileElement fileElement = TreeUtil.getFileElement((TreeElement)chameleon);
final PsiFile psiFile = (PsiFile)fileElement.getPsi();
@@ -712,7 +712,7 @@ public class PsiBuilderQuickTest extends LightPlatformTestCase {
}
@Override
public ASTNode parseContents(ASTNode chameleon) {
public ASTNode parseContents(@NotNull ASTNode chameleon) {
final PsiBuilder builder = createBuilder(chameleon.getText());
parse(builder);
return builder.getTreeBuilt().getFirstChildNode();
@@ -752,7 +752,7 @@ public class PsiBuilderQuickTest extends LightPlatformTestCase {
}
@Override
public ASTNode parseContents(ASTNode chameleon) {
public ASTNode parseContents(@NotNull ASTNode chameleon) {
final PsiBuilder builder = createBuilder(chameleon.getText());
parse(builder);
return builder.getTreeBuilt().getFirstChildNode();
@@ -44,7 +44,7 @@ public interface GroovyDocElementTypes {
}
@Override
public ASTNode parseContents(ASTNode chameleon) {
public ASTNode parseContents(@NotNull ASTNode chameleon) {
final PsiElement parentElement = chameleon.getTreeParent().getPsi();
final Project project = JavaPsiFacade.getInstance(parentElement.getProject()).getProject();
@@ -63,7 +63,7 @@ public class GroovyDocTagValueTokenType extends GroovyDocChameleonElementType im
}
@Override
public ASTNode parseContents(ASTNode chameleon) {
public ASTNode parseContents(@NotNull ASTNode chameleon) {
ASTNode parent = chameleon.getTreeParent();
if (isReferenceElement(parent, chameleon)) {
return parseImpl(chameleon);
@@ -67,7 +67,7 @@ public class PyFileElementType extends IStubFileElementType<PyFileStub> {
@Nullable
@Override
public ASTNode parseContents(ASTNode node) {
public ASTNode parseContents(@NotNull ASTNode node) {
final LanguageLevel languageLevel = getLanguageLevel(node.getPsi());
if (PydevConsoleRunner.isPythonConsole(node)) {
return parseConsoleCode(node, PydevConsoleRunner.getPythonConsoleData(node));