Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
GLSL::ArrayTypeAST Class Reference

#include <glslast_p.h>

+ Inheritance diagram for GLSL::ArrayTypeAST:
+ Collaboration diagram for GLSL::ArrayTypeAST:

Public Member Functions

 ArrayTypeAST (TypeAST *_elementType)
 
 ArrayTypeAST (TypeAST *_elementType, ExpressionAST *_size)
 
ArrayTypeASTasArrayType () override
 
void accept0 (Visitor *visitor) override
 
Precision precision () const override
 
bool setPrecision (Precision precision) override
 
- Public Member Functions inherited from GLSL::TypeAST
TypeASTasType () override
 
virtual Precision precision () const =0
 
virtual bool setPrecision (Precision precision)=0
 
- Public Member Functions inherited from GLSL::AST
virtual TranslationUnitASTasTranslationUnit ()
 
virtual ExpressionASTasExpression ()
 
virtual IdentifierExpressionASTasIdentifierExpression ()
 
virtual LiteralExpressionASTasLiteralExpression ()
 
virtual BinaryExpressionASTasBinaryExpression ()
 
virtual UnaryExpressionASTasUnaryExpression ()
 
virtual TernaryExpressionASTasTernaryExpression ()
 
virtual AssignmentExpressionASTasAssignmentExpression ()
 
virtual MemberAccessExpressionASTasMemberAccessExpression ()
 
virtual FunctionCallExpressionASTasFunctionCallExpression ()
 
virtual FunctionIdentifierASTasFunctionIdentifier ()
 
virtual DeclarationExpressionASTasDeclarationExpression ()
 
virtual StatementASTasStatement ()
 
virtual ExpressionStatementASTasExpressionStatement ()
 
virtual CompoundStatementASTasCompoundStatement ()
 
virtual IfStatementASTasIfStatement ()
 
virtual WhileStatementASTasWhileStatement ()
 
virtual DoStatementASTasDoStatement ()
 
virtual ForStatementASTasForStatement ()
 
virtual JumpStatementASTasJumpStatement ()
 
virtual ReturnStatementASTasReturnStatement ()
 
virtual SwitchStatementASTasSwitchStatement ()
 
virtual CaseLabelStatementASTasCaseLabelStatement ()
 
virtual DeclarationStatementASTasDeclarationStatement ()
 
virtual TypeASTasType ()
 
virtual BasicTypeASTasBasicType ()
 
virtual NamedTypeASTasNamedType ()
 
virtual ArrayTypeASTasArrayType ()
 
virtual StructTypeASTasStructType ()
 
virtual QualifiedTypeASTasQualifiedType ()
 
virtual LayoutQualifierASTasLayoutQualifier ()
 
virtual DeclarationASTasDeclaration ()
 
virtual PrecisionDeclarationASTasPrecisionDeclaration ()
 
virtual ParameterDeclarationASTasParameterDeclaration ()
 
virtual VariableDeclarationASTasVariableDeclaration ()
 
virtual TypeDeclarationASTasTypeDeclaration ()
 
virtual TypeAndVariableDeclarationASTasTypeAndVariableDeclaration ()
 
virtual InvariantDeclarationASTasInvariantDeclaration ()
 
virtual InitDeclarationASTasInitDeclaration ()
 
virtual FunctionDeclarationASTasFunctionDeclaration ()
 
void accept (Visitor *visitor)
 
virtual void accept0 (Visitor *visitor)=0
 
- Public Member Functions inherited from GLSL::Managed
 Managed ()
 
virtual ~Managed ()
 
voidoperator new (size_t size, MemoryPool *pool)
 
void operator delete (void *)
 
void operator delete (void *, MemoryPool *)
 

Public Attributes

TypeASTelementType
 
ExpressionASTsize
 
- Public Attributes inherited from GLSL::AST
int kind
 
int lineno
 

Additional Inherited Members

- Public Types inherited from GLSL::TypeAST
enum  Precision {
  PrecNotValid , PrecUnspecified , Lowp , Mediump ,
  Highp
}
 
- Public Types inherited from GLSL::AST
enum  Kind {
  Kind_Undefined , Kind_TranslationUnit , Kind_Identifier , Kind_Literal ,
  Kind_PreIncrement , Kind_PostIncrement , Kind_PreDecrement , Kind_PostDecrement ,
  Kind_UnaryPlus , Kind_UnaryMinus , Kind_LogicalNot , Kind_BitwiseNot ,
  Kind_Plus , Kind_Minus , Kind_Multiply , Kind_Divide ,
  Kind_Modulus , Kind_ShiftLeft , Kind_ShiftRight , Kind_Equal ,
  Kind_NotEqual , Kind_LessThan , Kind_LessEqual , Kind_GreaterThan ,
  Kind_GreaterEqual , Kind_LogicalAnd , Kind_LogicalOr , Kind_LogicalXor ,
  Kind_BitwiseAnd , Kind_BitwiseOr , Kind_BitwiseXor , Kind_Comma ,
  Kind_ArrayAccess , Kind_Conditional , Kind_MemberAccess , Kind_FunctionCall ,
  Kind_MemberFunctionCall , Kind_FunctionIdentifier , Kind_DeclarationExpression , Kind_Assign ,
  Kind_AssignPlus , Kind_AssignMinus , Kind_AssignMultiply , Kind_AssignDivide ,
  Kind_AssignModulus , Kind_AssignShiftLeft , Kind_AssignShiftRight , Kind_AssignAnd ,
  Kind_AssignOr , Kind_AssignXor , Kind_ExpressionStatement , Kind_CompoundStatement ,
  Kind_If , Kind_While , Kind_Do , Kind_For ,
  Kind_Break , Kind_Continue , Kind_Discard , Kind_Return ,
  Kind_ReturnExpression , Kind_Switch , Kind_CaseLabel , Kind_DefaultLabel ,
  Kind_DeclarationStatement , Kind_BasicType , Kind_NamedType , Kind_ArrayType ,
  Kind_OpenArrayType , Kind_StructType , Kind_AnonymousStructType , Kind_StructField ,
  Kind_LayoutQualifier , Kind_QualifiedType , Kind_PrecisionDeclaration , Kind_ParameterDeclaration ,
  Kind_VariableDeclaration , Kind_TypeDeclaration , Kind_TypeAndVariableDeclaration , Kind_InvariantDeclaration ,
  Kind_InitDeclaration , Kind_FunctionDeclaration
}
 
- Static Public Member Functions inherited from GLSL::AST
static void accept (AST *ast, Visitor *visitor)
 
template<typename T >
static void accept (List< T > *it, Visitor *visitor)
 
- Protected Member Functions inherited from GLSL::TypeAST
 TypeAST (Kind _kind)
 
- Protected Member Functions inherited from GLSL::AST
 AST (Kind _kind)
 
 ~AST () override
 
- Static Protected Member Functions inherited from GLSL::AST
template<typename T >
static List< T > * finish (List< T > *list)
 

Detailed Description

Definition at line 711 of file glslast_p.h.

Constructor & Destructor Documentation

◆ ArrayTypeAST() [1/2]

GLSL::ArrayTypeAST::ArrayTypeAST ( TypeAST _elementType)
inline

Definition at line 714 of file glslast_p.h.

◆ ArrayTypeAST() [2/2]

GLSL::ArrayTypeAST::ArrayTypeAST ( TypeAST _elementType,
ExpressionAST _size 
)
inline

Definition at line 716 of file glslast_p.h.

Member Function Documentation

◆ accept0()

void ArrayTypeAST::accept0 ( Visitor visitor)
overridevirtual

Implements GLSL::AST.

Definition at line 254 of file glslast.cpp.

References GLSL::AST::accept(), elementType, GLSL::Visitor::endVisit(), and GLSL::Visitor::visit().

+ Here is the call graph for this function:

◆ asArrayType()

ArrayTypeAST * GLSL::ArrayTypeAST::asArrayType ( )
inlineoverridevirtual

Reimplemented from GLSL::AST.

Definition at line 719 of file glslast_p.h.

◆ precision()

TypeAST::Precision ArrayTypeAST::precision ( ) const
overridevirtual

Implements GLSL::TypeAST.

Definition at line 263 of file glslast.cpp.

References elementType, GLSL::TypeAST::precision(), and GLSL::TypeAST::PrecNotValid.

+ Here is the call graph for this function:

◆ setPrecision()

bool ArrayTypeAST::setPrecision ( Precision  precision)
overridevirtual

Implements GLSL::TypeAST.

Definition at line 268 of file glslast.cpp.

References elementType, and GLSL::TypeAST::setPrecision().

+ Here is the call graph for this function:

Member Data Documentation

◆ elementType

TypeAST* GLSL::ArrayTypeAST::elementType

Definition at line 727 of file glslast_p.h.

Referenced by accept0(), precision(), setPrecision(), and GLSL::Semantic::visit().

◆ size

ExpressionAST* GLSL::ArrayTypeAST::size

Definition at line 728 of file glslast_p.h.

Referenced by GLSL::Semantic::visit().


The documentation for this class was generated from the following files: