|
| virtual void | generateCodePrimary (Program &program, const ShaderInput &inputDesc, const ShaderOutput &outputDesc)=0 |
| |
| void | error (const String &msg, const AST *ast=nullptr, bool breakWithException=true) |
| |
| void | warning (const String &msg, const AST *ast=nullptr) |
| |
| void | beginLn () |
| |
| void | endLn () |
| |
| void | beginAlignedLines () |
| |
| void | endAlignedLines () |
| |
| void | separator () |
| |
| void | writeScopeOpen (bool compact=false, bool endWithSemicolon=false, bool useBraces=true) |
| |
| void | writeScopeClose () |
| |
| void | writeScopeContinue () |
| |
| bool | isOpenLine () const |
| |
| void | write (const String &text) |
| |
| void | writeLn (const String &text) |
| |
| void | incrementIndent () |
| |
| void | decrementIndent () |
| |
| void | pushOptions (const CodeWriter::Options &options) |
| |
| void | popOptions () |
| |
| void | pushWritePrefix (const String &text) |
| |
| void | popWritePrefix (const String &text="") |
| |
| bool | isTopWritePrefix () const |
| |
| void | blank () |
| |
| String | getTimePoint () const |
| |
| Program * | getProgram () const |
| |
| ShaderTarget | getShaderTarget () const |
| |
| bool | isWarningEnabled (UInt32 flags) const |
| |
| bool | isVertexShader () const |
| |
| bool | isTessControlShader () const |
| |
| bool | isTessEvaluationShader () const |
| |
| bool | isGeometryShader () const |
| |
| bool | isFragmentShader () const |
| |
| bool | isComputeShader () const |
| |
| bool | isInsideGlobalScope () const |
| |
| void | pushFunctionDeclaration (FunctionDeclaration *funcDeclaration) |
| |
| void | popFunctionDeclaration () |
| |
| bool | isInsideFunctionDeclaration () const |
| |
| bool | isInsideEntryPoint () const |
| |
| bool | isInsideSecondaryEntryPoint () const |
| |
| FunctionDeclaration * | getActiveFunctionDeclaration () const |
| |
| StructDeclaration * | getActiveFunctionStructDeclaration () const |
| |
| void | pushCallExpression (CallExpression *callExpression) |
| |
| void | popCallExpression () |
| |
| CallExpression * | getActiveCallExpression () const |
| |
| void | pushLValueExpression (Expression *expression) |
| |
| void | popLValueExpression () |
| |
| Expression * | getActiveLValueExpression () const |
| |
| void | pushStructDeclaration (StructDeclaration *structDeclaration) |
| |
| void | popStructDeclaration () |
| |
| bool | isInsideStructDeclaration () const |
| |
| StructDeclaration * | getActiveStructDeclaration () const |
| |
| const Vector< StructDeclaration * > & | getStructDeclarationStack () const |
| |
| void | pushUniformBufferDeclaration (UniformBufferDeclaration *uniformBufferDeclaration) |
| |
| void | popUniformBufferDeclaration () |
| |
| bool | isInsideUniformBufferDeclaration () const |
| |
| const Vector< UniformBufferDeclaration * > & | getUniformBufferDeclarationStack () const |
| |
| void | pushVarDeclarationStatement (VarDeclarationStatement *varDeclarationStatement) |
| |
| void | popVarDeclarationStatement () |
| |
| bool | isInsideVarDeclarationStatement () const |
| |
| VarDeclarationStatement * | getActiveVarDeclarationStatement () const |
| |
| template<typename T > |
| void | visit (const T &ast, void *args=nullptr) |
| |
| template<typename T > |
| void | visit (const Vector< T > &astList, void *args=nullptr) |
| |
| 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) |
| |