Class ASTPrinterBase
java.lang.Object
io.github.douira.glsl_transformer.ast.traversal.ASTBaseVisitor<R>
io.github.douira.glsl_transformer.ast.traversal.ASTWalker<R>
io.github.douira.glsl_transformer.ast.traversal.ASTListenerVisitor<Void>
io.github.douira.glsl_transformer.ast.print.ASTPrinterBase
- All Implemented Interfaces:
ASTListener,ASTVisitor<Void>,ContextTracker,GeneralASTListener,GeneralASTVisitor<Void>
- Direct Known Subclasses:
ASTPrinter
-
Field Summary
Fields inherited from class io.github.douira.glsl_transformer.ast.traversal.ASTBaseVisitor
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendToken(PrintToken token) protected voidprotected voidcompactCommonNewline(Class<? extends ASTNode> sourceClass) protected voidprotected voidprotected voidprotected voidprotected voidemitExactWhitespace(String whitespace) protected voidprotected voidemitLineDirective(SourceLocation location) protected voidemitLiteral(TokenRole role, String literal) protected voidemitLiteral(String literal) protected voidemitLiterals(TokenRole role, String... literals) protected voidemitLiterals(String... literals) protected voidemitLiteralSafe(String literal) protected voidprotected voidemitToken(PrintToken token) protected voidemitTokens(PrintToken... tokens) protected voidemitType(int type) protected voidemitType(int... types) protected voidprotected voidprotected voidemitWhitespace(TokenRole role, String whitespace) voidenterContext(ASTNode node) protected voidprotected Stringprotected ASTNodeprotected voidindent()voidreplaceToken(PrintToken replacement) protected voidsetCurrentNode(ASTNode currentNode) protected voidunindent()protected voidvisitCommaSpaced(List<? extends ASTNode> nodes) protected booleanprotected voidvisitWithSeparator(List<? extends ASTNode> nodes, Runnable emitter) Methods inherited from class io.github.douira.glsl_transformer.ast.traversal.ASTListenerVisitor
walkAndListenMethods inherited from class io.github.douira.glsl_transformer.ast.traversal.ASTWalker
enterNode, exitNode, walkMethods inherited from class io.github.douira.glsl_transformer.ast.traversal.ASTBaseVisitor
aggregateResult, setContext, startVisit, visitRawMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.github.douira.glsl_transformer.ast.traversal.ASTListener
enterAdditionAssignmentExpression, enterAdditionExpression, enterArrayAccessExpression, enterArraySpecifier, enterAssignmentExpression, enterBinaryExpression, enterBitwiseAndAssignmentExpression, enterBitwiseAndExpression, enterBitwiseNotExpression, enterBitwiseOrAssignmentExpression, enterBitwiseOrExpression, enterBitwiseXorAssignmentExpression, enterBitwiseXorExpression, enterBooleanAndExpression, enterBooleanNotExpression, enterBooleanOrExpression, enterBooleanXorExpression, enterCaseLabelStatement, enterCaseStatement, enterCompoundStatement, enterConditionExpression, enterDeclaration, enterDeclarationExternalDeclaration, enterDeclarationMember, enterDeclarationStatement, enterDecrementPostfixExpression, enterDecrementPrefixExpression, enterDivisionAssignmentExpression, enterDivisionExpression, enterDoWhileLoopStatement, enterEqualityExpression, enterExpression, enterExpressionInitializer, enterExpressionStatement, enterExternalDeclaration, enterForLoopStatement, enterFullySpecifiedType, enterFunctionCallExpression, enterFunctionDeclaration, enterFunctionDefinition, enterFunctionParameter, enterFunctionPrototype, enterGreaterThanEqualExpression, enterGreaterThanExpression, enterGroupingExpression, enterIdentityExpression, enterIncrementPostfixExpression, enterIncrementPrefixExpression, enterInequalityExpression, enterInitializer, enterInterfaceBlockDeclaration, enterIterationConditionInitializer, enterLayoutDefaults, enterLayoutQualifier, enterLayoutQualifierPart, enterLeftShiftAssignmentExpression, enterLeftShiftExpression, enterLengthAccessExpression, enterLessThanEqualExpression, enterLessThanExpression, enterLiteralExpression, enterLoopStatement, enterManyExpression, enterManyStatement, enterMemberAccessExpression, enterModuloAssignmentExpression, enterModuloExpression, enterMultiplicationAssignmentExpression, enterMultiplicationExpression, enterNamedLayoutQualifierPart, enterNegationExpression, enterNestedInitializer, enterPrecisionDeclaration, enterReferenceExpression, enterRightShiftAssignmentExpression, enterRightShiftExpression, enterSelectionStatement, enterSemiTerminalStatement, enterSequenceExpression, enterStatement, enterStorageQualifier, enterStructBody, enterStructDeclarator, enterStructMember, enterStructSpecifier, enterSubtractionAssignmentExpression, enterSubtractionExpression, enterSwitchStatement, enterTernaryExpression, enterTranslationUnit, enterTypeAndInitDeclaration, enterTypeQualifier, enterTypeQualifierPart, enterTypeReference, enterTypeSpecifier, enterUnaryExpression, enterVariableDeclaration, enterWhileLoopStatement, exitAdditionAssignmentExpression, exitAdditionExpression, exitArrayAccessExpression, exitArraySpecifier, exitAssignmentExpression, exitBinaryExpression, exitBitwiseAndAssignmentExpression, exitBitwiseAndExpression, exitBitwiseNotExpression, exitBitwiseOrAssignmentExpression, exitBitwiseOrExpression, exitBitwiseXorAssignmentExpression, exitBitwiseXorExpression, exitBooleanAndExpression, exitBooleanNotExpression, exitBooleanOrExpression, exitBooleanXorExpression, exitCaseLabelStatement, exitCaseStatement, exitCompoundStatement, exitConditionExpression, exitDeclaration, exitDeclarationExternalDeclaration, exitDeclarationMember, exitDeclarationStatement, exitDecrementPostfixExpression, exitDecrementPrefixExpression, exitDivisionAssignmentExpression, exitDivisionExpression, exitDoWhileLoopStatement, exitEqualityExpression, exitExpression, exitExpressionInitializer, exitExpressionStatement, exitExternalDeclaration, exitForLoopStatement, exitFullySpecifiedType, exitFunctionCallExpression, exitFunctionDeclaration, exitFunctionDefinition, exitFunctionParameter, exitFunctionPrototype, exitGreaterThanEqualExpression, exitGreaterThanExpression, exitGroupingExpression, exitIdentityExpression, exitIncrementPostfixExpression, exitIncrementPrefixExpression, exitInequalityExpression, exitInitializer, exitInterfaceBlockDeclaration, exitIterationConditionInitializer, exitLayoutDefaults, exitLayoutQualifier, exitLayoutQualifierPart, exitLeftShiftAssignmentExpression, exitLeftShiftExpression, exitLengthAccessExpression, exitLessThanEqualExpression, exitLessThanExpression, exitLiteralExpression, exitLoopStatement, exitManyExpression, exitManyStatement, exitMemberAccessExpression, exitModuloAssignmentExpression, exitModuloExpression, exitMultiplicationAssignmentExpression, exitMultiplicationExpression, exitNamedLayoutQualifierPart, exitNegationExpression, exitNestedInitializer, exitPrecisionDeclaration, exitReferenceExpression, exitRightShiftAssignmentExpression, exitRightShiftExpression, exitSelectionStatement, exitSemiTerminalStatement, exitSequenceExpression, exitStatement, exitStorageQualifier, exitStructBody, exitStructDeclarator, exitStructMember, exitStructSpecifier, exitSubtractionAssignmentExpression, exitSubtractionExpression, exitSwitchStatement, exitTernaryExpression, exitTranslationUnit, exitTypeAndInitDeclaration, exitTypeQualifier, exitTypeQualifierPart, exitTypeReference, exitTypeSpecifier, exitUnaryExpression, exitVariableDeclaration, exitWhileLoopStatementMethods inherited from interface io.github.douira.glsl_transformer.ast.traversal.ASTVisitor
visitAdditionAssignmentExpression, visitAdditionExpression, visitArrayAccessExpression, visitArraySpecifier, visitAssignmentExpression, visitBinaryExpression, visitBitwiseAndAssignmentExpression, visitBitwiseAndExpression, visitBitwiseNotExpression, visitBitwiseOrAssignmentExpression, visitBitwiseOrExpression, visitBitwiseXorAssignmentExpression, visitBitwiseXorExpression, visitBooleanAndExpression, visitBooleanNotExpression, visitBooleanOrExpression, visitBooleanXorExpression, visitBreakStatement, visitBuiltinFixedTypeSpecifier, visitBuiltinNumericTypeSpecifier, visitCaseLabelStatement, visitCaseStatement, visitCompoundStatement, visitConditionExpression, visitContinueStatement, visitCustomDirective, visitDeclaration, visitDeclarationExternalDeclaration, visitDeclarationMember, visitDeclarationStatement, visitDecrementPostfixExpression, visitDecrementPrefixExpression, visitDefaultStatement, visitDemoteStatement, visitDiscardStatement, visitDivisionAssignmentExpression, visitDivisionExpression, visitDoWhileLoopStatement, visitEmptyDeclaration, visitEmptyStatement, visitEqualityExpression, visitExpression, visitExpressionInitializer, visitExpressionStatement, visitExtensionDirective, visitExternalDeclaration, visitForLoopStatement, visitFullySpecifiedType, visitFunctionCallExpression, visitFunctionDeclaration, visitFunctionDefinition, visitFunctionParameter, visitFunctionPrototype, visitGreaterThanEqualExpression, visitGreaterThanExpression, visitGroupingExpression, visitIdentifier, visitIdentityExpression, visitIgnoreIntersectionStatement, visitIncludeDirective, visitIncrementPostfixExpression, visitIncrementPrefixExpression, visitInequalityExpression, visitInitializer, visitInterfaceBlockDeclaration, visitInterpolationQualifier, visitInvariantQualifier, visitIterationConditionInitializer, visitLayoutDefaults, visitLayoutQualifier, visitLayoutQualifierPart, visitLeftShiftAssignmentExpression, visitLeftShiftExpression, visitLengthAccessExpression, visitLessThanEqualExpression, visitLessThanExpression, visitLiteralExpression, visitLoopStatement, visitManyExpression, visitManyStatement, visitMemberAccessExpression, visitModuloAssignmentExpression, visitModuloExpression, visitMultiplicationAssignmentExpression, visitMultiplicationExpression, visitNamedLayoutQualifierPart, visitNegationExpression, visitNestedInitializer, visitPragmaDirective, visitPreciseQualifier, visitPrecisionDeclaration, visitPrecisionQualifier, visitReferenceExpression, visitReturnStatement, visitRightShiftAssignmentExpression, visitRightShiftExpression, visitSelectionStatement, visitSemiTerminalStatement, visitSequenceExpression, visitSharedLayoutQualifierPart, visitStatement, visitStorageQualifier, visitStructBody, visitStructDeclarator, visitStructMember, visitStructSpecifier, visitSubtractionAssignmentExpression, visitSubtractionExpression, visitSwitchStatement, visitTerminalExpression, visitTerminalStatement, visitTerminateRayStatement, visitTernaryExpression, visitTranslationUnit, visitTypeAndInitDeclaration, visitTypeQualifier, visitTypeQualifierPart, visitTypeReference, visitTypeSpecifier, visitUnaryExpression, visitVariableDeclaration, visitVersionStatement, visitWhileLoopStatementMethods inherited from interface io.github.douira.glsl_transformer.ast.traversal.GeneralASTListener
afterEnterEveryNode, beforeExitEveryNode, enterEveryNode, exitEveryNodeMethods inherited from interface io.github.douira.glsl_transformer.ast.traversal.GeneralASTVisitor
aggregateResult, visit, visitChildren, visitChildren, visitChildren, visitChildren, visitData, visitSafe, visitThreeChildren, visitTwoChildren
-
Constructor Details
-
ASTPrinterBase
-
-
Method Details
-
generateString
-
appendToken
-
replaceToken
-
emitToken
-
finalizePrinting
protected void finalizePrinting() -
emitTokens
-
emitLiteral
-
emitLiteral
-
emitLiteralSafe
-
emitLiterals
-
emitLiterals
-
emitType
-
emitType
protected void emitType(int type) -
emitType
-
emitType
protected void emitType(int... types) -
emitWhitespace
-
emitExactWhitespace
-
emitExactSpace
protected void emitExactSpace() -
emitExtendableSpace
protected void emitExtendableSpace() -
emitBreakableSpace
protected void emitBreakableSpace() -
emitExactNewline
protected void emitExactNewline() -
emitCommonNewline
protected void emitCommonNewline() -
emitStatementEnd
protected void emitStatementEnd() -
emitLineDirective
-
indent
protected void indent() -
unindent
protected void unindent() -
compactCommonNewline
protected void compactCommonNewline() -
compactCommonNewline
-
visitWithSeparator
-
visitCommaSpaced
-
getCurrentNode
-
setCurrentNode
-
visitSafe
-
enterContext
- Specified by:
enterContextin interfaceContextTracker- Overrides:
enterContextin classASTListenerVisitor<Void>
-
visit
-
initialResult
- Specified by:
initialResultin interfaceGeneralASTVisitor<Void>- Overrides:
initialResultin classASTBaseVisitor<Void>
-
superNodeTypeResult
- Specified by:
superNodeTypeResultin interfaceGeneralASTVisitor<Void>- Overrides:
superNodeTypeResultin classASTBaseVisitor<Void>
-
visitData
-
defaultResult
- Specified by:
defaultResultin interfaceGeneralASTVisitor<Void>- Overrides:
defaultResultin classASTBaseVisitor<Void>
-