zenilib
0.5.3.0
|
#include <localintermediate.h>
Definition at line 23 of file localintermediate.h.
|
inline |
Definition at line 26 of file localintermediate.h.
TIntermTyped * TIntermediate::addAssign | ( | TOperator | op, |
TIntermTyped * | left, | ||
TIntermTyped * | right, | ||
const TSourceLoc & | line | ||
) |
Definition at line 231 of file Intermediate.cpp.
References addConversion(), TIntermTyped::getType(), TParseContext::infoSink(), TIntermBinary::promote(), TIntermBinary::setLeft(), TIntermNode::setLine(), and TIntermBinary::setRight().
Referenced by TParseContext::executeInitializer().
TIntermTyped * TIntermediate::addBinaryMath | ( | TOperator | op, |
TIntermTyped * | left, | ||
TIntermTyped * | right, | ||
const TSourceLoc & | line, | ||
TSymbolTable & | symbolTable | ||
) |
Definition at line 147 of file Intermediate.cpp.
References addConversion(), EbtBool, EbtStruct, EOpAdd, EOpDiv, EOpEqual, EOpGreaterThan, EOpGreaterThanEqual, EOpLessThan, EOpLessThanEqual, EOpLogicalAnd, EOpLogicalOr, EOpLogicalXor, EOpMul, EOpNotEqual, EOpSub, TIntermConstantUnion::fold(), TIntermNode::getAsConstantUnion(), TIntermTyped::getBasicType(), TIntermOperator::getOp(), TType::getStruct(), TIntermTyped::getType(), TParseContext::infoSink(), TIntermTyped::isArray(), TIntermTyped::isMatrix(), TIntermTyped::isVector(), TIntermBinary::promote(), TIntermBinary::setLeft(), TIntermNode::setLine(), and TIntermBinary::setRight().
TIntermBranch * TIntermediate::addBranch | ( | TOperator | branchOp, |
const TSourceLoc & | line | ||
) |
Definition at line 698 of file Intermediate.cpp.
TIntermBranch * TIntermediate::addBranch | ( | TOperator | branchOp, |
TIntermTyped * | expression, | ||
const TSourceLoc & | line | ||
) |
Definition at line 703 of file Intermediate.cpp.
References TIntermNode::setLine().
TIntermTyped * TIntermediate::addComma | ( | TIntermTyped * | left, |
TIntermTyped * | right, | ||
const TSourceLoc & | line | ||
) |
Definition at line 593 of file Intermediate.cpp.
References EOpComma, EvqConst, EvqTemporary, TIntermNode::getAsAggregate(), TType::getQualifier(), TIntermTyped::getType(), TIntermTyped::getTypePointer(), growAggregate(), TIntermOperator::setOp(), TType::setQualifier(), and TIntermTyped::setType().
TIntermConstantUnion * TIntermediate::addConstantUnion | ( | ConstantUnion * | unionArrayPointer, |
const TType & | t, | ||
const TSourceLoc & | line | ||
) |
Definition at line 656 of file Intermediate.cpp.
References TIntermNode::setLine().
Referenced by TParseContext::addConstArrayNode(), TParseContext::addConstMatrixNode(), TParseContext::addConstStruct(), TParseContext::addConstVectorNode(), TParseContext::addIndexExpression(), addSwizzle(), TParseContext::foldConstConstructor(), and promoteConstantUnion().
TIntermTyped * TIntermediate::addConversion | ( | TOperator | op, |
const TType & | type, | ||
TIntermTyped * | node | ||
) |
Definition at line 407 of file Intermediate.cpp.
References EbtBool, EbtFloat, EbtInt, EbtSampler2D, EbtSamplerCube, EbtVoid, EOpConstructBool, EOpConstructFloat, EOpConstructInt, EOpConvBoolToFloat, EOpConvBoolToInt, EOpConvFloatToBool, EOpConvFloatToInt, EOpConvIntToBool, EOpConvIntToFloat, EOpNull, EPrefixInternalError, EvqTemporary, TIntermNode::getAsConstantUnion(), TType::getBasicType(), TIntermTyped::getBasicType(), TIntermNode::getLine(), TIntermTyped::getNominalSize(), TIntermTyped::getPrecision(), TType::getStruct(), TIntermTyped::getType(), TInfoSink::info, TParseContext::infoSink(), TType::isArray(), TIntermTyped::isArray(), TIntermTyped::isMatrix(), TInfoSinkBase::message(), and promoteConstantUnion().
Referenced by addAssign(), addBinaryMath(), addSelection(), and addUnaryMath().
TIntermTyped * TIntermediate::addIndex | ( | TOperator | op, |
TIntermTyped * | base, | ||
TIntermTyped * | index, | ||
const TSourceLoc & | line | ||
) |
Definition at line 259 of file Intermediate.cpp.
References TIntermBinary::setLeft(), TIntermNode::setLine(), and TIntermBinary::setRight().
Referenced by TParseContext::addIndexExpression().
TIntermNode * TIntermediate::addLoop | ( | TLoopType | type, |
TIntermNode * | init, | ||
TIntermTyped * | cond, | ||
TIntermTyped * | expr, | ||
TIntermNode * | body, | ||
const TSourceLoc & | line | ||
) |
Definition at line 687 of file Intermediate.cpp.
References TIntermNode::setLine().
TIntermNode * TIntermediate::addSelection | ( | TIntermTyped * | cond, |
TIntermNodePair | code, | ||
const TSourceLoc & | line | ||
) |
Definition at line 572 of file Intermediate.cpp.
References EOpSequence, TIntermNode::getAsConstantUnion(), TIntermTyped::getAsTyped(), TIntermConstantUnion::getBConst(), TIntermNode::getLine(), TIntermNodePair::node1, TIntermNodePair::node2, NULL, setAggregateOperator(), and TIntermNode::setLine().
TIntermTyped * TIntermediate::addSelection | ( | TIntermTyped * | cond, |
TIntermTyped * | trueBlock, | ||
TIntermTyped * | falseBlock, | ||
const TSourceLoc & | line | ||
) |
Definition at line 613 of file Intermediate.cpp.
References addConversion(), EOpSequence, EvqTemporary, TIntermNode::getAsConstantUnion(), TIntermConstantUnion::getBConst(), TIntermTyped::getType(), TIntermTyped::getTypePointer(), TIntermNode::setLine(), and TType::setQualifier().
TIntermTyped * TIntermediate::addSwizzle | ( | TVectorFields & | fields, |
const TSourceLoc & | line | ||
) |
Definition at line 664 of file Intermediate.cpp.
References addConstantUnion(), EbpUndefined, EbtInt, EOpSequence, EvqConst, TIntermAggregate::getSequence(), i, TVectorFields::num, TVectorFields::offsets, ConstantUnion::setIConst(), and TIntermNode::setLine().
TIntermSymbol * TIntermediate::addSymbol | ( | int | Id, |
const TString & | name, | ||
const TType & | type, | ||
const TSourceLoc & | line | ||
) |
Definition at line 134 of file Intermediate.cpp.
References TIntermNode::setLine().
Referenced by TParseContext::executeInitializer().
TIntermTyped * TIntermediate::addUnaryMath | ( | TOperator | op, |
TIntermNode * | child, | ||
const TSourceLoc & | line, | ||
TSymbolTable & | symbolTable | ||
) |
Definition at line 276 of file Intermediate.cpp.
References addConversion(), EbtBool, EbtFloat, EbtInt, EbtStruct, EbtVoid, EOpConstructBool, EOpConstructFloat, EOpConstructInt, EOpLogicalNot, EOpNegative, EOpPostDecrement, EOpPostIncrement, EOpPreDecrement, EOpPreIncrement, EPrefixInternalError, EvqTemporary, TIntermConstantUnion::fold(), TIntermNode::getAsConstantUnion(), TIntermNode::getAsTyped(), TType::getBasicType(), TIntermTyped::getNominalSize(), TIntermTyped::getPrecision(), TIntermTyped::getType(), TInfoSink::info, TParseContext::infoSink(), TType::isArray(), TIntermTyped::isArray(), TType::isMatrix(), TIntermTyped::isMatrix(), TType::isVector(), TInfoSinkBase::message(), TIntermUnary::promote(), TIntermNode::setLine(), and TIntermUnary::setOperand().
Referenced by TParseContext::constructBuiltIn().
TIntermAggregate * TIntermediate::growAggregate | ( | TIntermNode * | left, |
TIntermNode * | right, | ||
const TSourceLoc & | line | ||
) |
Definition at line 526 of file Intermediate.cpp.
References EOpNull, TIntermNode::getAsAggregate(), TIntermOperator::getOp(), TIntermAggregate::getSequence(), and TIntermNode::setLine().
Referenced by addComma().
TIntermAggregate * TIntermediate::makeAggregate | ( | TIntermNode * | node, |
const TSourceLoc & | line | ||
) |
Definition at line 553 of file Intermediate.cpp.
References TIntermAggregate::getSequence(), and TIntermNode::setLine().
void TIntermediate::outputTree | ( | TIntermNode * | root | ) |
Definition at line 416 of file intermOut.cpp.
References TInfoSink::info, and TIntermNode::traverse().
Referenced by TCompiler::compile().
bool TIntermediate::parseConstTree | ( | const TSourceLoc & | line, |
TIntermNode * | root, | ||
ConstantUnion * | unionArray, | ||
TOperator | constructorType, | ||
TSymbolTable & | symbolTable, | ||
TType | t, | ||
bool | singleConstantParam = false |
||
) |
Definition at line 233 of file parseConst.cpp.
References TIntermNode::traverse().
Referenced by TParseContext::foldConstConstructor().
TIntermediate::POOL_ALLOCATOR_NEW_DELETE | ( | ) |
bool TIntermediate::postProcess | ( | TIntermNode * | root | ) |
Definition at line 715 of file Intermediate.cpp.
References EOpNull, EOpSequence, TIntermNode::getAsAggregate(), TIntermOperator::getOp(), and TIntermOperator::setOp().
Referenced by TCompiler::compile().
TIntermTyped * TIntermediate::promoteConstantUnion | ( | TBasicType | promoteTo, |
TIntermConstantUnion * | node | ||
) |
Definition at line 1362 of file Intermediate.cpp.
References addConstantUnion(), EbtBool, EbtFloat, EbtInt, EPrefixInternalError, TType::getBasicType(), TIntermConstantUnion::getBConst(), TIntermConstantUnion::getFConst(), TIntermConstantUnion::getIConst(), TIntermNode::getLine(), TType::getNominalSize(), TType::getObjectSize(), TType::getPrecision(), TType::getQualifier(), TIntermTyped::getType(), i, TInfoSink::info, TParseContext::infoSink(), TType::isArray(), TType::isMatrix(), TInfoSinkBase::message(), ConstantUnion::setBConst(), ConstantUnion::setFConst(), and ConstantUnion::setIConst().
Referenced by addConversion().
void TIntermediate::remove | ( | TIntermNode * | root | ) |
Definition at line 733 of file Intermediate.cpp.
References RemoveAllTreeNodes().
Referenced by TCompiler::compile().
TIntermAggregate * TIntermediate::setAggregateOperator | ( | TIntermNode * | node, |
TOperator | op, | ||
const TSourceLoc & | line | ||
) |
Definition at line 371 of file Intermediate.cpp.
References EOpNull, TIntermNode::getAsAggregate(), TIntermOperator::getOp(), TIntermAggregate::getSequence(), TIntermNode::setLine(), and TIntermOperator::setOp().
Referenced by TParseContext::addConstructor(), addSelection(), TParseContext::constructBuiltIn(), and TParseContext::constructStruct().