|
| CallExpressionPtr | makeIntrinsicCallExpression (const Intrinsic intrinsic, const String &ident, const TypeDenoterPtr &typeDenoter, const Vector< ExpressionPtr > &arguments) |
| |
| CallExpressionPtr | makeTextureSamplerBindingCallExpression (const ExpressionPtr &textureObjectExpression, const ExpressionPtr &samplerObjectExpression) |
| |
| CallExpressionPtr | makeWrapperCallExpression (const String &funcIdent, const TypeDenoterPtr &typeDenoter, const Vector< ExpressionPtr > &arguments) |
| |
| InitializerExpressionPtr | makeInitializerExpression (const Vector< ExpressionPtr > &expressions) |
| |
| CallExpressionPtr | makeTypeCtorCallExpression (const TypeDenoterPtr &typeDenoter, const Vector< ExpressionPtr > &arguments) |
| |
| CastExpressionPtr | makeCastExpression (const TypeDenoterPtr &typeDenoter, const ExpressionPtr &valueExpression) |
| |
| CastExpressionPtr | makeLiteralCastExpression (const TypeDenoterPtr &typeDenoter, const DataType literalType, const String &literalValue) |
| |
| BinaryExpressionPtr | makeBinaryExpression (const ExpressionPtr &lhsExpression, const BinaryOp op, const ExpressionPtr &rhsExpression) |
| |
| LiteralExpressionPtr | makeLiteralExpression (const DataType literalType, const String &literalValue) |
| |
| LiteralExpressionPtr | makeLiteralExpressionOrNull (const Variant &literalValue) |
| |
| AliasDeclarationStatementPtr | makeBaseTypeAlias (const DataType dataType, const String &ident) |
| |
| TypeSpecifierPtr | makeTypeSpecifier (const StructDeclarationPtr &structDeclaration) |
| |
| TypeSpecifierPtr | makeTypeSpecifier (const TypeDenoterPtr &typeDenoter) |
| |
| TypeSpecifierPtr | makeTypeSpecifier (const DataType dataType) |
| |
| VarDeclarationStatementPtr | makeVarDeclarationStatement (const TypeSpecifierPtr &typeSpecifier, const String &ident, const ExpressionPtr &initializer=nullptr) |
| |
| VarDeclarationStatementPtr | makeVarDeclarationStatement (const DataType dataType, const String &ident, const ExpressionPtr &initializer=nullptr) |
| |
| VarDeclarationStatementPtr | makeVarDeclarationStatementSplit (const VarDeclarationStatementPtr &varDeclarationStatement, std::size_t idx) |
| |
| ObjectExpressionPtr | makeObjectExpression (const ExpressionPtr &prefixExpression, const String &ident, Declaration *symbolRef=nullptr) |
| |
| ObjectExpressionPtr | makeObjectExpression (const String &ident, Declaration *symbolRef=nullptr) |
| |
| ObjectExpressionPtr | makeObjectExpression (Declaration *symbolRef) |
| |
| ArrayExpressionPtr | makeArrayExpression (const ExpressionPtr &prefixExpression, Vector< ExpressionPtr > &&arrayIndices) |
| |
| ArrayExpressionPtr | makeArrayExpression (const ExpressionPtr &prefixExpression, const Vector< int > &arrayIndices) |
| |
| ArrayExpressionPtr | makeArrayExpression (const ExpressionPtr &prefixExpression, const Vector< ExpressionPtr >::const_iterator &arrayIndicesBegin, const Vector< ExpressionPtr >::const_iterator &arrayIndicesEnd) |
| |
| ArrayExpressionPtr | makeArrayExpressionSplit (const ArrayExpressionPtr &arrayExpression, std::size_t splitArrayIndex) |
| | Splits the specified array expression at the specified array index location.
|
| |
| RegisterPtr | makeRegister (Int32 set, Int32 slot, const RegisterType registerType=RegisterType::Undefined) |
| |
| BracketExpressionPtr | makeBracketExpression (const ExpressionPtr &expression) |
| |
| ExpressionPtr | makeConstructorListExpression (const ExpressionPtr &expression, const Vector< TypeDenoterPtr > &listTypeDens) |
| |
| ExpressionStatementPtr | makeAssignStatement (const ExpressionPtr &lvalueExpression, const ExpressionPtr &rvalueExpression, const AssignOp op=AssignOp::Set) |
| |
| ExpressionStatementPtr | makeArrayAssignStatement (VarDeclaration *varDeclaration, const Vector< int > &arrayIndices, const ExpressionPtr &assignExpression) |
| |
| ArrayDimensionPtr | makeArrayDimension (int arraySize) |
| |
| CodeBlockStatementPtr | makeCodeBlockStatement (const StatementPtr &statement) |
| |
| BasicDeclarationStatementPtr | makeStructDeclarationStatement (const StructDeclarationPtr &structDeclaration) |
| |
| UniformBufferDeclarationPtr | makeUniformBufferDeclaration (const String &ident, Int32 bindingSlot=0, const UniformBufferType bufferType=UniformBufferType::ConstantBuffer) |
| |
| Vector< ExpressionPtr > | makeArrayIndices (const Vector< int > &arrayIndices) |
| |
| Vector< ArrayDimensionPtr > | makeArrayDimensionList (const Vector< int > &arraySizes) |
| |
| ExpressionPtr | convertExpressionBaseType (const DataType dataType, const ExpressionPtr &subExpression) |
| |
| ArrayDimensionPtr | convertExpressionToArrayDimension (const ExpressionPtr &expression) |
| |
| Vector< ArrayDimensionPtr > | convertExpressionListToArrayDimensionList (const Vector< ExpressionPtr > &expressions) |
| |
Splits the specified array expression at the specified array index location.
If 'lastPrefixArrayIndex' is zero, or greater than or equal to the number of array indices, the input expression 'arrayExpression' is returned. Otherwise, the left hand side is splitted as prefix expression into the return expression. Example (pseudocode): MakeArrayExpressionSplit('prefix[0][1][2]', 2) --> '(prefix[0][1])[2]'