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::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

◆ setPrecision()

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

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