#include "compiler/translator/tree_util/IntermTraverse.h"
#include "compiler/translator/Compiler.h"
#include "compiler/translator/InfoSink.h"
#include "compiler/translator/SymbolTable.h"
#include "compiler/translator/tree_util/IntermNode_util.h"
#include "compiler/translator/util.h"
namespace sh
{
template <typename T>
void TIntermTraverser::traverse(T *node)
{ … }
template void TIntermTraverser::traverse(TIntermNode *);
void TIntermNode::traverse(TIntermTraverser *it)
{ … }
void TIntermSymbol::traverse(TIntermTraverser *it)
{ … }
void TIntermConstantUnion::traverse(TIntermTraverser *it)
{ … }
void TIntermFunctionPrototype::traverse(TIntermTraverser *it)
{ … }
void TIntermBinary::traverse(TIntermTraverser *it)
{ … }
void TIntermUnary::traverse(TIntermTraverser *it)
{ … }
void TIntermFunctionDefinition::traverse(TIntermTraverser *it)
{ … }
void TIntermBlock::traverse(TIntermTraverser *it)
{ … }
void TIntermAggregate::traverse(TIntermTraverser *it)
{ … }
void TIntermLoop::traverse(TIntermTraverser *it)
{ … }
void TIntermPreprocessorDirective::traverse(TIntermTraverser *it)
{ … }
bool TIntermSymbol::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermConstantUnion::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermFunctionPrototype::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermFunctionDefinition::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermUnary::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermSwizzle::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermBinary::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermTernary::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermAggregate::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermDeclaration::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermGlobalQualifierDeclaration::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermBlock::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermIfElse::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermLoop::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermBranch::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermSwitch::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermCase::visit(Visit visit, TIntermTraverser *it)
{ … }
bool TIntermPreprocessorDirective::visit(Visit visit, TIntermTraverser *it)
{ … }
TIntermTraverser::TIntermTraverser(bool preVisit,
bool inVisit,
bool postVisit,
TSymbolTable *symbolTable)
: … { … }
TIntermTraverser::~TIntermTraverser() { … }
void TIntermTraverser::setMaxAllowedDepth(int depth)
{ … }
const TIntermBlock *TIntermTraverser::getParentBlock() const
{ … }
void TIntermTraverser::pushParentBlock(TIntermBlock *node)
{ … }
void TIntermTraverser::incrementParentBlockPos()
{ … }
void TIntermTraverser::popParentBlock()
{ … }
void TIntermTraverser::insertStatementsInParentBlock(const TIntermSequence &insertions)
{ … }
void TIntermTraverser::insertStatementsInParentBlock(const TIntermSequence &insertionsBefore,
const TIntermSequence &insertionsAfter)
{ … }
void TIntermTraverser::insertStatementInParentBlock(TIntermNode *statement)
{ … }
void TIntermTraverser::insertStatementsInBlockAtPosition(TIntermBlock *parent,
size_t position,
const TIntermSequence &insertionsBefore,
const TIntermSequence &insertionsAfter)
{ … }
void TLValueTrackingTraverser::setInFunctionCallOutParameter(bool inOutParameter)
{ … }
bool TLValueTrackingTraverser::isInFunctionCallOutParameter() const
{ … }
void TIntermTraverser::traverseBinary(TIntermBinary *node)
{ … }
void TLValueTrackingTraverser::traverseBinary(TIntermBinary *node)
{ … }
void TIntermTraverser::traverseUnary(TIntermUnary *node)
{ … }
void TLValueTrackingTraverser::traverseUnary(TIntermUnary *node)
{ … }
void TIntermTraverser::traverseFunctionDefinition(TIntermFunctionDefinition *node)
{ … }
void TIntermTraverser::traverseBlock(TIntermBlock *node)
{ … }
void TIntermTraverser::traverseAggregate(TIntermAggregate *node)
{ … }
bool TIntermTraverser::CompareInsertion(const NodeInsertMultipleEntry &a,
const NodeInsertMultipleEntry &b)
{ … }
bool TIntermTraverser::updateTree(TCompiler *compiler, TIntermNode *node)
{ … }
void TIntermTraverser::clearReplacementQueue()
{ … }
void TIntermTraverser::queueReplacement(TIntermNode *replacement, OriginalNode originalStatus)
{ … }
void TIntermTraverser::queueReplacementWithParent(TIntermNode *parent,
TIntermNode *original,
TIntermNode *replacement,
OriginalNode originalStatus)
{ … }
void TIntermTraverser::queueAccessChainReplacement(TIntermTyped *replacement)
{ … }
TLValueTrackingTraverser::TLValueTrackingTraverser(bool preVisitIn,
bool inVisitIn,
bool postVisitIn,
TSymbolTable *symbolTable)
: … { … }
void TLValueTrackingTraverser::traverseAggregate(TIntermAggregate *node)
{ … }
void TIntermTraverser::traverseLoop(TIntermLoop *node)
{ … }
}