#include <CeresEngine/Material/ShaderCompiler/AST/AST.hpp>
|
| 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 ))
} |
| |
◆ anonymous enum
| Enumerator |
|---|
| isReachable | |
| isDeadCode | |
| isBuiltin | |
◆ Types
| Enumerator |
|---|
| 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 | |
◆ ~AST()
| virtual CeresEngine::ShaderCompiler::AST::~AST |
( |
| ) |
|
|
virtual |
◆ as() [1/2]
| T * CeresEngine::ShaderCompiler::AST::as |
( |
| ) |
|
|
inline |
◆ as() [2/2]
| const T * CeresEngine::ShaderCompiler::AST::as |
( |
| ) |
const |
|
inline |
◆ getAs() [1/2]
| static T * CeresEngine::ShaderCompiler::AST::getAs |
( |
AST * |
ast | ) |
|
|
inlinestatic |
◆ getAs() [2/2]
◆ getType()
| virtual Types CeresEngine::ShaderCompiler::AST::getType |
( |
| ) |
const |
|
pure virtual |
Implemented in CeresEngine::ShaderCompiler::Program, CeresEngine::ShaderCompiler::CodeBlock, CeresEngine::ShaderCompiler::SamplerValue, CeresEngine::ShaderCompiler::Attribute, CeresEngine::ShaderCompiler::SwitchCase, CeresEngine::ShaderCompiler::Register, CeresEngine::ShaderCompiler::PackOffset, CeresEngine::ShaderCompiler::ArrayDimension, CeresEngine::ShaderCompiler::TypeSpecifier, CeresEngine::ShaderCompiler::VarDeclaration, CeresEngine::ShaderCompiler::BufferDeclaration, CeresEngine::ShaderCompiler::SamplerDeclaration, CeresEngine::ShaderCompiler::StructDeclaration, CeresEngine::ShaderCompiler::AliasDeclaration, CeresEngine::ShaderCompiler::FunctionDeclaration, CeresEngine::ShaderCompiler::UniformBufferDeclaration, CeresEngine::ShaderCompiler::BufferDeclarationStatement, CeresEngine::ShaderCompiler::SamplerDeclarationStatement, CeresEngine::ShaderCompiler::BasicDeclarationStatement, CeresEngine::ShaderCompiler::VarDeclarationStatement, CeresEngine::ShaderCompiler::AliasDeclarationStatement, CeresEngine::ShaderCompiler::NullStatement, CeresEngine::ShaderCompiler::CodeBlockStatement, CeresEngine::ShaderCompiler::ForLoopStatement, CeresEngine::ShaderCompiler::WhileLoopStatement, CeresEngine::ShaderCompiler::DoWhileLoopStatement, CeresEngine::ShaderCompiler::IfStatement, CeresEngine::ShaderCompiler::ElseStatement, CeresEngine::ShaderCompiler::SwitchStatement, CeresEngine::ShaderCompiler::ExpressionStatement, CeresEngine::ShaderCompiler::ReturnStatement, CeresEngine::ShaderCompiler::CtrlTransferStatement, CeresEngine::ShaderCompiler::LayoutStatement, CeresEngine::ShaderCompiler::NullExpression, CeresEngine::ShaderCompiler::SequenceExpression, CeresEngine::ShaderCompiler::LiteralExpression, CeresEngine::ShaderCompiler::TypeSpecifierExpression, CeresEngine::ShaderCompiler::TernaryExpression, CeresEngine::ShaderCompiler::BinaryExpression, CeresEngine::ShaderCompiler::UnaryExpression, CeresEngine::ShaderCompiler::PostUnaryExpression, CeresEngine::ShaderCompiler::CallExpression, CeresEngine::ShaderCompiler::BracketExpression, CeresEngine::ShaderCompiler::AssignExpression, CeresEngine::ShaderCompiler::ObjectExpression, CeresEngine::ShaderCompiler::ArrayExpression, CeresEngine::ShaderCompiler::CastExpression, and CeresEngine::ShaderCompiler::InitializerExpression.
◆ visit()
Implemented in CeresEngine::ShaderCompiler::Program, CeresEngine::ShaderCompiler::CodeBlock, CeresEngine::ShaderCompiler::SamplerValue, CeresEngine::ShaderCompiler::Attribute, CeresEngine::ShaderCompiler::SwitchCase, CeresEngine::ShaderCompiler::Register, CeresEngine::ShaderCompiler::PackOffset, CeresEngine::ShaderCompiler::ArrayDimension, CeresEngine::ShaderCompiler::TypeSpecifier, CeresEngine::ShaderCompiler::VarDeclaration, CeresEngine::ShaderCompiler::BufferDeclaration, CeresEngine::ShaderCompiler::SamplerDeclaration, CeresEngine::ShaderCompiler::StructDeclaration, CeresEngine::ShaderCompiler::AliasDeclaration, CeresEngine::ShaderCompiler::FunctionDeclaration, CeresEngine::ShaderCompiler::UniformBufferDeclaration, CeresEngine::ShaderCompiler::BufferDeclarationStatement, CeresEngine::ShaderCompiler::SamplerDeclarationStatement, CeresEngine::ShaderCompiler::BasicDeclarationStatement, CeresEngine::ShaderCompiler::VarDeclarationStatement, CeresEngine::ShaderCompiler::AliasDeclarationStatement, CeresEngine::ShaderCompiler::NullStatement, CeresEngine::ShaderCompiler::CodeBlockStatement, CeresEngine::ShaderCompiler::ForLoopStatement, CeresEngine::ShaderCompiler::WhileLoopStatement, CeresEngine::ShaderCompiler::DoWhileLoopStatement, CeresEngine::ShaderCompiler::IfStatement, CeresEngine::ShaderCompiler::ElseStatement, CeresEngine::ShaderCompiler::SwitchStatement, CeresEngine::ShaderCompiler::ExpressionStatement, CeresEngine::ShaderCompiler::ReturnStatement, CeresEngine::ShaderCompiler::CtrlTransferStatement, CeresEngine::ShaderCompiler::LayoutStatement, CeresEngine::ShaderCompiler::NullExpression, CeresEngine::ShaderCompiler::SequenceExpression, CeresEngine::ShaderCompiler::LiteralExpression, CeresEngine::ShaderCompiler::TypeSpecifierExpression, CeresEngine::ShaderCompiler::TernaryExpression, CeresEngine::ShaderCompiler::BinaryExpression, CeresEngine::ShaderCompiler::UnaryExpression, CeresEngine::ShaderCompiler::PostUnaryExpression, CeresEngine::ShaderCompiler::CallExpression, CeresEngine::ShaderCompiler::BracketExpression, CeresEngine::ShaderCompiler::AssignExpression, CeresEngine::ShaderCompiler::ObjectExpression, CeresEngine::ShaderCompiler::ArrayExpression, CeresEngine::ShaderCompiler::CastExpression, and CeresEngine::ShaderCompiler::InitializerExpression.
◆ area
◆ flags
| RawFlags CeresEngine::ShaderCompiler::AST::flags |
The documentation for this struct was generated from the following file:
- /Users/Rogiel/Developer/CeresEngine/Engine/Sources/CeresEngine/Material/ShaderCompiler/AST/AST.hpp