Package org.pkl.core.ast.builder
Class ImportsAndReadsParser
- java.lang.Object
-
- org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<Result>
-
- org.pkl.core.parser.antlr.PklParserBaseVisitor<T>
-
- org.pkl.core.ast.builder.AbstractAstBuilder<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>
-
- org.pkl.core.ast.builder.ImportsAndReadsParser
-
- All Implemented Interfaces:
org.antlr.v4.runtime.tree.ParseTreeVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>,PklParserVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>
public class ImportsAndReadsParser extends AbstractAstBuilder<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>
Collects module uris and resource uris imported within a module.Gathers the following:
- amends/extends URI's
- import declarations
- import expressions
- read expressions
-
-
Field Summary
-
Fields inherited from class org.pkl.core.ast.builder.AbstractAstBuilder
source
-
-
Constructor Summary
Constructors Constructor Description ImportsAndReadsParser(com.oracle.truffle.api.source.Source source)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected @Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>aggregateResult(@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> aggregate, @Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> nextResult)protected VmExceptionBuilderexceptionBuilder()static @Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>parse(ModuleKey moduleKey, ResolvedModuleKey resolvedModuleKey)Parses a module, and collects all imports and reads.java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>visitImportClause(PklParser.ImportClauseContext ctx)Visit a parse tree produced byPklParser.importClause().java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>visitImportExpr(PklParser.ImportExprContext ctx)Visit a parse tree produced by theimportExprlabeled alternative inPklParser.expr().@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>visitModuleExtendsOrAmendsClause(PklParser.ModuleExtendsOrAmendsClauseContext ctx)Visit a parse tree produced byPklParser.moduleExtendsOrAmendsClause().java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>visitReadExpr(PklParser.ReadExprContext ctx)Visit a parse tree produced by thereadExprlabeled alternative inPklParser.expr().-
Methods inherited from class org.pkl.core.ast.builder.AbstractAstBuilder
createSourceSection, createSourceSection, createSourceSection, createSourceSection, createSourceSection, createSourceSection, createSourceSection, doVisitSingleLineConstantStringPart, parseCharacterEscapeSequence, parseUnicodeEscapeSequence
-
Methods inherited from class org.pkl.core.parser.antlr.PklParserBaseVisitor
visitAdditiveExpr, visitAmendExpr, visitAnnotation, visitArgumentList, visitClassBody, visitClassHeader, visitClassMethod, visitClassProperty, visitClazz, visitComparisonExpr, visitConstrainedType, visitDeclaredType, visitDefaultUnionType, visitEqualityExpr, visitExponentiationExpr, visitExpr, visitExprInput, visitFalseLiteral, visitFloatLiteral, visitForGenerator, visitFunctionLiteral, visitFunctionType, visitIfExpr, visitIntLiteral, visitLetExpr, visitLogicalAndExpr, visitLogicalNotExpr, visitLogicalOrExpr, visitMemberPredicate, visitMethodHeader, visitModifier, visitModule, visitModuleDecl, visitModuleExpr, visitModuleHeader, visitModuleType, visitMultiLineStringLiteral, visitMultiLineStringPart, visitMultiplicativeExpr, visitNewExpr, visitNonNullExpr, visitNothingType, visitNullableType, visitNullCoalesceExpr, visitNullLiteral, visitObjectBody, visitObjectElement, visitObjectEntry, visitObjectMember, visitObjectMethod, visitObjectProperty, visitObjectSpread, visitOuterExpr, visitParameter, visitParameterList, visitParenthesizedExpr, visitParenthesizedType, visitPipeExpr, visitQualifiedAccessExpr, visitQualifiedIdentifier, visitReplInput, visitReservedKeyword, visitSingleLineStringLiteral, visitSingleLineStringPart, visitStringConstant, visitStringLiteralType, visitSubscriptExpr, visitSuperAccessExpr, visitSuperSubscriptExpr, visitThisExpr, visitThrowExpr, visitTraceExpr, visitTrueLiteral, visitType, visitTypeAlias, visitTypeAliasHeader, visitTypeAnnotation, visitTypeArgumentList, visitTypedIdentifier, visitTypeParameter, visitTypeParameterList, visitTypeTestExpr, visitUnaryMinusExpr, visitUnionType, visitUnknownType, visitUnqualifiedAccessExpr, visitWhenGenerator
-
Methods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor
defaultResult, shouldVisitNextChild, visit, visitChildren, visitErrorNode, visitTerminal
-
-
-
-
Method Detail
-
parse
public static @Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> parse(ModuleKey moduleKey, ResolvedModuleKey resolvedModuleKey) throws java.io.IOException
Parses a module, and collects all imports and reads.- Throws:
java.io.IOException
-
exceptionBuilder
protected VmExceptionBuilder exceptionBuilder()
- Specified by:
exceptionBuilderin classAbstractAstBuilder<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>
-
visitModuleExtendsOrAmendsClause
public @Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> visitModuleExtendsOrAmendsClause(PklParser.ModuleExtendsOrAmendsClauseContext ctx)
Description copied from class:PklParserBaseVisitorVisit a parse tree produced byPklParser.moduleExtendsOrAmendsClause().The default implementation returns the result of calling
AbstractParseTreeVisitor.visitChildren(org.antlr.v4.runtime.tree.RuleNode)onctx.- Specified by:
visitModuleExtendsOrAmendsClausein interfacePklParserVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>- Overrides:
visitModuleExtendsOrAmendsClausein classPklParserBaseVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitImportClause
public java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> visitImportClause(PklParser.ImportClauseContext ctx)
Description copied from class:PklParserBaseVisitorVisit a parse tree produced byPklParser.importClause().The default implementation returns the result of calling
AbstractParseTreeVisitor.visitChildren(org.antlr.v4.runtime.tree.RuleNode)onctx.- Specified by:
visitImportClausein interfacePklParserVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>- Overrides:
visitImportClausein classPklParserBaseVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitImportExpr
public java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> visitImportExpr(PklParser.ImportExprContext ctx)
Description copied from class:PklParserBaseVisitorVisit a parse tree produced by theimportExprlabeled alternative inPklParser.expr().The default implementation returns the result of calling
AbstractParseTreeVisitor.visitChildren(org.antlr.v4.runtime.tree.RuleNode)onctx.- Specified by:
visitImportExprin interfacePklParserVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>- Overrides:
visitImportExprin classPklParserBaseVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitReadExpr
public java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> visitReadExpr(PklParser.ReadExprContext ctx)
Description copied from class:PklParserBaseVisitorVisit a parse tree produced by thereadExprlabeled alternative inPklParser.expr().The default implementation returns the result of calling
AbstractParseTreeVisitor.visitChildren(org.antlr.v4.runtime.tree.RuleNode)onctx.- Specified by:
visitReadExprin interfacePklParserVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>- Overrides:
visitReadExprin classPklParserBaseVisitor<@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>>>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
aggregateResult
protected @Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> aggregateResult(@Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> aggregate, @Nullable java.util.List<Pair<java.lang.String,com.oracle.truffle.api.source.SourceSection>> nextResult)
-
-