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 List<Pair<String,com.oracle.truffle.api.source.SourceSection>>>
org.pkl.core.ast.builder.ImportsAndReadsParser
- All Implemented Interfaces:
org.antlr.v4.runtime.tree.ParseTreeVisitor<@Nullable List<Pair<String,,com.oracle.truffle.api.source.SourceSection>>> PklParserVisitor<@Nullable List<Pair<String,com.oracle.truffle.api.source.SourceSection>>>
public final class ImportsAndReadsParser
extends AbstractAstBuilder<@Nullable List<Pair<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 -
Method Summary
Modifier and TypeMethodDescriptionaggregateResult(@Nullable List<Pair<String, com.oracle.truffle.api.source.SourceSection>> aggregate, @Nullable List<Pair<String, com.oracle.truffle.api.source.SourceSection>> nextResult) protected VmExceptionBuilderparse(ModuleKey moduleKey, ResolvedModuleKey resolvedModuleKey) Parses a module, and collects all imports and reads.Visit a parse tree produced byPklParser.importClause().Visit a parse tree produced by theimportExprlabeled alternative inPklParser.expr().Visit a parse tree produced byPklParser.moduleExtendsOrAmendsClause().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, parseUnicodeEscapeSequenceMethods 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, visitWhenGeneratorMethods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor
defaultResult, shouldVisitNextChild, visit, visitChildren, visitErrorNode, visitTerminalMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.antlr.v4.runtime.tree.ParseTreeVisitor
visit, visitChildren, visitErrorNode, visitTerminal
-
Constructor Details
-
ImportsAndReadsParser
public ImportsAndReadsParser(com.oracle.truffle.api.source.Source source)
-
-
Method Details
-
parse
@Nullable public static @Nullable List<Pair<String,com.oracle.truffle.api.source.SourceSection>> parse(ModuleKey moduleKey, ResolvedModuleKey resolvedModuleKey) throws IOException Parses a module, and collects all imports and reads.- Throws:
IOException
-
exceptionBuilder
- Specified by:
exceptionBuilderin classAbstractAstBuilder<@Nullable List<Pair<String,com.oracle.truffle.api.source.SourceSection>>>
-
visitModuleExtendsOrAmendsClause
public List<Pair<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 List<Pair<String,com.oracle.truffle.api.source.SourceSection>>> - Overrides:
visitModuleExtendsOrAmendsClausein classPklParserBaseVisitor<@Nullable List<Pair<String,com.oracle.truffle.api.source.SourceSection>>> - Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitImportClause
public List<Pair<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 List<Pair<String,com.oracle.truffle.api.source.SourceSection>>> - Overrides:
visitImportClausein classPklParserBaseVisitor<@Nullable List<Pair<String,com.oracle.truffle.api.source.SourceSection>>> - Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitImportExpr
public List<Pair<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 List<Pair<String,com.oracle.truffle.api.source.SourceSection>>> - Overrides:
visitImportExprin classPklParserBaseVisitor<@Nullable List<Pair<String,com.oracle.truffle.api.source.SourceSection>>> - Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitReadExpr
public List<Pair<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 List<Pair<String,com.oracle.truffle.api.source.SourceSection>>> - Overrides:
visitReadExprin classPklParserBaseVisitor<@Nullable List<Pair<String,com.oracle.truffle.api.source.SourceSection>>> - Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
aggregateResult
-