deprecate unneeded ILazyParseableElementType#parseLight

A follow up for:
c2bdba9416046e6ca347e0131ad5672b818da6ea
drop TraverserBasedASTNode and ReadOnlyASTNode Gregory.Shrago 18.11.2019, 16:44

GitOrigin-RevId: 7a4c5ee275e6d8329ba76b23f146655afb83b3fd
This commit is contained in:
Gregory.Shrago
2020-02-10 23:22:58 +03:00
committed by intellij-monorepo-bot
parent a15f60291f
commit afa96a2503
2 changed files with 8 additions and 7 deletions

View File

@@ -17,7 +17,7 @@ public class RegExpFileElementType extends IFileElementType {
}
@Override
public PsiBuilder parseLight(ASTNode chameleon) {
protected ASTNode doParseContents(@NotNull ASTNode chameleon, @NotNull PsiElement outerPsi) {
PsiElement psi = chameleon.getPsi();
Project project = psi.getProject();
Language languageForParser = getLanguageForParser(psi);
@@ -27,7 +27,7 @@ public class RegExpFileElementType extends IFileElementType {
PsiParser parser = definition.createParser(project, capabilities);
PsiBuilder builder = PsiBuilderFactory.getInstance().createBuilder(project, chameleon, lexer, languageForParser, chameleon.getChars());
((LightPsiParser)parser).parseLight(this, builder);
return builder;
return builder.getTreeBuilt().getFirstChildNode();
}
@NotNull
@@ -38,9 +38,4 @@ public class RegExpFileElementType extends IFileElementType {
RegExpCapabilitiesProvider provider = language == null ? null : RegExpCapabilitiesProvider.EP.forLanguage(language);
return provider == null ? capabilities : EnumSet.copyOf(provider.setup(host, capabilities));
}
@Override
protected ASTNode doParseContents(@NotNull ASTNode chameleon, @NotNull PsiElement psi) {
return parseLight(chameleon).getTreeBuilt().getFirstChildNode();
}
}

View File

@@ -5,6 +5,7 @@ import com.intellij.lang.*;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Key;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -48,7 +49,12 @@ public class ILazyParseableElementType extends IElementType implements ILazyPars
*
* @param chameleon the node to parse.
* @return the parsed contents of the node in the form PsiBuilder.
*
* @deprecated Not needed anymore, override {@link ILazyParseableElementType#parseContents(ASTNode)}
* or implement {@link ILightLazyParseableElementType} instead.
*/
@Deprecated
@ApiStatus.ScheduledForRemoval(inVersion = "2020.3")
public PsiBuilder parseLight(ASTNode chameleon) {
throw new UnsupportedOperationException(String.valueOf(chameleon));
}