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::TypeAST Class Referenceabstract

#include <glslast_p.h>

+ Inheritance diagram for GLSL::TypeAST:
+ Collaboration diagram for GLSL::TypeAST:

Public Types

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
}
 

Public Member Functions

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 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 *)
 

Protected Member Functions

 TypeAST (Kind _kind)
 
- Protected Member Functions inherited from GLSL::AST
 AST (Kind _kind)
 
 ~AST () override
 

Additional Inherited Members

- 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 inherited from GLSL::AST
int kind
 
int lineno
 
- Static Protected Member Functions inherited from GLSL::AST
template<typename T >
static List< T > * finish (List< T > *list)
 

Detailed Description

Definition at line 652 of file glslast_p.h.

Member Enumeration Documentation

◆ Precision

Enumerator
PrecNotValid 
PrecUnspecified 
Lowp 
Mediump 
Highp 

Definition at line 658 of file glslast_p.h.

Constructor & Destructor Documentation

◆ TypeAST()

GLSL::TypeAST::TypeAST ( Kind _kind)
inlineprotected

Definition at line 655 of file glslast_p.h.

Member Function Documentation

◆ asType()

TypeAST * GLSL::TypeAST::asType ( )
inlineoverridevirtual

Reimplemented from GLSL::AST.

Definition at line 667 of file glslast_p.h.

◆ precision()

virtual Precision GLSL::TypeAST::precision ( ) const
pure virtual

Implemented in GLSL::BasicTypeAST, GLSL::NamedTypeAST, GLSL::ArrayTypeAST, GLSL::StructTypeAST, and GLSL::QualifiedTypeAST.

Referenced by GLSL::ArrayTypeAST::precision().

+ Here is the caller graph for this function:

◆ setPrecision()

virtual bool GLSL::TypeAST::setPrecision ( Precision precision)
pure virtual

Implemented in GLSL::BasicTypeAST, GLSL::NamedTypeAST, GLSL::ArrayTypeAST, GLSL::StructTypeAST, and GLSL::QualifiedTypeAST.

Referenced by GLSL::ArrayTypeAST::setPrecision().

+ Here is the caller graph for this function:

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