java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<T>
io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
io.github.douira.glsl_transformer.ast.transform.ASTBuilder
All Implemented Interfaces:
io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>, ParseTreeVisitor<ASTNode>

public class ASTBuilder extends io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
The AST builder is a visitor of the parse tree (not an AST visitor) that generates AST nodes from parse tree nodes. Sometimes more or fewer nodes are generated than are in the parse tree depending on how the parse tree is nested and how fine-grained the AST nodes have to be. Information about the relationship between a parse tree and an AST is encoded in this visitor.
  • Constructor Details

    • ASTBuilder

      public ASTBuilder()
  • Method Details

    • build

      public static ASTNode build(ParseTree ctx)
    • build

      public static ASTNode build(Root rootInstance, ParseTree ctx)
    • buildSubtreeFor

      public static ASTNode buildSubtreeFor(ASTNode parentTreeMember, ParseTree ctx)
    • buildSubtreeWith

      public static <TreeType extends ParseTree, ReturnType extends ASTNode> ReturnType buildSubtreeWith(ASTNode parentTreeMember, TreeType ctx, BiFunction<ASTBuilder,TreeType,ReturnType> visitMethod)
    • visitTranslationUnit

      public TranslationUnit visitTranslationUnit(io.github.douira.glsl_transformer.GLSLParser.TranslationUnitContext ctx)
      Specified by:
      visitTranslationUnit in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitTranslationUnit in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitVersionStatement

      public VersionStatement visitVersionStatement(io.github.douira.glsl_transformer.GLSLParser.VersionStatementContext ctx)
      Specified by:
      visitVersionStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitVersionStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitEmptyDeclaration

      public EmptyDeclaration visitEmptyDeclaration(io.github.douira.glsl_transformer.GLSLParser.EmptyDeclarationContext ctx)
      Specified by:
      visitEmptyDeclaration in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitEmptyDeclaration in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitPragmaStatement

      public PragmaStatement visitPragmaStatement(io.github.douira.glsl_transformer.GLSLParser.PragmaStatementContext ctx)
      Specified by:
      visitPragmaStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitPragmaStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitExtensionStatement

      public ExtensionStatement visitExtensionStatement(io.github.douira.glsl_transformer.GLSLParser.ExtensionStatementContext ctx)
      Specified by:
      visitExtensionStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitExtensionStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitLayoutDefaults

      public LayoutDefaults visitLayoutDefaults(io.github.douira.glsl_transformer.GLSLParser.LayoutDefaultsContext ctx)
      Specified by:
      visitLayoutDefaults in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitLayoutDefaults in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitConditionalExpression

      public ConditionExpression visitConditionalExpression(io.github.douira.glsl_transformer.GLSLParser.ConditionalExpressionContext ctx)
      Specified by:
      visitConditionalExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitConditionalExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitFunctionCallExpression

      public FunctionCallExpression visitFunctionCallExpression(io.github.douira.glsl_transformer.GLSLParser.FunctionCallExpressionContext ctx)
      Specified by:
      visitFunctionCallExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitFunctionCallExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitGroupingExpression

      public GroupingExpression visitGroupingExpression(io.github.douira.glsl_transformer.GLSLParser.GroupingExpressionContext ctx)
      Specified by:
      visitGroupingExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitGroupingExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitMemberAccessExpression

      public MemberAccessExpression visitMemberAccessExpression(io.github.douira.glsl_transformer.GLSLParser.MemberAccessExpressionContext ctx)
      Specified by:
      visitMemberAccessExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitMemberAccessExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitLengthAccessExpression

      public LengthAccessExpression visitLengthAccessExpression(io.github.douira.glsl_transformer.GLSLParser.LengthAccessExpressionContext ctx)
      Specified by:
      visitLengthAccessExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitLengthAccessExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitPostfixExpression

      public UnaryExpression visitPostfixExpression(io.github.douira.glsl_transformer.GLSLParser.PostfixExpressionContext ctx)
      Specified by:
      visitPostfixExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitPostfixExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitPrefixExpression

      public UnaryExpression visitPrefixExpression(io.github.douira.glsl_transformer.GLSLParser.PrefixExpressionContext ctx)
      Specified by:
      visitPrefixExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitPrefixExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitSequenceExpression

      public SequenceExpression visitSequenceExpression(io.github.douira.glsl_transformer.GLSLParser.SequenceExpressionContext ctx)
      Specified by:
      visitSequenceExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitSequenceExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitLiteralExpression

      public LiteralExpression visitLiteralExpression(io.github.douira.glsl_transformer.GLSLParser.LiteralExpressionContext ctx)
      Specified by:
      visitLiteralExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitLiteralExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitAdditiveExpression

      public BinaryExpression visitAdditiveExpression(io.github.douira.glsl_transformer.GLSLParser.AdditiveExpressionContext ctx)
      Specified by:
      visitAdditiveExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitAdditiveExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitArrayAccessExpression

      public ArrayAccessExpression visitArrayAccessExpression(io.github.douira.glsl_transformer.GLSLParser.ArrayAccessExpressionContext ctx)
      Specified by:
      visitArrayAccessExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitArrayAccessExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitAssignmentExpression

      public BinaryExpression visitAssignmentExpression(io.github.douira.glsl_transformer.GLSLParser.AssignmentExpressionContext ctx)
      Specified by:
      visitAssignmentExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitAssignmentExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitBitwiseAndExpression

      public BitwiseAndExpression visitBitwiseAndExpression(io.github.douira.glsl_transformer.GLSLParser.BitwiseAndExpressionContext ctx)
      Specified by:
      visitBitwiseAndExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitBitwiseAndExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitBitwiseExclusiveOrExpression

      public BitwiseXorExpression visitBitwiseExclusiveOrExpression(io.github.douira.glsl_transformer.GLSLParser.BitwiseExclusiveOrExpressionContext ctx)
      Specified by:
      visitBitwiseExclusiveOrExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitBitwiseExclusiveOrExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitBitwiseInclusiveOrExpression

      public BitwiseOrExpression visitBitwiseInclusiveOrExpression(io.github.douira.glsl_transformer.GLSLParser.BitwiseInclusiveOrExpressionContext ctx)
      Specified by:
      visitBitwiseInclusiveOrExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitBitwiseInclusiveOrExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitEqualityExpression

      public BinaryExpression visitEqualityExpression(io.github.douira.glsl_transformer.GLSLParser.EqualityExpressionContext ctx)
      Specified by:
      visitEqualityExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitEqualityExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitLogicalAndExpression

      public BooleanAndExpression visitLogicalAndExpression(io.github.douira.glsl_transformer.GLSLParser.LogicalAndExpressionContext ctx)
      Specified by:
      visitLogicalAndExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitLogicalAndExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitLogicalExclusiveOrExpression

      public BooleanXorExpression visitLogicalExclusiveOrExpression(io.github.douira.glsl_transformer.GLSLParser.LogicalExclusiveOrExpressionContext ctx)
      Specified by:
      visitLogicalExclusiveOrExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitLogicalExclusiveOrExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitLogicalInclusiveOrExpression

      public BooleanOrExpression visitLogicalInclusiveOrExpression(io.github.douira.glsl_transformer.GLSLParser.LogicalInclusiveOrExpressionContext ctx)
      Specified by:
      visitLogicalInclusiveOrExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitLogicalInclusiveOrExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitRelationalExpression

      public BinaryExpression visitRelationalExpression(io.github.douira.glsl_transformer.GLSLParser.RelationalExpressionContext ctx)
      Specified by:
      visitRelationalExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitRelationalExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitShiftExpression

      public BinaryExpression visitShiftExpression(io.github.douira.glsl_transformer.GLSLParser.ShiftExpressionContext ctx)
      Specified by:
      visitShiftExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitShiftExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitMultiplicativeExpression

      public BinaryExpression visitMultiplicativeExpression(io.github.douira.glsl_transformer.GLSLParser.MultiplicativeExpressionContext ctx)
      Specified by:
      visitMultiplicativeExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitMultiplicativeExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitReferenceExpression

      public ReferenceExpression visitReferenceExpression(io.github.douira.glsl_transformer.GLSLParser.ReferenceExpressionContext ctx)
      Specified by:
      visitReferenceExpression in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitReferenceExpression in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitCompoundStatement

      public CompoundStatement visitCompoundStatement(io.github.douira.glsl_transformer.GLSLParser.CompoundStatementContext ctx)
      Specified by:
      visitCompoundStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitCompoundStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitContinueStatement

      public ContinueStatement visitContinueStatement(io.github.douira.glsl_transformer.GLSLParser.ContinueStatementContext ctx)
      Specified by:
      visitContinueStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitContinueStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitBreakStatement

      public BreakStatement visitBreakStatement(io.github.douira.glsl_transformer.GLSLParser.BreakStatementContext ctx)
      Specified by:
      visitBreakStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitBreakStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitReturnStatement

      public ReturnStatement visitReturnStatement(io.github.douira.glsl_transformer.GLSLParser.ReturnStatementContext ctx)
      Specified by:
      visitReturnStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitReturnStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitDiscardStatement

      public DiscardStatement visitDiscardStatement(io.github.douira.glsl_transformer.GLSLParser.DiscardStatementContext ctx)
      Specified by:
      visitDiscardStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitDiscardStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitDemoteStatement

      public DemoteStatement visitDemoteStatement(io.github.douira.glsl_transformer.GLSLParser.DemoteStatementContext ctx)
      Specified by:
      visitDemoteStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitDemoteStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitDeclarationStatement

      public DeclarationStatement visitDeclarationStatement(io.github.douira.glsl_transformer.GLSLParser.DeclarationStatementContext ctx)
      Specified by:
      visitDeclarationStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitDeclarationStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitExpressionStatement

      public ExpressionStatement visitExpressionStatement(io.github.douira.glsl_transformer.GLSLParser.ExpressionStatementContext ctx)
      Specified by:
      visitExpressionStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitExpressionStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitEmptyStatement

      public EmptyStatement visitEmptyStatement(io.github.douira.glsl_transformer.GLSLParser.EmptyStatementContext ctx)
      Specified by:
      visitEmptyStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitEmptyStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitSelectionStatement

      public SelectionStatement visitSelectionStatement(io.github.douira.glsl_transformer.GLSLParser.SelectionStatementContext ctx)
      Specified by:
      visitSelectionStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitSelectionStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitSwitchStatement

      public SwitchStatement visitSwitchStatement(io.github.douira.glsl_transformer.GLSLParser.SwitchStatementContext ctx)
      Specified by:
      visitSwitchStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitSwitchStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitDefaultCaseLabel

      public DefaultStatement visitDefaultCaseLabel(io.github.douira.glsl_transformer.GLSLParser.DefaultCaseLabelContext ctx)
      Specified by:
      visitDefaultCaseLabel in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitDefaultCaseLabel in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitValuedCaseLabel

      public CaseStatement visitValuedCaseLabel(io.github.douira.glsl_transformer.GLSLParser.ValuedCaseLabelContext ctx)
      Specified by:
      visitValuedCaseLabel in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitValuedCaseLabel in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitForStatement

      public ForLoopStatement visitForStatement(io.github.douira.glsl_transformer.GLSLParser.ForStatementContext ctx)
      Specified by:
      visitForStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitForStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitWhileStatement

      public WhileLoopStatement visitWhileStatement(io.github.douira.glsl_transformer.GLSLParser.WhileStatementContext ctx)
      Specified by:
      visitWhileStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitWhileStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitDoWhileStatement

      public DoWhileLoopStatement visitDoWhileStatement(io.github.douira.glsl_transformer.GLSLParser.DoWhileStatementContext ctx)
      Specified by:
      visitDoWhileStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitDoWhileStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitIterationCondition

      public IterationConditionInitializer visitIterationCondition(io.github.douira.glsl_transformer.GLSLParser.IterationConditionContext ctx)
      Specified by:
      visitIterationCondition in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitIterationCondition in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitArraySpecifier

      public ArraySpecifier visitArraySpecifier(io.github.douira.glsl_transformer.GLSLParser.ArraySpecifierContext ctx)
      Specified by:
      visitArraySpecifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitArraySpecifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitFunctionDefinition

      public FunctionDefinition visitFunctionDefinition(io.github.douira.glsl_transformer.GLSLParser.FunctionDefinitionContext ctx)
      Specified by:
      visitFunctionDefinition in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitFunctionDefinition in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitFunctionPrototype

      public FunctionPrototype visitFunctionPrototype(io.github.douira.glsl_transformer.GLSLParser.FunctionPrototypeContext ctx)
      Specified by:
      visitFunctionPrototype in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitFunctionPrototype in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitDeclarationMember

      public DeclarationMember visitDeclarationMember(io.github.douira.glsl_transformer.GLSLParser.DeclarationMemberContext ctx)
      Specified by:
      visitDeclarationMember in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitDeclarationMember in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitFullySpecifiedType

      public FullySpecifiedType visitFullySpecifiedType(io.github.douira.glsl_transformer.GLSLParser.FullySpecifiedTypeContext ctx)
      Specified by:
      visitFullySpecifiedType in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitFullySpecifiedType in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitParameterDeclaration

      public FunctionParameter visitParameterDeclaration(io.github.douira.glsl_transformer.GLSLParser.ParameterDeclarationContext ctx)
      Specified by:
      visitParameterDeclaration in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitParameterDeclaration in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitFunctionDeclaration

      public FunctionDeclaration visitFunctionDeclaration(io.github.douira.glsl_transformer.GLSLParser.FunctionDeclarationContext ctx)
      Specified by:
      visitFunctionDeclaration in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitFunctionDeclaration in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitTypeAndInitDeclaration

      public TypeAndInitDeclaration visitTypeAndInitDeclaration(io.github.douira.glsl_transformer.GLSLParser.TypeAndInitDeclarationContext ctx)
      Specified by:
      visitTypeAndInitDeclaration in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitTypeAndInitDeclaration in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitPrecisionDeclaration

      public PrecisionDeclaration visitPrecisionDeclaration(io.github.douira.glsl_transformer.GLSLParser.PrecisionDeclarationContext ctx)
      Specified by:
      visitPrecisionDeclaration in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitPrecisionDeclaration in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitInterfaceBlockDeclaration

      public InterfaceBlockDeclaration visitInterfaceBlockDeclaration(io.github.douira.glsl_transformer.GLSLParser.InterfaceBlockDeclarationContext ctx)
      Specified by:
      visitInterfaceBlockDeclaration in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitInterfaceBlockDeclaration in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitVariableDeclaration

      public VariableDeclaration visitVariableDeclaration(io.github.douira.glsl_transformer.GLSLParser.VariableDeclarationContext ctx)
      Specified by:
      visitVariableDeclaration in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitVariableDeclaration in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitInitializer

      public Initializer visitInitializer(io.github.douira.glsl_transformer.GLSLParser.InitializerContext ctx)
      Specified by:
      visitInitializer in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitInitializer in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitNamedLayoutQualifier

      public NamedLayoutQualifierPart visitNamedLayoutQualifier(io.github.douira.glsl_transformer.GLSLParser.NamedLayoutQualifierContext ctx)
      Specified by:
      visitNamedLayoutQualifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitNamedLayoutQualifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitSharedLayoutQualifier

      public SharedLayoutQualifierPart visitSharedLayoutQualifier(io.github.douira.glsl_transformer.GLSLParser.SharedLayoutQualifierContext ctx)
      Specified by:
      visitSharedLayoutQualifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitSharedLayoutQualifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitLayoutQualifierPart

      public LayoutQualifierPart visitLayoutQualifierPart(io.github.douira.glsl_transformer.GLSLParser.LayoutQualifierIdContext ctx)
    • visitLayoutQualifier

      public LayoutQualifier visitLayoutQualifier(io.github.douira.glsl_transformer.GLSLParser.LayoutQualifierContext ctx)
      Specified by:
      visitLayoutQualifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitLayoutQualifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitPreciseQualifier

      public PreciseQualifier visitPreciseQualifier(io.github.douira.glsl_transformer.GLSLParser.PreciseQualifierContext ctx)
      Specified by:
      visitPreciseQualifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitPreciseQualifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitInvariantQualifier

      public InvariantQualifier visitInvariantQualifier(io.github.douira.glsl_transformer.GLSLParser.InvariantQualifierContext ctx)
      Specified by:
      visitInvariantQualifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitInvariantQualifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitInterpolationQualifier

      public InterpolationQualifier visitInterpolationQualifier(io.github.douira.glsl_transformer.GLSLParser.InterpolationQualifierContext ctx)
      Specified by:
      visitInterpolationQualifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitInterpolationQualifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitPrecisionQualifier

      public PrecisionQualifier visitPrecisionQualifier(io.github.douira.glsl_transformer.GLSLParser.PrecisionQualifierContext ctx)
      Specified by:
      visitPrecisionQualifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitPrecisionQualifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitStorageQualifier

      public ASTNode visitStorageQualifier(io.github.douira.glsl_transformer.GLSLParser.StorageQualifierContext ctx)
      Specified by:
      visitStorageQualifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitStorageQualifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitStructBody

      public StructBody visitStructBody(io.github.douira.glsl_transformer.GLSLParser.StructBodyContext ctx)
      Specified by:
      visitStructBody in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitStructBody in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitStructMember

      public StructMember visitStructMember(io.github.douira.glsl_transformer.GLSLParser.StructMemberContext ctx)
      Specified by:
      visitStructMember in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitStructMember in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitStructDeclarator

      public StructDeclarator visitStructDeclarator(io.github.douira.glsl_transformer.GLSLParser.StructDeclaratorContext ctx)
      Specified by:
      visitStructDeclarator in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitStructDeclarator in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitTypeSpecifier

      public TypeSpecifier visitTypeSpecifier(io.github.douira.glsl_transformer.GLSLParser.TypeSpecifierContext ctx)
      Specified by:
      visitTypeSpecifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitTypeSpecifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitTypeQualifier

      public TypeQualifier visitTypeQualifier(io.github.douira.glsl_transformer.GLSLParser.TypeQualifierContext ctx)
      Specified by:
      visitTypeQualifier in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitTypeQualifier in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitExpression

      public Expression visitExpression(io.github.douira.glsl_transformer.GLSLParser.ExpressionContext ctx)
    • visitStatement

      public Statement visitStatement(io.github.douira.glsl_transformer.GLSLParser.StatementContext ctx)
      Specified by:
      visitStatement in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitStatement in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitExternalDeclaration

      public ExternalDeclaration visitExternalDeclaration(io.github.douira.glsl_transformer.GLSLParser.ExternalDeclarationContext ctx)
      Specified by:
      visitExternalDeclaration in interface io.github.douira.glsl_transformer.GLSLParserVisitor<ASTNode>
      Overrides:
      visitExternalDeclaration in class io.github.douira.glsl_transformer.GLSLParserBaseVisitor<ASTNode>
    • visitDeclaration

      public Declaration visitDeclaration(io.github.douira.glsl_transformer.GLSLParser.DeclarationContext ctx)
    • visitTerminal

      public ASTNode visitTerminal(TerminalNode node)
      Specified by:
      visitTerminal in interface ParseTreeVisitor<ASTNode>
      Overrides:
      visitTerminal in class AbstractParseTreeVisitor<ASTNode>
    • visitIdentifier

      public Identifier visitIdentifier(TerminalNode identifier)