Class SearchTerminals

java.lang.Object
io.github.douira.glsl_transformer.GLSLParserBaseListener
All Implemented Interfaces:
io.github.douira.glsl_transformer.GLSLParserListener, ParseTreeListener
Direct Known Subclasses:
ReplaceTerminals

public class SearchTerminals extends WalkPhase
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

    Fields
    Modifier and Type
    Field
    Description
    static final int
    A constant for easy access to the identifier token type.
    The list of targets to process for each targeted context.
  • Constructor Summary

    Constructors
    Constructor
    Description
    SearchTerminals(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.
    Creates a new identifier search phase with only a single target.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Adds a target for processing.
    void
     

    Methods inherited from class io.github.douira.glsl_transformer.transform.WalkPhase

    afterWalk, beforeWalk, isActiveAfterWalk, isActiveAtWalk, isActiveBeforeWalk

    Methods 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • IDENTIFIER

      public static final int IDENTIFIER
      A constant for easy access to the identifier token type.
      See Also:
    • targets

      protected Collection<HandlerTarget> targets
      The list of targets to process for each targeted context.
  • Constructor Details

    • SearchTerminals

      public SearchTerminals(int terminalTokenType, Collection<HandlerTarget> targets)
      Creates a new target search phase with the given targets.
      Parameters:
      terminalTokenType - The type of the token to search in
      targets - The targets to search for
    • SearchTerminals

      public SearchTerminals(int terminalTokenType, HandlerTarget target)
      Creates a new target search phase with only a single target.
      Parameters:
      terminalTokenType - The type of the token to search in
      target - The target to search for
    • SearchTerminals

      public SearchTerminals(HandlerTarget target)
      Creates a new identifier search phase with only a single target.
      Parameters:
      target - The target to search for in identifiers
  • Method Details

    • visitTerminal

      public void visitTerminal(TerminalNode node)
      Specified by:
      visitTerminal in interface ParseTreeListener
      Overrides:
      visitTerminal in class io.github.douira.glsl_transformer.GLSLParserBaseListener
    • addTarget

      public void addTarget(HandlerTarget target)
      Adds a target for processing.
      Parameters:
      target - The target to add to the collection of targets