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::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 void endVisit (TranslationUnitAST *)
 
virtual void endVisit (IdentifierExpressionAST *)
 
virtual void endVisit (LiteralExpressionAST *)
 
virtual void endVisit (BinaryExpressionAST *)
 
virtual void endVisit (UnaryExpressionAST *)
 
virtual void endVisit (TernaryExpressionAST *)
 
virtual void endVisit (AssignmentExpressionAST *)
 
virtual void endVisit (MemberAccessExpressionAST *)
 
virtual void endVisit (FunctionCallExpressionAST *)
 
virtual void endVisit (FunctionIdentifierAST *)
 
virtual void endVisit (DeclarationExpressionAST *)
 
virtual void endVisit (ExpressionStatementAST *)
 
virtual void endVisit (CompoundStatementAST *)
 
virtual void endVisit (IfStatementAST *)
 
virtual void endVisit (WhileStatementAST *)
 
virtual void endVisit (DoStatementAST *)
 
virtual void endVisit (ForStatementAST *)
 
virtual void endVisit (JumpStatementAST *)
 
virtual void endVisit (ReturnStatementAST *)
 
virtual void endVisit (SwitchStatementAST *)
 
virtual void endVisit (CaseLabelStatementAST *)
 
virtual void endVisit (DeclarationStatementAST *)
 
virtual void endVisit (BasicTypeAST *)
 
virtual void endVisit (NamedTypeAST *)
 
virtual void endVisit (ArrayTypeAST *)
 
virtual void endVisit (StructTypeAST *)
 
virtual void endVisit (StructTypeAST::Field *)
 
virtual void endVisit (LayoutQualifierAST *)
 
virtual void endVisit (QualifiedTypeAST *)
 
virtual void endVisit (PrecisionDeclarationAST *)
 
virtual void endVisit (ParameterDeclarationAST *)
 
virtual void endVisit (VariableDeclarationAST *)
 
virtual void endVisit (TypeDeclarationAST *)
 
virtual void endVisit (TypeAndVariableDeclarationAST *)
 
virtual void endVisit (InvariantDeclarationAST *)
 
virtual void endVisit (InitDeclarationAST *)
 
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 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::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 731 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 488 of file glslsemantic.cpp.

References 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 474 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 411 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 394 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 480 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 439 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 405 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 446 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]

bool Semantic::visit ( FunctionCallExpressionAST * ast)
overrideprotectedvirtual

◆ visit() [13/37]

bool Semantic::visit ( FunctionDeclarationAST * ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 832 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 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 424 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 823 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 817 of file glslsemantic.cpp.

References Q_UNUSED.

◆ visit() [19/37]

bool Semantic::visit ( JumpStatementAST * ast)
overrideprotectedvirtual

Reimplemented from GLSL::Visitor.

Definition at line 455 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 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 716 of file glslsemantic.cpp.

References 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 778 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 771 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 757 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 461 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 740 of file glslsemantic.cpp.

References field(), GLSL::StructTypeAST::fields, it, GLSL::StructTypeAST::name, GLSL::Engine::newStruct(), GLSL::Symbol::scope(), 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 467 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 810 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 803 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 785 of file glslsemantic.cpp.

References GLSL::Scope::add(), GLSL::AST::asQualifiedType(), expression(), GLSL::VariableDeclarationAST::initializer, GLSL::VariableDeclarationAST::name, GLSL::Engine::newVariable(), 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 432 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: