36 #ifndef _MACHINE_INDEPENDENT_LIVE_TRAVERSER_H 37 #define _MACHINE_INDEPENDENT_LIVE_TRAVERSER_H 41 #include "../Include/Common.h" 48 #include <unordered_set> 77 for (
unsigned int f = 0;
f < globals.size(); ++
f) {
any call(F fn, Args &&... args)
Definition: peglib.h:337
TIntermNode * getTreeRoot() const
Definition: localintermediate.h:404
Definition: intermediate.h:71
Definition: intermediate.h:1482
const TIntermediate & intermediate
Definition: LiveTraverser.h:130
bool traverseAll
Definition: LiveTraverser.h:133
TVisit
Definition: intermediate.h:1582
TFunctionStack functions
Definition: LiveTraverser.h:87
virtual TIntermSequence & getSequence()
Definition: intermediate.h:1490
Definition: LiveTraverser.h:62
virtual TIntermNode * getFalseBlock() const
Definition: intermediate.h:1533
GLuint const GLchar * name
Definition: glext.h:6671
GLfloat f
Definition: glext.h:8207
virtual TIntermTyped * getCondition() const
Definition: intermediate.h:1531
const bool inVisit
Definition: intermediate.h:1653
TLiveTraverser & operator=(TLiveTraverser &)
Definition: lobject.h:303
virtual TIntermNode * getTrueBlock() const
Definition: intermediate.h:1532
Definition: intermediate.h:1194
std::unordered_set< TString > TLiveFunctions
Definition: LiveTraverser.h:131
Definition: intermediate.h:1520
const TConstUnionArray & getConstArray() const
Definition: intermediate.h:1197
virtual void traverse(glslang::TIntermTraverser *)=0
void addFunctionCall(TIntermAggregate *call)
Definition: LiveTraverser.h:121
Definition: intermediate.h:1610
TLiveTraverser(const TIntermediate &i, bool traverseAll=false, bool preVisit=true, bool inVisit=false, bool postVisit=false)
Definition: LiveTraverser.h:64
std::list< TIntermAggregate * > TFunctionStack
Definition: LiveTraverser.h:86
virtual const TString & getName() const
Definition: intermediate.h:1493
Definition: intermediate.h:70
TLiveFunctions liveFunctions
Definition: LiveTraverser.h:132
Definition: localintermediate.h:210
TOperator getOp() const
Definition: intermediate.h:1238
const bool preVisit
Definition: intermediate.h:1652
void pushFunction(const TString &name)
Definition: LiveTraverser.h:74
virtual glslang::TIntermAggregate * getAsAggregate()
Definition: intermediate.h:999
const bool postVisit
Definition: intermediate.h:1654
virtual bool visitSelection(TVisit, TIntermSelection *node)
Definition: LiveTraverser.h:101
virtual glslang::TIntermConstantUnion * getAsConstantUnion()
Definition: intermediate.h:998
virtual bool visitAggregate(TVisit, TIntermAggregate *node)
Definition: LiveTraverser.h:91