CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ShaderCompiler::Statement Struct Reference

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

Inheritance diagram for CeresEngine::ShaderCompiler::Statement:
CeresEngine::ShaderCompiler::AST CeresEngine::ShaderCompiler::AliasDeclarationStatement CeresEngine::ShaderCompiler::BasicDeclarationStatement CeresEngine::ShaderCompiler::BufferDeclarationStatement CeresEngine::ShaderCompiler::CodeBlockStatement CeresEngine::ShaderCompiler::CtrlTransferStatement CeresEngine::ShaderCompiler::DoWhileLoopStatement CeresEngine::ShaderCompiler::ElseStatement CeresEngine::ShaderCompiler::ExpressionStatement CeresEngine::ShaderCompiler::ForLoopStatement CeresEngine::ShaderCompiler::IfStatement CeresEngine::ShaderCompiler::LayoutStatement CeresEngine::ShaderCompiler::NullStatement CeresEngine::ShaderCompiler::ReturnStatement CeresEngine::ShaderCompiler::SamplerDeclarationStatement CeresEngine::ShaderCompiler::SwitchStatement CeresEngine::ShaderCompiler::VarDeclarationStatement CeresEngine::ShaderCompiler::WhileLoopStatement

Public Member Functions

virtual void collectDeclarationIdents (Map< const AST *, String > &declarationASTIdents) const
 
- Public Member Functions inherited from CeresEngine::ShaderCompiler::AST
virtual ~AST ()
 
virtual Types getType () const =0
 
virtual void visit (Visitor *visitor, void *args=nullptr)=0
 
template<typename T >
Tas ()
 
template<typename T >
const Tas () const
 

Public Attributes

String comment
 
Vector< AttributePtrattributes
 
- Public Attributes inherited from CeresEngine::ShaderCompiler::AST
SourceArea area
 
RawFlags flags
 

Additional Inherited Members

- Public Types inherited from CeresEngine::ShaderCompiler::AST
enum class  Types {
  Program , CodeBlock , Attribute , SwitchCase ,
  SamplerValue , Register , PackOffset , ArrayDimension ,
  TypeSpecifier , VarDeclaration , BufferDeclaration , SamplerDeclaration ,
  StructDeclaration , AliasDeclaration , FunctionDeclaration , UniformBufferDeclaration ,
  VarDeclarationStatement , BufferDeclarationStatement , SamplerDeclarationStatement , AliasDeclarationStatement ,
  BasicDeclarationStatement , NullStatement , CodeBlockStatement , ForLoopStatement ,
  WhileLoopStatement , DoWhileLoopStatement , IfStatement , ElseStatement ,
  SwitchStatement , ExpressionStatement , ReturnStatement , CtrlTransferStatement ,
  LayoutStatement , NullExpression , SequenceExpression , LiteralExpression ,
  TypeSpecifierExpression , TernaryExpression , BinaryExpression , UnaryExpression ,
  PostUnaryExpression , CallExpression , BracketExpression , ObjectExpression ,
  AssignExpression , ArrayExpression , CastExpression , InitializerExpression
}
 
enum  : UInt32 { isReachable = (1u << ( 30 )) , isDeadCode = (1u << ( 29 )) , isBuiltin = (1u << ( 28 )) }
 
- Static Public Member Functions inherited from CeresEngine::ShaderCompiler::AST
template<typename T >
static TgetAs (AST *ast)
 
template<typename T >
static const TgetAs (const AST *ast)
 

Member Function Documentation

◆ collectDeclarationIdents()

virtual void CeresEngine::ShaderCompiler::Statement::collectDeclarationIdents ( Map< const AST *, String > &  declarationASTIdents) const
virtual

Member Data Documentation

◆ attributes

Vector<AttributePtr> CeresEngine::ShaderCompiler::Statement::attributes

◆ comment

String CeresEngine::ShaderCompiler::Statement::comment

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