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

#include <glslsemantic_p.h>

+ Inheritance diagram for GLSL::Semantic:
+ Collaboration diagram for GLSL::Semantic:

Classes

struct  ExprResult
 

Public Member Functions

 Semantic ()
 
 ~Semantic () override
 
void translationUnit (TranslationUnitAST *ast, Scope *globalScope, Engine *engine)
 
ExprResult expression (ExpressionAST *ast, Scope *scope, Engine *engine)
 

Protected Member Functions

EngineswitchEngine (Engine *engine)
 
ScopeswitchScope (Scope *scope)
 
bool implicitCast (const Type *type, const Type *target) const
 
ExprResult expression (ExpressionAST *ast)
 
void statement (StatementAST *ast)
 
const Typetype (TypeAST *ast)
 
void declaration (DeclarationAST *ast)
 
ExprResult functionIdentifier (FunctionIdentifierAST *ast)
 
Symbolfield (StructTypeAST::Field *ast)
 
void parameterDeclaration (ParameterDeclarationAST *ast, Function *fun)
 
bool visit (TranslationUnitAST *ast) override
 
bool visit (FunctionIdentifierAST *ast) override
 
bool visit (StructTypeAST::Field *ast) override
 
bool visit (IdentifierExpressionAST *ast) override
 
bool visit (LiteralExpressionAST *ast) override
 
bool visit (BinaryExpressionAST *ast) override
 
bool visit (UnaryExpressionAST *ast) override
 
bool visit (TernaryExpressionAST *ast) override
 
bool visit (AssignmentExpressionAST *ast) override
 
bool visit (MemberAccessExpressionAST *ast) override
 
bool visit (FunctionCallExpressionAST *ast) override
 
bool visit (DeclarationExpressionAST *ast) override
 
bool visit (ExpressionStatementAST *ast) override
 
bool visit (CompoundStatementAST *ast) override
 
bool visit (IfStatementAST *ast) override
 
bool visit (WhileStatementAST *ast) override
 
bool visit (DoStatementAST *ast) override
 
bool visit (ForStatementAST *ast) override
 
bool visit (JumpStatementAST *ast) override
 
bool visit (ReturnStatementAST *ast) override
 
bool visit (SwitchStatementAST *ast) override
 
bool visit (CaseLabelStatementAST *ast) override
 
bool visit (DeclarationStatementAST *ast) override
 
bool visit (BasicTypeAST *ast) override
 
bool visit (NamedTypeAST *ast) override
 
bool visit (ArrayTypeAST *ast) override
 
bool visit (StructTypeAST *ast) override
 
bool visit (QualifiedTypeAST *ast) override
 
bool visit (LayoutQualifierAST *ast) override
 
bool visit (PrecisionDeclarationAST *ast) override
 
bool visit (ParameterDeclarationAST *ast) override
 
bool visit (VariableDeclarationAST *ast) override
 
bool visit (TypeDeclarationAST *ast) override
 
bool visit (TypeAndVariableDeclarationAST *ast) override
 
bool visit (InvariantDeclarationAST *ast) override
 
bool visit (InitDeclarationAST *ast) override
 
bool visit (FunctionDeclarationAST *ast) override
 
- Protected Member Functions inherited from GLSL::Visitor
 Visitor ()
 
virtual ~Visitor ()
 
void accept (AST *ast)
 
virtual bool preVisit (AST *)
 
virtual void postVisit (AST *)
 
virtual bool visit (TranslationUnitAST *)
 
virtual void endVisit (TranslationUnitAST *)
 
virtual bool visit (IdentifierExpressionAST *)
 
virtual void endVisit (IdentifierExpressionAST *)
 
virtual bool visit (LiteralExpressionAST *)
 
virtual void endVisit (LiteralExpressionAST *)
 
virtual bool visit (BinaryExpressionAST *)
 
virtual void endVisit (BinaryExpressionAST *)
 
virtual bool visit (UnaryExpressionAST *)
 
virtual void endVisit (UnaryExpressionAST *)
 
virtual bool visit (TernaryExpressionAST *)
 
virtual void endVisit (TernaryExpressionAST *)
 
virtual bool visit (AssignmentExpressionAST *)
 
virtual void endVisit (AssignmentExpressionAST *)
 
virtual bool visit (MemberAccessExpressionAST *)
 
virtual void endVisit (MemberAccessExpressionAST *)
 
virtual bool visit (FunctionCallExpressionAST *)
 
virtual void endVisit (FunctionCallExpressionAST *)
 
virtual bool visit (FunctionIdentifierAST *)
 
virtual void endVisit (FunctionIdentifierAST *)
 
virtual bool visit (DeclarationExpressionAST *)
 
virtual void endVisit (DeclarationExpressionAST *)
 
virtual bool visit (ExpressionStatementAST *)
 
virtual void endVisit (ExpressionStatementAST *)
 
virtual bool visit (CompoundStatementAST *)
 
virtual void endVisit (CompoundStatementAST *)
 
virtual bool visit (IfStatementAST *)
 
virtual void endVisit (IfStatementAST *)
 
virtual bool visit (WhileStatementAST *)
 
virtual void endVisit (WhileStatementAST *)
 
virtual bool visit (DoStatementAST *)
 
virtual void endVisit (DoStatementAST *)
 
virtual bool visit (ForStatementAST *)
 
virtual void endVisit (ForStatementAST *)
 
virtual bool visit (JumpStatementAST *)
 
virtual void endVisit (JumpStatementAST *)
 
virtual bool visit (ReturnStatementAST *)
 
virtual void endVisit (ReturnStatementAST *)
 
virtual bool visit (SwitchStatementAST *)
 
virtual void endVisit (SwitchStatementAST *)
 
virtual bool visit (CaseLabelStatementAST *)
 
virtual void endVisit (CaseLabelStatementAST *)
 
virtual bool visit (DeclarationStatementAST *)
 
virtual void endVisit (DeclarationStatementAST *)
 
virtual bool visit (BasicTypeAST *)
 
virtual void endVisit (BasicTypeAST *)
 
virtual bool visit (NamedTypeAST *)
 
virtual void endVisit (NamedTypeAST *)
 
virtual bool visit (ArrayTypeAST *)
 
virtual void endVisit (ArrayTypeAST *)
 
virtual bool visit (StructTypeAST *)
 
virtual void endVisit (StructTypeAST *)
 
virtual bool visit (StructTypeAST::Field *)
 
virtual void endVisit (StructTypeAST::Field *)
 
virtual bool visit (LayoutQualifierAST *)
 
virtual void endVisit (LayoutQualifierAST *)
 
virtual bool visit (QualifiedTypeAST *)
 
virtual void endVisit (QualifiedTypeAST *)
 
virtual bool visit (PrecisionDeclarationAST *)
 
virtual void endVisit (PrecisionDeclarationAST *)
 
virtual bool visit (ParameterDeclarationAST *)
 
virtual void endVisit (ParameterDeclarationAST *)
 
virtual bool visit (VariableDeclarationAST *)
 
virtual void endVisit (VariableDeclarationAST *)
 
virtual bool visit (TypeDeclarationAST *)
 
virtual void endVisit (TypeDeclarationAST *)
 
virtual bool visit (TypeAndVariableDeclarationAST *)
 
virtual void endVisit (TypeAndVariableDeclarationAST *)
 
virtual bool visit (InvariantDeclarationAST *)
 
virtual void endVisit (InvariantDeclarationAST *)
 
virtual bool visit (InitDeclarationAST *)
 
virtual void endVisit (InitDeclarationAST *)
 
virtual bool visit (FunctionDeclarationAST *)
 
virtual void endVisit (FunctionDeclarationAST *)
 

Detailed Description

Definition at line 25 of file glslsemantic_p.h.

Constructor & Destructor Documentation

◆ Semantic()

Semantic::Semantic ( )

Definition at line 15 of file glslsemantic.cpp.

◆ ~Semantic()

Semantic::~Semantic ( )
override

Definition at line 22 of file glslsemantic.cpp.

Member Function Documentation

◆ declaration()

void Semantic::declaration ( DeclarationAST ast)
protected

Definition at line 63 of file glslsemantic.cpp.

References GLSL::Visitor::accept().

Referenced by translationUnit(), visit(), visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ expression() [1/2]

Semantic::ExprResult Semantic::expression ( ExpressionAST ast)
protected

Definition at line 40 of file glslsemantic.cpp.

References GLSL::Visitor::accept(), and GLSL::Engine::undefinedType().

+ Here is the call graph for this function:

◆ expression() [2/2]

Semantic::ExprResult Semantic::expression ( ExpressionAST ast,
Scope scope,
Engine engine 
)

Definition at line 82 of file glslsemantic.cpp.

References engine, expression(), switchEngine(), switchScope(), and void.

Referenced by expression(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ field()

Symbol * Semantic::field ( StructTypeAST::Field ast)
protected

Definition at line 117 of file glslsemantic.cpp.

References GLSL::StructTypeAST::Field::name, GLSL::Engine::newVariable(), and GLSL::StructTypeAST::Field::type.

Referenced by visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ functionIdentifier()

Semantic::ExprResult Semantic::functionIdentifier ( FunctionIdentifierAST ast)
protected

Definition at line 95 of file glslsemantic.cpp.

References QString::arg(), GLSL::Engine::error(), QString::fromLatin1(), GLSL::AST::lineno, GLSL::Scope::lookup(), GLSL::FunctionIdentifierAST::name, and GLSL::FunctionIdentifierAST::type.

Referenced by visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ implicitCast()

bool Semantic::implicitCast ( const Type type,
const Type target 
) const
protected

Definition at line 285 of file glslsemantic.cpp.

References GLSL::Type::asDoubleType(), GLSL::Type::asFloatType(), GLSL::Type::asIntType(), GLSL::MatrixType::asMatrixType(), GLSL::Type::asUIntType(), and GLSL::VectorType::asVectorType().

Referenced by visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parameterDeclaration()

void Semantic::parameterDeclaration ( ParameterDeclarationAST ast,
Function fun 
)
protected

Definition at line 127 of file glslsemantic.cpp.

References arg, fun, GLSL::ParameterDeclarationAST::name, GLSL::Engine::newArgument(), and GLSL::ParameterDeclarationAST::type.

Referenced by visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ statement()

void Semantic::statement ( StatementAST ast)
protected

Definition at line 49 of file glslsemantic.cpp.

References GLSL::Visitor::accept().

Referenced by visit(), visit(), visit(), visit(), visit(), visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ switchEngine()

Engine * Semantic::switchEngine ( Engine engine)
protected

Definition at line 26 of file glslsemantic.cpp.

References engine.

Referenced by expression(), and translationUnit().

+ Here is the caller graph for this function:

◆ switchScope()

Scope * Semantic::switchScope ( Scope scope)
protected

Definition at line 33 of file glslsemantic.cpp.

Referenced by expression(), translationUnit(), visit(), visit(), and visit().

+ Here is the caller graph for this function:

◆ translationUnit()

void Semantic::translationUnit ( TranslationUnitAST ast,
Scope globalScope,
Engine engine 
)

Definition at line 68 of file glslsemantic.cpp.

References declaration(), GLSL::TranslationUnitAST::declarations, engine, it, switchEngine(), switchScope(), and void.

+ Here is the call graph for this function:

◆ type()

const Type * Semantic::type ( TypeAST ast)
protected

Definition at line 54 of file glslsemantic.cpp.

References GLSL::Visitor::accept(), and GLSL::Engine::undefinedType().

+ Here is the call graph for this function:

◆ visit() [1/37]

bool Semantic::visit ( ArrayTypeAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 730 of file glslsemantic.cpp.

References GLSL::Engine::arrayType(), GLSL::ArrayTypeAST::elementType, expression(), Q_UNUSED, and GLSL::ArrayTypeAST::size.

+ Here is the call graph for this function:

◆ visit() [2/37]

bool Semantic::visit ( AssignmentExpressionAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 257 of file glslsemantic.cpp.

References expression(), GLSL::AssignmentExpressionAST::value, and GLSL::AssignmentExpressionAST::variable.

+ Here is the call graph for this function:

◆ visit() [3/37]

bool Semantic::visit ( BasicTypeAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 487 of file glslsemantic.cpp.

References QString::arg(), GLSL::Engine::boolType(), GLSL::Engine::doubleType(), GLSL::Engine::error(), GLSL::Engine::floatType(), QString::fromLatin1(), GLSL::Engine::intType(), GLSL::AST::lineno, GLSL::Engine::matrixType(), GLSL::Engine::samplerType(), GLSLParserTable::spell, GLSLParserTable::T_BOOL, GLSLParserTable::T_BVEC2, GLSLParserTable::T_BVEC3, GLSLParserTable::T_BVEC4, GLSLParserTable::T_DMAT2, GLSLParserTable::T_DMAT2X2, GLSLParserTable::T_DMAT2X3, GLSLParserTable::T_DMAT2X4, GLSLParserTable::T_DMAT3, GLSLParserTable::T_DMAT3X2, GLSLParserTable::T_DMAT3X3, GLSLParserTable::T_DMAT3X4, GLSLParserTable::T_DMAT4, GLSLParserTable::T_DMAT4X2, GLSLParserTable::T_DMAT4X3, GLSLParserTable::T_DMAT4X4, GLSLParserTable::T_DOUBLE, GLSLParserTable::T_DVEC2, GLSLParserTable::T_DVEC3, GLSLParserTable::T_DVEC4, GLSLParserTable::T_FLOAT, GLSLParserTable::T_INT, GLSLParserTable::T_ISAMPLER1D, GLSLParserTable::T_ISAMPLER1DARRAY, GLSLParserTable::T_ISAMPLER2D, GLSLParserTable::T_ISAMPLER2DARRAY, GLSLParserTable::T_ISAMPLER2DMS, GLSLParserTable::T_ISAMPLER2DMSARRAY, GLSLParserTable::T_ISAMPLER2DRECT, GLSLParserTable::T_ISAMPLER3D, GLSLParserTable::T_ISAMPLERBUFFER, GLSLParserTable::T_ISAMPLERCUBE, GLSLParserTable::T_ISAMPLERCUBEARRAY, GLSLParserTable::T_IVEC2, GLSLParserTable::T_IVEC3, GLSLParserTable::T_IVEC4, GLSLParserTable::T_MAT2, GLSLParserTable::T_MAT2X2, GLSLParserTable::T_MAT2X3, GLSLParserTable::T_MAT2X4, GLSLParserTable::T_MAT3, GLSLParserTable::T_MAT3X2, GLSLParserTable::T_MAT3X3, GLSLParserTable::T_MAT3X4, GLSLParserTable::T_MAT4, GLSLParserTable::T_MAT4X2, GLSLParserTable::T_MAT4X3, GLSLParserTable::T_MAT4X4, GLSLParserTable::T_SAMPLER1D, GLSLParserTable::T_SAMPLER1DARRAY, GLSLParserTable::T_SAMPLER1DARRAYSHADOW, GLSLParserTable::T_SAMPLER1DSHADOW, GLSLParserTable::T_SAMPLER2D, GLSLParserTable::T_SAMPLER2DARRAY, GLSLParserTable::T_SAMPLER2DARRAYSHADOW, GLSLParserTable::T_SAMPLER2DMS, GLSLParserTable::T_SAMPLER2DMSARRAY, GLSLParserTable::T_SAMPLER2DRECT, GLSLParserTable::T_SAMPLER2DRECTSHADOW, GLSLParserTable::T_SAMPLER2DSHADOW, GLSLParserTable::T_SAMPLER3D, GLSLParserTable::T_SAMPLERBUFFER, GLSLParserTable::T_SAMPLERCUBE, GLSLParserTable::T_SAMPLERCUBEARRAY, GLSLParserTable::T_SAMPLERCUBEARRAYSHADOW, GLSLParserTable::T_SAMPLERCUBESHADOW, GLSLParserTable::T_UINT, GLSLParserTable::T_USAMPLER1D, GLSLParserTable::T_USAMPLER1DARRAY, GLSLParserTable::T_USAMPLER2D, GLSLParserTable::T_USAMPLER2DARRAY, GLSLParserTable::T_USAMPLER2DMS, GLSLParserTable::T_USAMPLER2DMSARRAY, GLSLParserTable::T_USAMPLER2DRECT, GLSLParserTable::T_USAMPLER3D, GLSLParserTable::T_USAMPLERBUFFER, GLSLParserTable::T_USAMPLERCUBE, GLSLParserTable::T_USAMPLERCUBEARRAY, GLSLParserTable::T_UVEC2, GLSLParserTable::T_UVEC3, GLSLParserTable::T_UVEC4, GLSLParserTable::T_VEC2, GLSLParserTable::T_VEC3, GLSLParserTable::T_VEC4, GLSLParserTable::T_VOID, GLSL::BasicTypeAST::token, GLSL::Engine::uintType(), GLSL::Engine::vectorType(), and GLSL::Engine::voidType().

+ Here is the call graph for this function:

◆ visit() [4/37]

◆ visit() [5/37]

bool Semantic::visit ( CaseLabelStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 473 of file glslsemantic.cpp.

References GLSL::CaseLabelStatementAST::expr, and expression().

+ Here is the call graph for this function:

◆ visit() [6/37]

bool Semantic::visit ( CompoundStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 410 of file glslsemantic.cpp.

References it, GLSL::Engine::newBlock(), statement(), GLSL::CompoundStatementAST::statements, switchScope(), GLSL::CompoundStatementAST::symbol, and void.

+ Here is the call graph for this function:

◆ visit() [7/37]

bool Semantic::visit ( DeclarationExpressionAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 393 of file glslsemantic.cpp.

References expression(), GLSL::DeclarationExpressionAST::initializer, Q_UNUSED, and GLSL::DeclarationExpressionAST::type.

+ Here is the call graph for this function:

◆ visit() [8/37]

bool Semantic::visit ( DeclarationStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 479 of file glslsemantic.cpp.

References GLSL::DeclarationStatementAST::decl, and declaration().

+ Here is the call graph for this function:

◆ visit() [9/37]

bool Semantic::visit ( DoStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 438 of file glslsemantic.cpp.

References GLSL::DoStatementAST::body, GLSL::DoStatementAST::condition, expression(), and statement().

+ Here is the call graph for this function:

◆ visit() [10/37]

bool Semantic::visit ( ExpressionStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 404 of file glslsemantic.cpp.

References GLSL::ExpressionStatementAST::expr, and expression().

+ Here is the call graph for this function:

◆ visit() [11/37]

bool Semantic::visit ( ForStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 445 of file glslsemantic.cpp.

References GLSL::ForStatementAST::body, GLSL::ForStatementAST::condition, expression(), increment(), GLSL::ForStatementAST::increment, GLSL::ForStatementAST::init, and statement().

+ Here is the call graph for this function:

◆ visit() [12/37]

◆ visit() [13/37]

bool Semantic::visit ( FunctionDeclarationAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 831 of file glslsemantic.cpp.

References GLSL::FunctionDeclarationAST::body, fun, it, GLSL::FunctionDeclarationAST::name, GLSL::Engine::newFunction(), parameterDeclaration(), GLSL::FunctionDeclarationAST::params, GLSL::FunctionDeclarationAST::returnType, statement(), switchScope(), and void.

+ Here is the call graph for this function:

◆ visit() [14/37]

bool Semantic::visit ( FunctionIdentifierAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 144 of file glslsemantic.cpp.

References Q_ASSERT, and Q_UNUSED.

◆ visit() [15/37]

bool Semantic::visit ( IdentifierExpressionAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 160 of file glslsemantic.cpp.

References QString::arg(), GLSL::Engine::error(), QString::fromLatin1(), GLSL::AST::lineno, GLSL::Scope::lookup(), GLSL::IdentifierExpressionAST::name, and GLSL::Semantic::ExprResult::type.

+ Here is the call graph for this function:

◆ visit() [16/37]

bool Semantic::visit ( IfStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 423 of file glslsemantic.cpp.

References GLSL::IfStatementAST::condition, GLSL::IfStatementAST::elseClause, expression(), statement(), and GLSL::IfStatementAST::thenClause.

+ Here is the call graph for this function:

◆ visit() [17/37]

bool Semantic::visit ( InitDeclarationAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 822 of file glslsemantic.cpp.

References declaration(), GLSL::InitDeclarationAST::decls, and it.

+ Here is the call graph for this function:

◆ visit() [18/37]

bool Semantic::visit ( InvariantDeclarationAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 816 of file glslsemantic.cpp.

References Q_UNUSED.

◆ visit() [19/37]

bool Semantic::visit ( JumpStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 454 of file glslsemantic.cpp.

References Q_UNUSED.

◆ visit() [20/37]

bool GLSL::Semantic::visit ( LayoutQualifierAST ast)
inlineoverrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 102 of file glslsemantic_p.h.

◆ visit() [21/37]

bool Semantic::visit ( LiteralExpressionAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 171 of file glslsemantic.cpp.

References QString::at(), GLSL::Engine::boolType(), QString::contains(), GLSL::Engine::doubleType(), QString::endsWith(), GLSL::Engine::floatType(), GLSL::Engine::intType(), GLSL::Semantic::ExprResult::isConstant, GLSL::Semantic::ExprResult::type, GLSL::Engine::uintType(), and GLSL::LiteralExpressionAST::value.

+ Here is the call graph for this function:

◆ visit() [22/37]

bool Semantic::visit ( MemberAccessExpressionAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 264 of file glslsemantic.cpp.

References QString::arg(), GLSL::Type::asStructType(), GLSL::Type::asVectorType(), GLSL::Engine::error(), GLSL::MemberAccessExpressionAST::expr, expression(), GLSL::MemberAccessExpressionAST::field, QString::fromLatin1(), GLSL::AST::lineno, and GLSL::Semantic::ExprResult::type.

+ Here is the call graph for this function:

◆ visit() [23/37]

bool Semantic::visit ( NamedTypeAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 715 of file glslsemantic.cpp.

References QString::arg(), GLSL::Struct::asStruct(), GLSL::Engine::error(), QString::fromLatin1(), GLSL::AST::lineno, GLSL::Scope::lookup(), and GLSL::NamedTypeAST::name.

+ Here is the call graph for this function:

◆ visit() [24/37]

bool Semantic::visit ( ParameterDeclarationAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 777 of file glslsemantic.cpp.

References Q_ASSERT, and Q_UNUSED.

◆ visit() [25/37]

bool Semantic::visit ( PrecisionDeclarationAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 770 of file glslsemantic.cpp.

References Q_UNUSED, and GLSL::PrecisionDeclarationAST::type.

◆ visit() [26/37]

bool Semantic::visit ( QualifiedTypeAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 756 of file glslsemantic.cpp.

References it, GLSL::QualifiedTypeAST::layout_list, Q_UNUSED, and GLSL::QualifiedTypeAST::type.

◆ visit() [27/37]

bool Semantic::visit ( ReturnStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 460 of file glslsemantic.cpp.

References GLSL::ReturnStatementAST::expr, and expression().

+ Here is the call graph for this function:

◆ visit() [28/37]

bool Semantic::visit ( StructTypeAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 739 of file glslsemantic.cpp.

References e, field(), GLSL::StructTypeAST::fields, it, GLSL::StructTypeAST::name, GLSL::Engine::newStruct(), GLSL::Symbol::setName(), switchScope(), and void.

+ Here is the call graph for this function:

◆ visit() [29/37]

bool Semantic::visit ( StructTypeAST::Field ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 151 of file glslsemantic.cpp.

References Q_ASSERT, and Q_UNUSED.

◆ visit() [30/37]

bool Semantic::visit ( SwitchStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 466 of file glslsemantic.cpp.

References GLSL::SwitchStatementAST::body, GLSL::SwitchStatementAST::expr, expression(), and statement().

+ Here is the call graph for this function:

◆ visit() [31/37]

bool Semantic::visit ( TernaryExpressionAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 247 of file glslsemantic.cpp.

References expression(), GLSL::TernaryExpressionAST::first, GLSL::Semantic::ExprResult::isConstant, GLSL::TernaryExpressionAST::second, GLSL::TernaryExpressionAST::third, and GLSL::Semantic::ExprResult::type.

+ Here is the call graph for this function:

◆ visit() [32/37]

bool Semantic::visit ( TranslationUnitAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 137 of file glslsemantic.cpp.

References Q_ASSERT, and Q_UNUSED.

◆ visit() [33/37]

bool Semantic::visit ( TypeAndVariableDeclarationAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 809 of file glslsemantic.cpp.

References declaration(), GLSL::TypeAndVariableDeclarationAST::typeDecl, and GLSL::TypeAndVariableDeclarationAST::varDecl.

+ Here is the call graph for this function:

◆ visit() [34/37]

bool Semantic::visit ( TypeDeclarationAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 802 of file glslsemantic.cpp.

References Q_UNUSED, and GLSL::TypeDeclarationAST::type.

◆ visit() [35/37]

bool Semantic::visit ( UnaryExpressionAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 240 of file glslsemantic.cpp.

References GLSL::UnaryExpressionAST::expr, and expression().

+ Here is the call graph for this function:

◆ visit() [36/37]

bool Semantic::visit ( VariableDeclarationAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 784 of file glslsemantic.cpp.

References GLSL::Scope::add(), GLSL::AST::asQualifiedType(), expression(), GLSL::VariableDeclarationAST::initializer, GLSL::VariableDeclarationAST::name, GLSL::Engine::newVariable(), GLSL::QualifiedTypeAST::qualifiers, GLSL::VariableDeclarationAST::type, and var.

+ Here is the call graph for this function:

◆ visit() [37/37]

bool Semantic::visit ( WhileStatementAST ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 431 of file glslsemantic.cpp.

References GLSL::WhileStatementAST::body, GLSL::WhileStatementAST::condition, expression(), and statement().

+ Here is the call graph for this function:

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