CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ShaderCompiler::Visitor Class Reference

#include <CeresEngine/Material/ShaderCompiler/AST/Visitor/Visitor.hpp>

Inheritance diagram for CeresEngine::ShaderCompiler::Visitor:
CeresEngine::ShaderCompiler::ASTPrinter CeresEngine::ShaderCompiler::ControlPathAnalyzer CeresEngine::ShaderCompiler::EndOfScopeAnalyzer CeresEngine::ShaderCompiler::ExpressionEvaluator CeresEngine::ShaderCompiler::GLSLExtensionAgent CeresEngine::ShaderCompiler::Optimizer CeresEngine::ShaderCompiler::ReflectionAnalyzer CeresEngine::ShaderCompiler::TypeConverter CeresEngine::ShaderCompiler::VisitorTracker

Public Member Functions

virtual ~Visitor ()=default
 
virtual void visitProgram (Program *ast, void *args)
 
virtual void visitCodeBlock (CodeBlock *ast, void *args)
 
virtual void visitAttribute (Attribute *ast, void *args)
 
virtual void visitSwitchCase (SwitchCase *ast, void *args)
 
virtual void visitSamplerValue (SamplerValue *ast, void *args)
 
virtual void visitRegister (Register *ast, void *args)
 
virtual void visitPackOffset (PackOffset *ast, void *args)
 
virtual void visitArrayDimension (ArrayDimension *ast, void *args)
 
virtual void visitTypeSpecifier (TypeSpecifier *ast, void *args)
 
virtual void visitVarDeclaration (VarDeclaration *ast, void *args)
 
virtual void visitBufferDeclaration (BufferDeclaration *ast, void *args)
 
virtual void visitSamplerDeclaration (SamplerDeclaration *ast, void *args)
 
virtual void visitStructDeclaration (StructDeclaration *ast, void *args)
 
virtual void visitAliasDeclaration (AliasDeclaration *ast, void *args)
 
virtual void visitFunctionDeclaration (FunctionDeclaration *ast, void *args)
 
virtual void visitUniformBufferDeclaration (UniformBufferDeclaration *ast, void *args)
 
virtual void visitBufferDeclarationStatement (BufferDeclarationStatement *ast, void *args)
 
virtual void visitSamplerDeclarationStatement (SamplerDeclarationStatement *ast, void *args)
 
virtual void visitVarDeclarationStatement (VarDeclarationStatement *ast, void *args)
 
virtual void visitAliasDeclarationStatement (AliasDeclarationStatement *ast, void *args)
 
virtual void visitBasicDeclarationStatement (BasicDeclarationStatement *ast, void *args)
 
virtual void visitNullStatement (NullStatement *ast, void *args)
 
virtual void visitCodeBlockStatement (CodeBlockStatement *ast, void *args)
 
virtual void visitForLoopStatement (ForLoopStatement *ast, void *args)
 
virtual void visitWhileLoopStatement (WhileLoopStatement *ast, void *args)
 
virtual void visitDoWhileLoopStatement (DoWhileLoopStatement *ast, void *args)
 
virtual void visitIfStatement (IfStatement *ast, void *args)
 
virtual void visitElseStatement (ElseStatement *ast, void *args)
 
virtual void visitSwitchStatement (SwitchStatement *ast, void *args)
 
virtual void visitExpressionStatement (ExpressionStatement *ast, void *args)
 
virtual void visitReturnStatement (ReturnStatement *ast, void *args)
 
virtual void visitCtrlTransferStatement (CtrlTransferStatement *ast, void *args)
 
virtual void visitLayoutStatement (LayoutStatement *ast, void *args)
 
virtual void visitNullExpression (NullExpression *ast, void *args)
 
virtual void visitSequenceExpression (SequenceExpression *ast, void *args)
 
virtual void visitLiteralExpression (LiteralExpression *ast, void *args)
 
virtual void visitTypeSpecifierExpression (TypeSpecifierExpression *ast, void *args)
 
virtual void visitTernaryExpression (TernaryExpression *ast, void *args)
 
virtual void visitBinaryExpression (BinaryExpression *ast, void *args)
 
virtual void visitUnaryExpression (UnaryExpression *ast, void *args)
 
virtual void visitPostUnaryExpression (PostUnaryExpression *ast, void *args)
 
virtual void visitCallExpression (CallExpression *ast, void *args)
 
virtual void visitBracketExpression (BracketExpression *ast, void *args)
 
virtual void visitAssignExpression (AssignExpression *ast, void *args)
 
virtual void visitObjectExpression (ObjectExpression *ast, void *args)
 
virtual void visitArrayExpression (ArrayExpression *ast, void *args)
 
virtual void visitCastExpression (CastExpression *ast, void *args)
 
virtual void visitInitializerExpression (InitializerExpression *ast, void *args)
 

Protected Member Functions

template<typename T >
void visit (const T &ast, void *args=nullptr)
 
template<typename T >
void visit (const Vector< T > &astList, void *args=nullptr)
 

Constructor & Destructor Documentation

◆ ~Visitor()

virtual CeresEngine::ShaderCompiler::Visitor::~Visitor ( )
virtualdefault

Member Function Documentation

◆ visit() [1/2]

template<typename T >
void CeresEngine::ShaderCompiler::Visitor::visit ( const T ast,
void args = nullptr 
)
inlineprotected

◆ visit() [2/2]

template<typename T >
void CeresEngine::ShaderCompiler::Visitor::visit ( const Vector< T > &  astList,
void args = nullptr 
)
inlineprotected

◆ visitAliasDeclaration()

virtual void CeresEngine::ShaderCompiler::Visitor::visitAliasDeclaration ( AliasDeclaration ast,
void args 
)
virtual

◆ visitAliasDeclarationStatement()

◆ visitArrayDimension()

◆ visitArrayExpression()

◆ visitAssignExpression()

◆ visitAttribute()

virtual void CeresEngine::ShaderCompiler::Visitor::visitAttribute ( Attribute ast,
void args 
)
virtual

◆ visitBasicDeclarationStatement()

◆ visitBinaryExpression()

◆ visitBracketExpression()

◆ visitBufferDeclaration()

◆ visitBufferDeclarationStatement()

◆ visitCallExpression()

◆ visitCastExpression()

◆ visitCodeBlock()

◆ visitCodeBlockStatement()

◆ visitCtrlTransferStatement()

◆ visitDoWhileLoopStatement()

◆ visitElseStatement()

◆ visitExpressionStatement()

◆ visitForLoopStatement()

◆ visitFunctionDeclaration()

◆ visitIfStatement()

◆ visitInitializerExpression()

◆ visitLayoutStatement()

virtual void CeresEngine::ShaderCompiler::Visitor::visitLayoutStatement ( LayoutStatement ast,
void args 
)
virtual

◆ visitLiteralExpression()

◆ visitNullExpression()

virtual void CeresEngine::ShaderCompiler::Visitor::visitNullExpression ( NullExpression ast,
void args 
)
virtual

◆ visitNullStatement()

virtual void CeresEngine::ShaderCompiler::Visitor::visitNullStatement ( NullStatement ast,
void args 
)
virtual

◆ visitObjectExpression()

◆ visitPackOffset()

virtual void CeresEngine::ShaderCompiler::Visitor::visitPackOffset ( PackOffset ast,
void args 
)
virtual

◆ visitPostUnaryExpression()

◆ visitProgram()

◆ visitRegister()

virtual void CeresEngine::ShaderCompiler::Visitor::visitRegister ( Register ast,
void args 
)
virtual

◆ visitReturnStatement()

◆ visitSamplerDeclaration()

◆ visitSamplerDeclarationStatement()

◆ visitSamplerValue()

virtual void CeresEngine::ShaderCompiler::Visitor::visitSamplerValue ( SamplerValue ast,
void args 
)
virtual

◆ visitSequenceExpression()

◆ visitStructDeclaration()

◆ visitSwitchCase()

◆ visitSwitchStatement()

◆ visitTernaryExpression()

◆ visitTypeSpecifier()

◆ visitTypeSpecifierExpression()

virtual void CeresEngine::ShaderCompiler::Visitor::visitTypeSpecifierExpression ( TypeSpecifierExpression ast,
void args 
)
virtual

◆ visitUnaryExpression()

◆ visitUniformBufferDeclaration()

◆ visitVarDeclaration()

◆ visitVarDeclarationStatement()

◆ visitWhileLoopStatement()


The documentation for this class was generated from the following file: