Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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)
StructTypeAST * asStructType () override
void accept0 (Visitor *visitor) override
Precision precision () const override
bool setPrecision (Precision precision) override
Public Member Functions inherited from GLSL::TypeAST
TypeAST * asType () override
Public Member Functions inherited from GLSL::AST
virtual TranslationUnitAST * asTranslationUnit ()
virtual ExpressionAST * asExpression ()
virtual IdentifierExpressionAST * asIdentifierExpression ()
virtual LiteralExpressionAST * asLiteralExpression ()
virtual BinaryExpressionAST * asBinaryExpression ()
virtual UnaryExpressionAST * asUnaryExpression ()
virtual TernaryExpressionAST * asTernaryExpression ()
virtual AssignmentExpressionAST * asAssignmentExpression ()
virtual MemberAccessExpressionAST * asMemberAccessExpression ()
virtual FunctionCallExpressionAST * asFunctionCallExpression ()
virtual FunctionIdentifierAST * asFunctionIdentifier ()
virtual DeclarationExpressionAST * asDeclarationExpression ()
virtual StatementAST * asStatement ()
virtual ExpressionStatementAST * asExpressionStatement ()
virtual CompoundStatementAST * asCompoundStatement ()
virtual IfStatementAST * asIfStatement ()
virtual WhileStatementAST * asWhileStatement ()
virtual DoStatementAST * asDoStatement ()
virtual ForStatementAST * asForStatement ()
virtual JumpStatementAST * asJumpStatement ()
virtual ReturnStatementAST * asReturnStatement ()
virtual SwitchStatementAST * asSwitchStatement ()
virtual CaseLabelStatementAST * asCaseLabelStatement ()
virtual DeclarationStatementAST * asDeclarationStatement ()
virtual BasicTypeAST * asBasicType ()
virtual NamedTypeAST * asNamedType ()
virtual ArrayTypeAST * asArrayType ()
virtual QualifiedTypeAST * asQualifiedType ()
virtual LayoutQualifierAST * asLayoutQualifier ()
virtual DeclarationAST * asDeclaration ()
virtual PrecisionDeclarationAST * asPrecisionDeclaration ()
virtual ParameterDeclarationAST * asParameterDeclaration ()
virtual VariableDeclarationAST * asVariableDeclaration ()
virtual TypeDeclarationAST * asTypeDeclaration ()
virtual TypeAndVariableDeclarationAST * asTypeAndVariableDeclaration ()
virtual InvariantDeclarationAST * asInvariantDeclaration ()
virtual InitDeclarationAST * asInitDeclaration ()
virtual FunctionDeclarationAST * asFunctionDeclaration ()
void accept (Visitor *visitor)
Public Member Functions inherited from GLSL::Managed
 Managed ()
virtual ~Managed ()
void * operator 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 QString * name
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 733 of file glslast_p.h.

Constructor & Destructor Documentation

◆ StructTypeAST() [1/2]

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

Definition at line 756 of file glslast_p.h.

◆ StructTypeAST() [2/2]

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

Definition at line 758 of file glslast_p.h.

Member Function Documentation

◆ accept0()

void StructTypeAST::accept0 ( Visitor * visitor)
overridevirtual

Implements GLSL::AST.

Definition at line 278 of file glslast.cpp.

◆ asStructType()

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

Reimplemented from GLSL::AST.

Definition at line 761 of file glslast_p.h.

◆ fixInnerTypes()

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

Definition at line 319 of file glslast.cpp.

◆ precision()

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

Implements GLSL::TypeAST.

Definition at line 285 of file glslast.cpp.

◆ setPrecision()

bool StructTypeAST::setPrecision ( Precision precision)
overridevirtual

Implements GLSL::TypeAST.

Definition at line 290 of file glslast.cpp.

Member Data Documentation

◆ fields

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

Definition at line 774 of file glslast_p.h.

◆ name

const QString* GLSL::StructTypeAST::name

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