zenilib: TIntermLoop 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
TIntermLoop Class Reference

`#include <intermediate.h>`

Inherits TIntermNode.

## Public Member Functions

| TIntermLoop (TLoopType aType, TIntermNode *aInit, TIntermTyped *aCond, TIntermTyped *aExpr, TIntermNode *aBody)
virtual TIntermLoop * | getAsLoopNode ()
TIntermNode * | getBody ()
TIntermTyped * | getCondition ()
TIntermTyped * | getExpression ()
TIntermNode * | getInit ()
TLoopType | getType () const
bool | getUnrollFlag ()
void | setUnrollFlag (bool flag)
virtual void | traverse (TIntermTraverser *)
Public Member Functions inherited from TIntermNode
| TIntermNode ()
virtual | ~TIntermNode ()
virtual TIntermAggregate * | getAsAggregate ()
virtual TIntermBinary * | getAsBinaryNode ()
virtual TIntermConstantUnion * | getAsConstantUnion ()
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)

## Protected Attributes

TIntermNode * | body
TIntermTyped * | cond
TIntermTyped * | expr
TIntermNode * | init
TLoopType | type
bool | unrollFlag
Protected Attributes inherited from TIntermNode
TSourceLoc | line

## Detailed Description

Definition at line 284 of file intermediate.h.

## Constructor & Destructor Documentation

TIntermLoop::TIntermLoop | ( | TLoopType | aType,
|  | TIntermNode * | aInit,
|  | TIntermTyped * | aCond,
|  | TIntermTyped * | aExpr,
|  | TIntermNode * | aBody
| ) |  |

inline

Definition at line 286 of file intermediate.h.

## Member Function Documentation

virtual TIntermLoop* TIntermLoop::getAsLoopNode | ( |  | ) |

inlinevirtual

Reimplemented from TIntermNode.

Definition at line 296 of file intermediate.h.

TIntermNode* TIntermLoop::getBody | ( |  | ) |

inline

Definition at line 303 of file intermediate.h.

References body.

Referenced by sh::OutputHLSL::handleExcessiveLoop(), TDependencyGraphBuilder::visitLoop(), ValidateLimitations::visitLoop(), TOutputGLSLBase::visitLoop(), and sh::OutputHLSL::visitLoop().

TIntermTyped* TIntermLoop::getCondition | ( |  | ) |

inline

Definition at line 301 of file intermediate.h.

References cond.

Referenced by ForLoopUnroll::FillLoopIndexInfo(), sh::OutputHLSL::handleExcessiveLoop(), TDependencyGraphBuilder::visitLoop(), sh::UnfoldShortCircuit::visitLoop(), TOutputGLSLBase::visitLoop(), and sh::OutputHLSL::visitLoop().

TIntermTyped* TIntermLoop::getExpression | ( |  | ) |

inline

Definition at line 302 of file intermediate.h.

References expr.

Referenced by sh::OutputHLSL::handleExcessiveLoop(), TDependencyGraphBuilder::visitLoop(), sh::UnfoldShortCircuit::visitLoop(), TOutputGLSLBase::visitLoop(), and sh::OutputHLSL::visitLoop().

TIntermNode* TIntermLoop::getInit | ( |  | ) |

inline

Definition at line 300 of file intermediate.h.

References init.

Referenced by ForLoopUnroll::FillLoopIndexInfo(), sh::OutputHLSL::handleExcessiveLoop(), sh::UnfoldShortCircuit::visitLoop(), TOutputGLSLBase::visitLoop(), MapLongVariableNames::visitLoop(), and sh::OutputHLSL::visitLoop().

TLoopType TIntermLoop::getType | ( |  | ) | const

inline

Definition at line 299 of file intermediate.h.

References type.

Referenced by ForLoopUnroll::FillLoopIndexInfo(), TOutputGLSLBase::visitLoop(), and sh::OutputHLSL::visitLoop().

bool TIntermLoop::getUnrollFlag | ( |  | ) |

inline

Definition at line 306 of file intermediate.h.

References unrollFlag.

Referenced by ForLoopUnroll::FillLoopIndexInfo(), and TOutputGLSLBase::visitLoop().

void TIntermLoop::setUnrollFlag | ( | bool | flag | ) |

inline

Definition at line 305 of file intermediate.h.

References unrollFlag.

void TIntermLoop::traverse | ( | TIntermTraverser * | it | ) |

virtual

Implements TIntermNode.

Definition at line 217 of file IntermTraverse.cpp.

References body, cond, TIntermTraverser::decrementDepth(), expr, TIntermTraverser::incrementDepth(), PostVisit, TIntermTraverser::postVisit, PreVisit, TIntermTraverser::preVisit, TIntermTraverser::rightToLeft, TIntermNode::traverse(), and TIntermTraverser::visitLoop().

## Member Data Documentation

TIntermNode* TIntermLoop::body

protected

Definition at line 313 of file intermediate.h.

Referenced by getBody(), and traverse().

TIntermTyped* TIntermLoop::cond

protected

Definition at line 311 of file intermediate.h.

Referenced by getCondition(), and traverse().

TIntermTyped* TIntermLoop::expr

protected

Definition at line 312 of file intermediate.h.

Referenced by getExpression(), and traverse().

TIntermNode* TIntermLoop::init

protected

Definition at line 310 of file intermediate.h.

Referenced by getInit().

TLoopType TIntermLoop::type

protected

Definition at line 309 of file intermediate.h.

Referenced by getType().

bool TIntermLoop::unrollFlag

protected

Definition at line 315 of file intermediate.h.

Referenced by getUnrollFlag(), and setUnrollFlag().

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

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