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

`#include <UnfoldShortCircuit.h>`

Inherits TIntermTraverser.

## Public Member Functions

| UnfoldShortCircuit (TParseContext &context, OutputHLSL *outputHLSL)
int | getNextTemporaryIndex ()
void | traverse (TIntermNode *node)
bool | visitBinary (Visit visit, TIntermBinary *)
bool | visitLoop (Visit visit, TIntermLoop *node)
bool | visitSelection (Visit visit, TIntermSelection *node)
Public Member Functions inherited from TIntermTraverser
| TIntermTraverser (bool preVisit=true, bool inVisit=false, bool postVisit=false, bool rightToLeft=false)
virtual | ~TIntermTraverser ()
void | decrementDepth ()
int | getMaxDepth () const
void | incrementDepth ()
| POOL_ALLOCATOR_NEW_DELETE ()
virtual bool | visitAggregate (Visit visit, TIntermAggregate *)
virtual bool | visitBranch (Visit visit, TIntermBranch *)
virtual void | visitConstantUnion (TIntermConstantUnion *)
virtual void | visitSymbol (TIntermSymbol *)
virtual bool | visitUnary (Visit visit, TIntermUnary *)

## Protected Attributes

TParseContext & | mContext
OutputHLSL *const | mOutputHLSL
int | mTemporaryIndex
Protected Attributes inherited from TIntermTraverser
int | depth
int | maxDepth

## Additional Inherited Members

Static Public Member Functions inherited from TIntermTraverser
static TString | hash (const TString &name, ShHashFunction64 hashFunction)
Public Attributes inherited from TIntermTraverser
const bool | inVisit
const bool | postVisit
const bool | preVisit
const bool | rightToLeft

## Detailed Description

Definition at line 19 of file UnfoldShortCircuit.h.

## Constructor & Destructor Documentation

sh::UnfoldShortCircuit::UnfoldShortCircuit | ( | TParseContext & | context,
|  | OutputHLSL * | outputHLSL
| ) |  |

Definition at line 18 of file UnfoldShortCircuit.cpp.

References mTemporaryIndex.

## Member Function Documentation

int sh::UnfoldShortCircuit::getNextTemporaryIndex | ( |  | ) |

Definition at line 172 of file UnfoldShortCircuit.cpp.

References mTemporaryIndex.

Referenced by sh::OutputHLSL::visitBinary(), and sh::OutputHLSL::visitSelection().

void sh::UnfoldShortCircuit::traverse | ( | TIntermNode * | node | ) |

Definition at line 23 of file UnfoldShortCircuit.cpp.

References mTemporaryIndex, and TIntermNode::traverse().

Referenced by sh::OutputHLSL::traverseStatements(), and sh::OutputHLSL::visitSelection().

bool sh::UnfoldShortCircuit::visitBinary | ( | Visit | visit,
|  | TIntermBinary * | node
| ) |  |

virtual

Reimplemented from TIntermTraverser.

Definition at line 30 of file UnfoldShortCircuit.cpp.

References EOpLogicalAnd, EOpLogicalOr, sh::OutputHLSL::getBodyStream(), TIntermBinary::getLeft(), TIntermOperator::getOp(), TIntermBinary::getRight(), i, mOutputHLSL, mTemporaryIndex, and TIntermNode::traverse().

bool sh::UnfoldShortCircuit::visitLoop | ( | Visit | visit,
|  | TIntermLoop * | node
| ) |  |

virtual

Reimplemented from TIntermTraverser.

Definition at line 148 of file UnfoldShortCircuit.cpp.

References TIntermLoop::getCondition(), TIntermLoop::getExpression(), TIntermLoop::getInit(), mTemporaryIndex, and TIntermNode::traverse().

bool sh::UnfoldShortCircuit::visitSelection | ( | Visit | visit,
|  | TIntermSelection * | node
| ) |  |

virtual

Reimplemented from TIntermTraverser.

Definition at line 103 of file UnfoldShortCircuit.cpp.

References sh::OutputHLSL::getBodyStream(), TIntermSelection::getCondition(), TIntermSelection::getFalseBlock(), TIntermSelection::getTrueBlock(), TIntermTyped::getType(), i, mOutputHLSL, mTemporaryIndex, TIntermNode::traverse(), sh::OutputHLSL::typeString(), and TIntermSelection::usesTernaryOperator().

## Member Data Documentation

TParseContext& sh::UnfoldShortCircuit::mContext

protected

Definition at line 32 of file UnfoldShortCircuit.h.

OutputHLSL* const sh::UnfoldShortCircuit::mOutputHLSL

protected

Definition at line 33 of file UnfoldShortCircuit.h.

Referenced by visitBinary(), and visitSelection().

int sh::UnfoldShortCircuit::mTemporaryIndex

protected

Definition at line 35 of file UnfoldShortCircuit.h.

Referenced by getNextTemporaryIndex(), traverse(), UnfoldShortCircuit(), visitBinary(), visitLoop(), and visitSelection().

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

- zenilib/jni/external/angle/src/compiler/UnfoldShortCircuit.h
- zenilib/jni/external/angle/src/compiler/UnfoldShortCircuit.cpp