#include <CeresEngine/Material/ShaderCompiler/AST/AST.hpp>
|
| enum | : UInt32 { isShaderInput = (1u << ( 2 ))
, isShaderOutput = (1u << ( 3 ))
, isNestedStruct = (1u << ( 4 ))
, isNonEntryPointParam = (1u << ( 5 ))
} |
| |
| enum | : UInt32 { isWrittenTo = (1u << ( 0 ))
, isReadFrom = (1u << ( 1 ))
} |
| |
| 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 ))
} |
| |
|
| | StructDeclaration (const SourcePosition &astPos) |
| |
| | StructDeclaration (const SourceArea &astArea) |
| |
| Types | getType () const override |
| |
| void | visit (Visitor *visitor, void *args=nullptr) override |
| |
| String | toString () const override |
| |
| bool | equalsMemberTypes (const StructDeclaration &rhs, const RawFlags &compareFlags=0) const |
| |
| bool | isCastableTo (const BaseTypeDenoter &rhs) const |
| |
| VarDeclaration * | fetchVarDeclaration (const String &ident, const StructDeclaration **owner=nullptr) const |
| |
| VarDeclaration * | fetchBaseMember () const |
| |
| StructDeclaration * | fetchBaseStructDeclaration (const String &ident) |
| |
| FunctionDeclaration * | fetchFunctionDeclaration (const String &ident, const Vector< TypeDenoterPtr > &argTypeDenoters, const StructDeclaration **owner=nullptr, bool throwErrorIfNoMatch=false) const |
| |
| String | fetchSimilar (const String &ident) |
| |
| TypeDenoterPtr | deriveTypeDenoter (const TypeDenoter *expectedTypeDenoter) override |
| |
| bool | hasNonSystemValueMembers () const |
| |
| std::size_t | numMemberVariables (bool onlyNonStaticMembers=false) const |
| |
| std::size_t | numMemberFunctions (bool onlyNonStaticMembers=false) const |
| |
| void | collectMemberTypeDenoters (Vector< TypeDenoterPtr > &memberTypeDens, bool includeBaseStructs=true) const |
| |
| void | forEachVarDeclaration (const VarDeclarationIteratorFunctor &iterator, bool includeBaseStructs=true) |
| |
| void | addShaderOutputInstance (VarDeclaration *varDeclaration) |
| |
| bool | hasMultipleShaderOutputInstances () const |
| |
| bool | isBaseOf (const StructDeclaration *subStructDeclaration, bool includeSelf=false) const |
| |
| void | addFlagsRecursive (UInt32 structFlags) |
| |
| void | addFlagsRecursiveParents (UInt32 structFlags) |
| |
| std::size_t | memberVarToIndex (const VarDeclaration *varDeclaration, bool includeBaseStructs=true) const |
| |
| VarDeclaration * | indexToMemberVar (std::size_t idx, bool includeBaseStructs=true) const |
| |
| bool | accumulateAlignedVectorSize (UInt32 &size, UInt32 &padding, UInt32 *offset=nullptr) |
| |
| virtual TypeSpecifier * | fetchTypeSpecifier () const |
| |
| bool | isAnonymous () const |
| |
| const TypeDenoterPtr & | getTypeDenoter (const TypeDenoter *expectedTypeDenoter=nullptr) |
| |
| void | resetTypeDenoter () |
| |
| virtual | ~AST () |
| |
| template<typename T > |
| T * | as () |
| |
| template<typename T > |
| const T * | as () const |
| |
◆ anonymous enum
| Enumerator |
|---|
| isShaderInput | |
| isShaderOutput | |
| isNestedStruct | |
| isNonEntryPointParam | |
◆ StructDeclaration() [1/2]
| CeresEngine::ShaderCompiler::StructDeclaration::StructDeclaration |
( |
const SourcePosition & |
astPos | ) |
|
|
inlineexplicit |
◆ StructDeclaration() [2/2]
| CeresEngine::ShaderCompiler::StructDeclaration::StructDeclaration |
( |
const SourceArea & |
astArea | ) |
|
|
inlineexplicit |
◆ accumulateAlignedVectorSize()
◆ addFlagsRecursive()
| void CeresEngine::ShaderCompiler::StructDeclaration::addFlagsRecursive |
( |
UInt32 |
structFlags | ) |
|
◆ addFlagsRecursiveParents()
| void CeresEngine::ShaderCompiler::StructDeclaration::addFlagsRecursiveParents |
( |
UInt32 |
structFlags | ) |
|
◆ addShaderOutputInstance()
| void CeresEngine::ShaderCompiler::StructDeclaration::addShaderOutputInstance |
( |
VarDeclaration * |
varDeclaration | ) |
|
◆ collectMemberTypeDenoters()
| void CeresEngine::ShaderCompiler::StructDeclaration::collectMemberTypeDenoters |
( |
Vector< TypeDenoterPtr > & |
memberTypeDens, |
|
|
bool |
includeBaseStructs = true |
|
) |
| const |
◆ deriveTypeDenoter()
◆ equalsMemberTypes()
◆ fetchBaseMember()
| VarDeclaration * CeresEngine::ShaderCompiler::StructDeclaration::fetchBaseMember |
( |
| ) |
const |
◆ fetchBaseStructDeclaration()
◆ fetchFunctionDeclaration()
◆ fetchSimilar()
| String CeresEngine::ShaderCompiler::StructDeclaration::fetchSimilar |
( |
const String & |
ident | ) |
|
◆ fetchVarDeclaration()
◆ forEachVarDeclaration()
◆ getType()
| Types CeresEngine::ShaderCompiler::StructDeclaration::getType |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ hasMultipleShaderOutputInstances()
| bool CeresEngine::ShaderCompiler::StructDeclaration::hasMultipleShaderOutputInstances |
( |
| ) |
const |
◆ hasNonSystemValueMembers()
| bool CeresEngine::ShaderCompiler::StructDeclaration::hasNonSystemValueMembers |
( |
| ) |
const |
◆ indexToMemberVar()
| VarDeclaration * CeresEngine::ShaderCompiler::StructDeclaration::indexToMemberVar |
( |
std::size_t |
idx, |
|
|
bool |
includeBaseStructs = true |
|
) |
| const |
◆ isBaseOf()
◆ isCastableTo()
◆ memberVarToIndex()
| std::size_t CeresEngine::ShaderCompiler::StructDeclaration::memberVarToIndex |
( |
const VarDeclaration * |
varDeclaration, |
|
|
bool |
includeBaseStructs = true |
|
) |
| const |
◆ numMemberFunctions()
| std::size_t CeresEngine::ShaderCompiler::StructDeclaration::numMemberFunctions |
( |
bool |
onlyNonStaticMembers = false | ) |
const |
◆ numMemberVariables()
| std::size_t CeresEngine::ShaderCompiler::StructDeclaration::numMemberVariables |
( |
bool |
onlyNonStaticMembers = false | ) |
const |
◆ toString()
| String CeresEngine::ShaderCompiler::StructDeclaration::toString |
( |
| ) |
const |
|
overridevirtual |
◆ visit()
◆ baseStructName
| String CeresEngine::ShaderCompiler::StructDeclaration::baseStructName |
◆ baseStructRef
◆ classType
◆ compatibleStructRef
◆ declarationStatementRef
◆ funcMembers
◆ isClass
| bool CeresEngine::ShaderCompiler::StructDeclaration::isClass = false |
◆ localStatements
◆ parentStructDeclarationRefs
◆ shaderOutputVarDeclarationRefs
| Set<VarDeclaration*> CeresEngine::ShaderCompiler::StructDeclaration::shaderOutputVarDeclarationRefs |
◆ systemValuesRef
◆ varMembers
The documentation for this struct was generated from the following file:
- /Users/Rogiel/Developer/CeresEngine/Engine/Sources/CeresEngine/Material/ShaderCompiler/AST/AST.hpp