Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
GLSL::StructTypeAST Class Reference

#include <glslast_p.h>

+ Inheritance diagram for GLSL::StructTypeAST:
+ Collaboration diagram for GLSL::StructTypeAST:

Classes

class  Field
 

Public Member Functions

 StructTypeAST (List< Field * > *_fields)
 
 StructTypeAST (const QString *_name, List< Field * > *_fields)
 
StructTypeASTasStructType () override
 
void accept0 (Visitor *visitor) override
 
Precision precision () const override
 
bool setPrecision (Precision precision) override
 
- Public Member Functions inherited from GLSL::TypeAST
TypeASTasType () override
 
- 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 BasicTypeASTasBasicType ()
 
virtual NamedTypeASTasNamedType ()
 
virtual ArrayTypeASTasArrayType ()
 
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)
 
- 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 *)
 

Static Public Member Functions

static List< Field * > * fixInnerTypes (TypeAST *innerType, List< Field * > *fields)
 
- 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)
 

Public Attributes

const QStringname
 
List< Field * > * fields
 
- 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
}
 
- 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 731 of file glslast_p.h.

Constructor & Destructor Documentation

◆ StructTypeAST() [1/2]

GLSL::StructTypeAST::StructTypeAST ( List< Field * > * _fields)
inline

Definition at line 754 of file glslast_p.h.

◆ StructTypeAST() [2/2]

GLSL::StructTypeAST::StructTypeAST ( const QString * _name,
List< Field * > * _fields )
inline

Definition at line 756 of file glslast_p.h.

Member Function Documentation

◆ accept0()

void StructTypeAST::accept0 ( Visitor * visitor)
overridevirtual

Implements GLSL::AST.

Definition at line 276 of file glslast.cpp.

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

+ Here is the call graph for this function:

◆ asStructType()

StructTypeAST * GLSL::StructTypeAST::asStructType ( )
inlineoverridevirtual

Reimplemented from GLSL::AST.

Definition at line 759 of file glslast_p.h.

◆ fixInnerTypes()

List< StructTypeAST::Field * > * StructTypeAST::fixInnerTypes ( TypeAST * innerType,
List< Field * > * fields )
static

Definition at line 317 of file glslast.cpp.

References fields, and head().

+ Here is the call graph for this function:

◆ precision()

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

Implements GLSL::TypeAST.

Definition at line 283 of file glslast.cpp.

References GLSL::TypeAST::PrecNotValid.

◆ setPrecision()

bool StructTypeAST::setPrecision ( Precision precision)
overridevirtual

Implements GLSL::TypeAST.

Definition at line 288 of file glslast.cpp.

Member Data Documentation

◆ fields

List<Field *>* GLSL::StructTypeAST::fields

Definition at line 772 of file glslast_p.h.

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

◆ name

const QString* GLSL::StructTypeAST::name

Definition at line 771 of file glslast_p.h.

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


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