zenilib: TIntermNode Class Reference

zenilib 0.5.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
TIntermNode Class Referenceabstract

`#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

## Detailed Description

Definition at line 206 of file intermediate.h.

## Constructor & Destructor Documentation

TIntermNode::TIntermNode | ( |  | ) |

inline

Definition at line 209 of file intermediate.h.

References TSourceLoc::first_file, TSourceLoc::first_line, TSourceLoc::last_file, TSourceLoc::last_line, and line.

virtual TIntermNode::~TIntermNode | ( |  | ) |

inlinevirtual

Definition at line 215 of file intermediate.h.

## Member Function Documentation

virtual TIntermAggregate* TIntermNode::getAsAggregate | ( |  | ) |

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().

virtual TIntermBinary* TIntermNode::getAsBinaryNode | ( |  | ) |

inlinevirtual

Reimplemented in TIntermBinary.

Definition at line 224 of file intermediate.h.

Referenced by ForLoopUnroll::FillLoopIndexInfo(), TGraphLogicalOp::getIntermLogicalOp(), sh::OutputHLSL::handleExcessiveLoop(), and TParseContext::lValueErrorCheck().

virtual TIntermConstantUnion* TIntermNode::getAsConstantUnion | ( |  | ) |

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().

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 TIntermSymbol* TIntermNode::getAsSymbolNode | ( |  | ) |

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().

virtual TIntermTyped* TIntermNode::getAsTyped | ( |  | ) |

inlinevirtual

Reimplemented in TIntermTyped.

Definition at line 221 of file intermediate.h.

Referenced by TIntermediate::addUnaryMath(), TParseContext::constructorErrorCheck(), and TParseContext::constructStruct().

virtual TIntermUnary* TIntermNode::getAsUnaryNode | ( |  | ) |

inlinevirtual

Reimplemented in TIntermUnary.

Definition at line 225 of file intermediate.h.

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

const TSourceLoc& TIntermNode::getLine | ( |  | ) | const

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 | ( |  | ) |

void TIntermNode::setLine | ( | const TSourceLoc & | l | ) |

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().

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:

- zenilib/jni/external/angle/src/compiler/intermediate.h