Class ReferencesPhase1Listener
- All Implemented Interfaces:
org.antlr.v4.runtime.tree.ParseTreeListener
,EK9Listener
-
Constructor Summary
ConstructorDescriptionReferencesPhase1Listener
(CompilableProgram compilableProgram, ParsedModule parsedModule) Next phase after symbol definition, now check for explicit references. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Enter a parse tree produced byEK9Parser.applicationDeclaration()
.void
Enter a parse tree produced byEK9Parser.classDeclaration()
.void
Enter a parse tree produced byEK9Parser.componentDeclaration()
.void
Enter a parse tree produced byEK9Parser.constantDeclaration()
.void
Enter a parse tree produced byEK9Parser.dynamicClassDeclaration()
.void
Enter a parse tree produced byEK9Parser.forLoop()
.void
Enter a parse tree produced byEK9Parser.forRange()
.void
Enter a parse tree produced byEK9Parser.functionDeclaration()
.void
Enter a parse tree produced byEK9Parser.methodDeclaration()
.void
Enter a parse tree produced byEK9Parser.parameterisedDetail()
.void
Enter a parse tree produced byEK9Parser.recordDeclaration()
.void
This is where there are one or more references to types/functions or constants? in other modules that can now be resolved - at least as a name.void
Enter a parse tree produced byEK9Parser.serviceDeclaration()
.void
Enter a parse tree produced byEK9Parser.serviceOperationDeclaration()
.void
Enter a parse tree produced byEK9Parser.textBodyDeclaration()
.void
Enter a parse tree produced byEK9Parser.textDeclaration()
.void
Enter a parse tree produced byEK9Parser.traitDeclaration()
.void
Enter a parse tree produced byEK9Parser.typeDeclaration()
.void
Enter a parse tree produced byEK9Parser.variableDeclaration()
.void
Enter a parse tree produced byEK9Parser.variableOnlyDeclaration()
.Methods inherited from class org.ek9lang.antlr.EK9BaseListener
enterAccessModifier, enterAggregateParts, enterAggregateProperty, enterAllowingOnly, enterApplicationBlock, enterArgumentParam, enterAspectDeclaration, enterAssertStatement, enterAssignmentExpression, enterAssignmentStatement, enterBinaryLit, enterBinaryLiteral, enterBlock, enterBlockStatement, enterBooleanLit, enterBooleanLiteral, enterCall, enterCaseExpression, enterCaseStatement, enterCatchStatementExpression, enterCharacterLit, enterCharacterLiteral, enterClassBlock, enterColourLit, enterColourLiteral, enterCompilationUnit, enterComponentBlock, enterConstantBlock, enterConstantInitialiser, enterConstrainDeclaration, enterConstrainType, enterDateLit, enterDateLiteral, enterDateTimeLit, enterDateTimeLiteral, enterDeclareArgumentParam, enterDecorationDimensionLiteral, enterDecorationResolutionLiteral, enterDefaultOperator, enterDict, enterDimensionLit, enterDirective, enterDirectivePart, enterDottedName, enterDurationLit, enterDurationLiteral, enterDynamicFunctionBody, enterDynamicFunctionDeclaration, enterDynamicVariableCapture, enterElseOnlyBlock, enterEnumerationDeclaration, enterEveryRule, enterExpression, enterExpressionParam, enterExtendDeclaration, enterExtendPreamble, enterFinallyStatementExpression, enterFloatingPointLit, enterFloatingPointLiteral, enterForStatementExpression, enterFunctionBlock, enterGuardExpression, enterHttpAccess, enterHttpVerb, enterIdentifier, enterIdentifierReference, enterIfControlBlock, enterIfStatement, enterInitValuePair, enterInstructionBlock, enterIntegerLit, enterIntegerLiteral, enterList, enterMillisecondLit, enterMillisecondLiteral, enterModuleBlock, enterModuleDeclaration, enterMoneyLit, enterMoneyLiteral, enterObjectAccess, enterObjectAccessExpression, enterObjectAccessStart, enterObjectAccessType, enterOperationCall, enterOperationDetails, enterOperator, enterOperatorDeclaration, enterPackageBlock, enterParameterisedArgs, enterParameterisedParams, enterParameterisedType, enterParamExpression, enterPathLit, enterPathLiteral, enterPipelinePart, enterPreFlowAndControl, enterPreFlowStatement, enterPrimary, enterPrimaryReference, enterProgramBlock, enterRange, enterRecordBlock, enterRegExLit, enterRegisterStatement, enterRegularExpressionLiteral, enterResolutionLit, enterReturningParam, enterServiceBlock, enterSheBang, enterSingleStatementBlock, enterStatement, enterStreamCat, enterStreamExpression, enterStreamExpressionTermination, enterStreamFor, enterStreamPart, enterStreamSource, enterStreamStatement, enterStreamStatementTermination, enterStringLit, enterStringLiteral, enterStringPart, enterSwitchStatementExpression, enterTextBlock, enterThrowStatement, enterTimeLit, enterTimeLiteral, enterTraitBlock, enterTraitPreamble, enterTraitReference, enterTraitsList, enterTryStatementExpression, enterTypeBlock, enterTypeDef, enterVersionNumberLit, enterVersionNumberLiteral, enterWebVariableCorrelation, enterWhileStatementExpression, exitAccessModifier, exitAggregateParts, exitAggregateProperty, exitAllowingOnly, exitApplicationBlock, exitApplicationDeclaration, exitArgumentParam, exitAspectDeclaration, exitAssertStatement, exitAssignmentExpression, exitAssignmentStatement, exitBinaryLit, exitBinaryLiteral, exitBlock, exitBlockStatement, exitBooleanLit, exitBooleanLiteral, exitCall, exitCaseExpression, exitCaseStatement, exitCatchStatementExpression, exitCharacterLit, exitCharacterLiteral, exitClassBlock, exitClassDeclaration, exitColourLit, exitColourLiteral, exitCompilationUnit, exitComponentBlock, exitComponentDeclaration, exitConstantBlock, exitConstantDeclaration, exitConstantInitialiser, exitConstrainDeclaration, exitConstrainType, exitDateLit, exitDateLiteral, exitDateTimeLit, exitDateTimeLiteral, exitDeclareArgumentParam, exitDecorationDimensionLiteral, exitDecorationResolutionLiteral, exitDefaultOperator, exitDict, exitDimensionLit, exitDirective, exitDirectivePart, exitDottedName, exitDurationLit, exitDurationLiteral, exitDynamicClassDeclaration, exitDynamicFunctionBody, exitDynamicFunctionDeclaration, exitDynamicVariableCapture, exitElseOnlyBlock, exitEnumerationDeclaration, exitEveryRule, exitExpression, exitExpressionParam, exitExtendDeclaration, exitExtendPreamble, exitFinallyStatementExpression, exitFloatingPointLit, exitFloatingPointLiteral, exitForLoop, exitForRange, exitForStatementExpression, exitFunctionBlock, exitFunctionDeclaration, exitGuardExpression, exitHttpAccess, exitHttpVerb, exitIdentifier, exitIdentifierReference, exitIfControlBlock, exitIfStatement, exitInitValuePair, exitInstructionBlock, exitIntegerLit, exitIntegerLiteral, exitList, exitMethodDeclaration, exitMillisecondLit, exitMillisecondLiteral, exitModuleBlock, exitModuleDeclaration, exitMoneyLit, exitMoneyLiteral, exitObjectAccess, exitObjectAccessExpression, exitObjectAccessStart, exitObjectAccessType, exitOperationCall, exitOperationDetails, exitOperator, exitOperatorDeclaration, exitPackageBlock, exitParameterisedArgs, exitParameterisedDetail, exitParameterisedParams, exitParameterisedType, exitParamExpression, exitPathLit, exitPathLiteral, exitPipelinePart, exitPreFlowAndControl, exitPreFlowStatement, exitPrimary, exitPrimaryReference, exitProgramBlock, exitRange, exitRecordBlock, exitRecordDeclaration, exitReferencesBlock, exitRegExLit, exitRegisterStatement, exitRegularExpressionLiteral, exitResolutionLit, exitReturningParam, exitServiceBlock, exitServiceDeclaration, exitServiceOperationDeclaration, exitSheBang, exitSingleStatementBlock, exitStatement, exitStreamCat, exitStreamExpression, exitStreamExpressionTermination, exitStreamFor, exitStreamPart, exitStreamSource, exitStreamStatement, exitStreamStatementTermination, exitStringLit, exitStringLiteral, exitStringPart, exitSwitchStatementExpression, exitTextBlock, exitTextBodyDeclaration, exitTextDeclaration, exitThrowStatement, exitTimeLit, exitTimeLiteral, exitTraitBlock, exitTraitDeclaration, exitTraitPreamble, exitTraitReference, exitTraitsList, exitTryStatementExpression, exitTypeBlock, exitTypeDeclaration, exitTypeDef, exitVariableDeclaration, exitVariableOnlyDeclaration, exitVersionNumberLit, exitVersionNumberLiteral, exitWebVariableCorrelation, exitWhileStatementExpression, visitErrorNode, visitTerminal
-
Constructor Details
-
ReferencesPhase1Listener
ReferencesPhase1Listener(CompilableProgram compilableProgram, ParsedModule parsedModule) Next phase after symbol definition, now check for explicit references. Because the reference phase is singled threaded access to compilableProgram is given directly.
-
-
Method Details
-
enterReferencesBlock
This is where there are one or more references to types/functions or constants? in other modules that can now be resolved - at least as a name. The full details won't yet be known. But the definition phase will/should have at least defined them to some extent.- Specified by:
enterReferencesBlock
in interfaceEK9Listener
- Overrides:
enterReferencesBlock
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterConstantDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.constantDeclaration()
.The default implementation does nothing.
- Specified by:
enterConstantDeclaration
in interfaceEK9Listener
- Overrides:
enterConstantDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterFunctionDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.functionDeclaration()
.The default implementation does nothing.
- Specified by:
enterFunctionDeclaration
in interfaceEK9Listener
- Overrides:
enterFunctionDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterRecordDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.recordDeclaration()
.The default implementation does nothing.
- Specified by:
enterRecordDeclaration
in interfaceEK9Listener
- Overrides:
enterRecordDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterTraitDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.traitDeclaration()
.The default implementation does nothing.
- Specified by:
enterTraitDeclaration
in interfaceEK9Listener
- Overrides:
enterTraitDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterClassDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.classDeclaration()
.The default implementation does nothing.
- Specified by:
enterClassDeclaration
in interfaceEK9Listener
- Overrides:
enterClassDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterComponentDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.componentDeclaration()
.The default implementation does nothing.
- Specified by:
enterComponentDeclaration
in interfaceEK9Listener
- Overrides:
enterComponentDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterTextDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.textDeclaration()
.The default implementation does nothing.
- Specified by:
enterTextDeclaration
in interfaceEK9Listener
- Overrides:
enterTextDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterTextBodyDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.textBodyDeclaration()
.The default implementation does nothing.
- Specified by:
enterTextBodyDeclaration
in interfaceEK9Listener
- Overrides:
enterTextBodyDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterServiceDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.serviceDeclaration()
.The default implementation does nothing.
- Specified by:
enterServiceDeclaration
in interfaceEK9Listener
- Overrides:
enterServiceDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterServiceOperationDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.serviceOperationDeclaration()
.The default implementation does nothing.
- Specified by:
enterServiceOperationDeclaration
in interfaceEK9Listener
- Overrides:
enterServiceOperationDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterApplicationDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.applicationDeclaration()
.The default implementation does nothing.
- Specified by:
enterApplicationDeclaration
in interfaceEK9Listener
- Overrides:
enterApplicationDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterDynamicClassDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.dynamicClassDeclaration()
.The default implementation does nothing.
- Specified by:
enterDynamicClassDeclaration
in interfaceEK9Listener
- Overrides:
enterDynamicClassDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterParameterisedDetail
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.parameterisedDetail()
.The default implementation does nothing.
- Specified by:
enterParameterisedDetail
in interfaceEK9Listener
- Overrides:
enterParameterisedDetail
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterTypeDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.typeDeclaration()
.The default implementation does nothing.
- Specified by:
enterTypeDeclaration
in interfaceEK9Listener
- Overrides:
enterTypeDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterMethodDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.methodDeclaration()
.The default implementation does nothing.
- Specified by:
enterMethodDeclaration
in interfaceEK9Listener
- Overrides:
enterMethodDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterForLoop
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.forLoop()
.The default implementation does nothing.
- Specified by:
enterForLoop
in interfaceEK9Listener
- Overrides:
enterForLoop
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterForRange
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.forRange()
.The default implementation does nothing.
- Specified by:
enterForRange
in interfaceEK9Listener
- Overrides:
enterForRange
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterVariableOnlyDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.variableOnlyDeclaration()
.The default implementation does nothing.
- Specified by:
enterVariableOnlyDeclaration
in interfaceEK9Listener
- Overrides:
enterVariableOnlyDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-
enterVariableDeclaration
Description copied from class:EK9BaseListener
Enter a parse tree produced byEK9Parser.variableDeclaration()
.The default implementation does nothing.
- Specified by:
enterVariableDeclaration
in interfaceEK9Listener
- Overrides:
enterVariableDeclaration
in classEK9BaseListener
- Parameters:
ctx
- the parse tree
-