zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TIntermNode Class Referenceabstract

#include <intermediate.h>

Inherited by TIntermBranch, TIntermLoop, and TIntermTyped.

Public Member Functions

 TIntermNode ()
 
virtual ~TIntermNode ()
 
virtual TIntermAggregategetAsAggregate ()
 
virtual TIntermBinarygetAsBinaryNode ()
 
virtual TIntermConstantUniongetAsConstantUnion ()
 
virtual TIntermLoopgetAsLoopNode ()
 
virtual TIntermSelectiongetAsSelectionNode ()
 
virtual TIntermSymbolgetAsSymbolNode ()
 
virtual TIntermTypedgetAsTyped ()
 
virtual TIntermUnarygetAsUnaryNode ()
 
const TSourceLocgetLine () const
 
 POOL_ALLOCATOR_NEW_DELETE ()
 
void setLine (const TSourceLoc &l)
 
virtual void traverse (TIntermTraverser *)=0
 

Protected Attributes

TSourceLoc line
 

Detailed Description

Definition at line 206 of file intermediate.h.

Constructor & Destructor Documentation

TIntermNode::TIntermNode ( )
inline
virtual TIntermNode::~TIntermNode ( )
inlinevirtual

Definition at line 215 of file intermediate.h.

Member Function Documentation

virtual TIntermBinary* TIntermNode::getAsBinaryNode ( )
inlinevirtual
virtual TIntermLoop* TIntermNode::getAsLoopNode ( )
inlinevirtual

Reimplemented in TIntermLoop.

Definition at line 228 of file intermediate.h.

Referenced by TGraphLoop::getIntermLoop().

virtual TIntermSelection* TIntermNode::getAsSelectionNode ( )
inlinevirtual

Reimplemented in TIntermSelection.

Definition at line 226 of file intermediate.h.

Referenced by TGraphSelection::getIntermSelection().

virtual TIntermTyped* TIntermNode::getAsTyped ( )
inlinevirtual
virtual TIntermUnary* TIntermNode::getAsUnaryNode ( )
inlinevirtual

Reimplemented in TIntermUnary.

Definition at line 225 of file intermediate.h.

Referenced by sh::OutputHLSL::handleExcessiveLoop().

TIntermNode::POOL_ALLOCATOR_NEW_DELETE ( )
virtual void TIntermNode::traverse ( TIntermTraverser )
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().

Member Data Documentation

TSourceLoc TIntermNode::line
protected

Definition at line 231 of file intermediate.h.

Referenced by getLine(), setLine(), and TIntermNode().


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