Class SearchTerminals
java.lang.Object
io.github.douira.glsl_transformer.GLSLParserBaseListener
io.github.douira.glsl_transformer.transform.TransformationPhase
io.github.douira.glsl_transformer.transform.WalkPhase
io.github.douira.glsl_transformer.core.SearchTerminals
- All Implemented Interfaces:
io.github.douira.glsl_transformer.GLSLParserListener,ParseTreeListener
- Direct Known Subclasses:
ReplaceTerminals
This phase finds targets in specified target token types (usually
identifiers) and triggers their handlers. The behavior of the targets can be
customized with the various available classes.
-
Nested Class Summary
Nested classes/interfaces inherited from class io.github.douira.glsl_transformer.transform.TransformationPhase
TransformationPhase.InjectionPoint -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intA constant for easy access to the identifier token type.protected Collection<HandlerTarget>The list of targets to process for each targeted context. -
Constructor Summary
ConstructorsConstructorDescriptionSearchTerminals(int terminalTokenType, HandlerTarget target) Creates a new target search phase with only a single target.SearchTerminals(int terminalTokenType, Collection<HandlerTarget> targets) Creates a new target search phase with the given targets.SearchTerminals(HandlerTarget target) Creates a new identifier search phase with only a single target. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTarget(HandlerTarget target) Adds a target for processing.voidvisitTerminal(TerminalNode node) Methods inherited from class io.github.douira.glsl_transformer.transform.WalkPhase
afterWalk, beforeWalk, isActiveAfterWalk, isActiveAtWalk, isActiveBeforeWalkMethods inherited from class io.github.douira.glsl_transformer.transform.TransformationPhase
compilePath, compilePattern, createLocalRoot, findAndMatch, getCollector, getLexer, getParser, getRootNode, getSiblings, init, injectDefine, injectExternalDeclaration, injectNode, injectNodes, isActive, removeNode, replaceNode, replaceNode, setCollectorMethods inherited from class io.github.douira.glsl_transformer.GLSLParserBaseListener
enterAdditiveExpression, enterAndExpression, enterArraySpecifier, enterAssignmentExpression, enterAssignmentOperator, enterAttribute, enterBuiltinTypeSpecifierFixed, enterBuiltinTypeSpecifierParseable, enterCallParameterList, enterCaseLabel, enterCompoundStatement, enterCondition, enterConditionalExpression, enterConstantExpression, enterDeclaration, enterDeclarationMember, enterDeclarationMemberList, enterDeclarationStatement, enterDemoteStatement, enterDoWhileStatement, enterEmptyStatement, enterEqualityExpression, enterEveryRule, enterExclusiveOrExpression, enterExpression, enterExpressionStatement, enterExtensionState, enterExtensionStatement, enterExternalDeclaration, enterForStatement, enterFullySpecifiedType, enterFunctionCall, enterFunctionDefinition, enterFunctionHeader, enterFunctionIdentifier, enterFunctionParameterList, enterFunctionPrototype, enterInclusiveOrExpression, enterInitDeclaratorList, enterInitializer, enterInterpolationQualifier, enterInvariantQualifier, enterJumpStatement, enterLayoutDefaults, enterLayoutModes, enterLayoutQualifier, enterLayoutQualifierId, enterLogicalAndExpression, enterLogicalOrExpression, enterLogicalXorExpression, enterMethodCall, enterMultiplicativeExpression, enterParameterDeclaration, enterParameterDeclarator, enterPostfixExpression, enterPragmaStatement, enterPreciseQualifier, enterPrecisionQualifier, enterPrimaryExpression, enterRelationalExpression, enterSelectionStatement, enterShiftExpression, enterSimpleStatement, enterSingleAttribute, enterStatement, enterStorageQualifier, enterStructDeclaration, enterStructDeclarationList, enterStructDeclarator, enterStructDeclaratorList, enterStructSpecifier, enterSwitchStatement, enterTranslationUnit, enterTypeNameList, enterTypeQualifier, enterTypeSpecifier, enterTypeSpecifierNonarray, enterUnaryExpression, enterUnaryOperator, enterVariableIdentifier, enterVersionStatement, enterWhileStatement, exitAdditiveExpression, exitAndExpression, exitArraySpecifier, exitAssignmentExpression, exitAssignmentOperator, exitAttribute, exitBuiltinTypeSpecifierFixed, exitBuiltinTypeSpecifierParseable, exitCallParameterList, exitCaseLabel, exitCompoundStatement, exitCondition, exitConditionalExpression, exitConstantExpression, exitDeclaration, exitDeclarationMember, exitDeclarationMemberList, exitDeclarationStatement, exitDemoteStatement, exitDoWhileStatement, exitEmptyStatement, exitEqualityExpression, exitEveryRule, exitExclusiveOrExpression, exitExpression, exitExpressionStatement, exitExtensionState, exitExtensionStatement, exitExternalDeclaration, exitForStatement, exitFullySpecifiedType, exitFunctionCall, exitFunctionDefinition, exitFunctionHeader, exitFunctionIdentifier, exitFunctionParameterList, exitFunctionPrototype, exitInclusiveOrExpression, exitInitDeclaratorList, exitInitializer, exitInterpolationQualifier, exitInvariantQualifier, exitJumpStatement, exitLayoutDefaults, exitLayoutModes, exitLayoutQualifier, exitLayoutQualifierId, exitLogicalAndExpression, exitLogicalOrExpression, exitLogicalXorExpression, exitMethodCall, exitMultiplicativeExpression, exitParameterDeclaration, exitParameterDeclarator, exitPostfixExpression, exitPragmaStatement, exitPreciseQualifier, exitPrecisionQualifier, exitPrimaryExpression, exitRelationalExpression, exitSelectionStatement, exitShiftExpression, exitSimpleStatement, exitSingleAttribute, exitStatement, exitStorageQualifier, exitStructDeclaration, exitStructDeclarationList, exitStructDeclarator, exitStructDeclaratorList, exitStructSpecifier, exitSwitchStatement, exitTranslationUnit, exitTypeNameList, exitTypeQualifier, exitTypeSpecifier, exitTypeSpecifierNonarray, exitUnaryExpression, exitUnaryOperator, exitVariableIdentifier, exitVersionStatement, exitWhileStatement, visitErrorNode
-
Field Details
-
IDENTIFIER
public static final int IDENTIFIERA constant for easy access to the identifier token type.- See Also:
-
targets
The list of targets to process for each targeted context.
-
-
Constructor Details
-
SearchTerminals
Creates a new target search phase with the given targets.- Parameters:
terminalTokenType- The type of the token to search intargets- The targets to search for
-
SearchTerminals
Creates a new target search phase with only a single target.- Parameters:
terminalTokenType- The type of the token to search intarget- The target to search for
-
SearchTerminals
Creates a new identifier search phase with only a single target.- Parameters:
target- The target to search for in identifiers
-
-
Method Details
-
visitTerminal
- Specified by:
visitTerminalin interfaceParseTreeListener- Overrides:
visitTerminalin classio.github.douira.glsl_transformer.GLSLParserBaseListener
-
addTarget
Adds a target for processing.- Parameters:
target- The target to add to the collection of targets
-