zenilib
0.5.3.0
|
#include <intermediate.h>
Inherited by TIntermBranch, TIntermLoop, and TIntermTyped.
Public Member Functions | |
TIntermNode () | |
virtual | ~TIntermNode () |
virtual TIntermAggregate * | getAsAggregate () |
virtual TIntermBinary * | getAsBinaryNode () |
virtual TIntermConstantUnion * | getAsConstantUnion () |
virtual TIntermLoop * | getAsLoopNode () |
virtual TIntermSelection * | getAsSelectionNode () |
virtual TIntermSymbol * | getAsSymbolNode () |
virtual TIntermTyped * | getAsTyped () |
virtual TIntermUnary * | getAsUnaryNode () |
const TSourceLoc & | getLine () const |
POOL_ALLOCATOR_NEW_DELETE () | |
void | setLine (const TSourceLoc &l) |
virtual void | traverse (TIntermTraverser *)=0 |
Protected Attributes | |
TSourceLoc | line |
Definition at line 206 of file intermediate.h.
|
inline |
Definition at line 209 of file intermediate.h.
References TSourceLoc::first_file, TSourceLoc::first_line, TSourceLoc::last_file, TSourceLoc::last_line, and line.
|
inlinevirtual |
Definition at line 215 of file intermediate.h.
|
inlinevirtual |
Reimplemented in TIntermAggregate.
Definition at line 223 of file intermediate.h.
Referenced by TIntermediate::addComma(), TParseContext::addConstructor(), TGraphArgument::getIntermFunctionCall(), TGraphFunctionCall::getIntermFunctionCall(), TIntermediate::growAggregate(), sh::OutputHLSL::handleExcessiveLoop(), sh::OutputHLSL::isSingleStatement(), TParseContext::lValueErrorCheck(), TIntermediate::postProcess(), TIntermediate::setAggregateOperator(), TOutputGLSLBase::visitBinary(), and sh::OutputHLSL::visitBinary().
|
inlinevirtual |
Reimplemented in TIntermBinary.
Definition at line 224 of file intermediate.h.
Referenced by ForLoopUnroll::FillLoopIndexInfo(), TGraphLogicalOp::getIntermLogicalOp(), sh::OutputHLSL::handleExcessiveLoop(), and TParseContext::lValueErrorCheck().
|
inlinevirtual |
Reimplemented in TIntermConstantUnion.
Definition at line 222 of file intermediate.h.
Referenced by TIntermediate::addBinaryMath(), TParseContext::addConstArrayNode(), TParseContext::addConstMatrixNode(), TParseContext::addConstStruct(), TParseContext::addConstVectorNode(), TIntermediate::addConversion(), TParseContext::addIndexExpression(), TIntermediate::addSelection(), TIntermediate::addUnaryMath(), TParseContext::arraySizeErrorCheck(), TParseContext::executeInitializer(), ForLoopUnroll::FillLoopIndexInfo(), TIntermConstantUnion::fold(), sh::OutputHLSL::handleExcessiveLoop(), TParseContext::lValueErrorCheck(), TOutputGLSLBase::visitBinary(), and sh::OutputHLSL::visitBinary().
|
inlinevirtual |
Reimplemented in TIntermLoop.
Definition at line 228 of file intermediate.h.
Referenced by TGraphLoop::getIntermLoop().
|
inlinevirtual |
Reimplemented in TIntermSelection.
Definition at line 226 of file intermediate.h.
Referenced by TGraphSelection::getIntermSelection().
|
inlinevirtual |
Reimplemented in TIntermSymbol.
Definition at line 227 of file intermediate.h.
Referenced by TParseContext::addIndexExpression(), TParseContext::executeInitializer(), TGraphSymbol::getIntermSymbol(), sh::OutputHLSL::handleExcessiveLoop(), TParseContext::lValueErrorCheck(), sh::OutputHLSL::visitAggregate(), ValidateLimitations::visitBinary(), and sh::OutputHLSL::visitBinary().
|
inlinevirtual |
Reimplemented in TIntermTyped.
Definition at line 221 of file intermediate.h.
Referenced by TIntermediate::addUnaryMath(), TParseContext::constructorErrorCheck(), and TParseContext::constructStruct().
|
inlinevirtual |
Reimplemented in TIntermUnary.
Definition at line 225 of file intermediate.h.
Referenced by sh::OutputHLSL::handleExcessiveLoop().
|
inline |
Definition at line 217 of file intermediate.h.
References line.
Referenced by TParseContext::addConstructor(), TIntermediate::addConversion(), TIntermediate::addSelection(), TParseContext::constErrorCheck(), TParseContext::constructBuiltIn(), TIntermConstantUnion::fold(), TParseContext::foldConstConstructor(), sh::OutputHLSL::handleExcessiveLoop(), TParseContext::integerErrorCheck(), OutputTreeText(), TIntermBinary::promote(), TIntermediate::promoteConstantUnion(), sh::OutputHLSL::visitAggregate(), ValidateLimitations::visitBinary(), sh::OutputHLSL::visitLoop(), sh::OutputHLSL::visitSelection(), and RestrictVertexShaderTiming::visitSymbol().
TIntermNode::POOL_ALLOCATOR_NEW_DELETE | ( | ) |
|
inline |
Definition at line 218 of file intermediate.h.
References line.
Referenced by TIntermediate::addAssign(), TIntermediate::addBinaryMath(), TIntermediate::addBranch(), TIntermediate::addConstantUnion(), TIntermediate::addIndex(), TIntermediate::addLoop(), TIntermediate::addSelection(), TIntermediate::addSwizzle(), TIntermediate::addSymbol(), TIntermediate::addUnaryMath(), TIntermConstantUnion::fold(), TIntermediate::growAggregate(), TIntermediate::makeAggregate(), and TIntermediate::setAggregateOperator().
|
pure virtual |
Implemented in TIntermSelection, TIntermAggregate, TIntermUnary, TIntermBinary, TIntermConstantUnion, TIntermSymbol, TIntermBranch, and TIntermLoop.
Referenced by TCompiler::collectAttribsUniforms(), TCompiler::detectCallDepth(), RestrictVertexShaderTiming::enforceRestrictions(), sh::OutputHLSL::handleExcessiveLoop(), TCompiler::limitExpressionComplexity(), TCompiler::mapLongVariableNames(), BuiltInFunctionEmulator::MarkBuiltInFunctionsForEmulation(), ForLoopUnroll::MarkForLoopsWithIntegerIndicesForUnrolling(), ArrayBoundsClamper::MarkIndirectArrayBoundsForClamping(), sh::OutputHLSL::output(), TIntermediate::outputTree(), TIntermediate::parseConstTree(), QualifierWritten(), RemoveAllTreeNodes(), TCompiler::rewriteCSSShader(), TranslatorESSL::translate(), TranslatorGLSL::translate(), sh::DetectLoopDiscontinuity::traverse(), sh::SearchSymbol::traverse(), sh::UnfoldShortCircuit::traverse(), sh::DetectGradientOperation::traverse(), TIntermLoop::traverse(), TIntermBranch::traverse(), TIntermUnary::traverse(), TIntermSelection::traverse(), sh::OutputHLSL::traverseStatements(), TCompiler::validateLimitations(), TOutputGLSLBase::visitAggregate(), sh::UnfoldShortCircuit::visitBinary(), ValidateLimitations::visitBinary(), sh::OutputHLSL::visitBinary(), TOutputGLSLBase::visitCodeBlock(), sh::UnfoldShortCircuit::visitLoop(), ValidateLimitations::visitLoop(), TOutputGLSLBase::visitLoop(), MapLongVariableNames::visitLoop(), sh::OutputHLSL::visitLoop(), sh::UnfoldShortCircuit::visitSelection(), TOutputGLSLBase::visitSelection(), sh::OutputHLSL::visitSelection(), and writeVersion().
|
protected |
Definition at line 231 of file intermediate.h.
Referenced by getLine(), setLine(), and TIntermNode().