#include <lscript_tree.h>
Inheritance diagram for LLScriptExpression:
Public Member Functions | |
LLScriptExpression (S32 line, S32 col, LSCRIPTExpressionType type) | |
void | addExpression (LLScriptExpression *expression) |
virtual | ~LLScriptExpression () |
void | recurse (FILE *fp, S32 tabs, S32 tabsize, LSCRIPTCompilePass pass, LSCRIPTPruneType ptype, BOOL &prunearg, LLScriptScope *scope, LSCRIPTType &type, LSCRIPTType basetype, U64 &count, LLScriptByteCodeChunk *chunk, LLScriptByteCodeChunk *heap, S32 stacksize, LLScriptScopeEntry *entry, S32 entrycount, LLScriptLibData **ldata) |
void | gonext (FILE *fp, S32 tabs, S32 tabsize, LSCRIPTCompilePass pass, LSCRIPTPruneType ptype, BOOL &prunearg, LLScriptScope *scope, LSCRIPTType &type, LSCRIPTType basetype, U64 &count, LLScriptByteCodeChunk *chunk, LLScriptByteCodeChunk *heap, S32 stacksize, LLScriptScopeEntry *entry, S32 entrycount, LLScriptLibData **ldata) |
S32 | getSize () |
Public Attributes | |
LSCRIPTExpressionType | mType |
LLScriptExpression * | mNextp |
LSCRIPTType | mLeftType |
LSCRIPTType | mRightType |
LSCRIPTType | mReturnType |
Definition at line 920 of file lscript_tree.h.
LLScriptExpression::LLScriptExpression | ( | S32 | line, | |
S32 | col, | |||
LSCRIPTExpressionType | type | |||
) | [inline] |
Definition at line 923 of file lscript_tree.h.
virtual LLScriptExpression::~LLScriptExpression | ( | ) | [inline, virtual] |
Definition at line 930 of file lscript_tree.h.
void LLScriptExpression::addExpression | ( | LLScriptExpression * | expression | ) |
S32 LLScriptExpression::getSize | ( | ) | [virtual] |
Implements LLScriptFilePosition.
Reimplemented in LLScriptForExpressionList, LLScriptFuncExpressionList, LLScriptListExpressionList, LLScriptLValue, LLScriptAssignment, LLScriptAddAssignment, LLScriptSubAssignment, LLScriptMulAssignment, LLScriptDivAssignment, LLScriptModAssignment, LLScriptEquality, LLScriptNotEquals, LLScriptLessEquals, LLScriptGreaterEquals, LLScriptLessThan, LLScriptGreaterThan, LLScriptPlus, LLScriptMinus, LLScriptTimes, LLScriptDivide, LLScriptMod, LLScriptBitAnd, LLScriptBitOr, LLScriptBitXor, LLScriptBooleanAnd, LLScriptBooleanOr, LLScriptShiftLeft, LLScriptShiftRight, LLScriptParenthesis, LLScriptUnaryMinus, LLScriptBooleanNot, LLScriptBitNot, LLScriptPreIncrement, LLScriptPreDecrement, LLScriptTypeCast, LLScriptVectorInitializer, LLScriptQuaternionInitializer, LLScriptListInitializer, LLScriptPostIncrement, LLScriptPostDecrement, LLScriptFunctionCall, LLScriptPrint, and LLScriptConstantExpression.
Definition at line 3424 of file lscript_tree.cpp.
void LLScriptExpression::gonext | ( | FILE * | fp, | |
S32 | tabs, | |||
S32 | tabsize, | |||
LSCRIPTCompilePass | pass, | |||
LSCRIPTPruneType | ptype, | |||
BOOL & | prunearg, | |||
LLScriptScope * | scope, | |||
LSCRIPTType & | type, | |||
LSCRIPTType | basetype, | |||
U64 & | count, | |||
LLScriptByteCodeChunk * | chunk, | |||
LLScriptByteCodeChunk * | heap, | |||
S32 | stacksize, | |||
LLScriptScopeEntry * | entry, | |||
S32 | entrycount, | |||
LLScriptLibData ** | ldata | |||
) |
Definition at line 3430 of file lscript_tree.cpp.
References gErrorToText, LLScriptGenerateErrorText::getErrors(), LSCP_PRETTY_PRINT, mNextp, and NULL.
Referenced by LLScriptConstantExpression::recurse(), LLScriptPrint::recurse(), LLScriptFunctionCall::recurse(), LLScriptPostDecrement::recurse(), LLScriptPostIncrement::recurse(), LLScriptListInitializer::recurse(), LLScriptQuaternionInitializer::recurse(), LLScriptVectorInitializer::recurse(), LLScriptTypeCast::recurse(), LLScriptPreDecrement::recurse(), LLScriptPreIncrement::recurse(), LLScriptBitNot::recurse(), LLScriptBooleanNot::recurse(), LLScriptUnaryMinus::recurse(), LLScriptParenthesis::recurse(), LLScriptShiftRight::recurse(), LLScriptShiftLeft::recurse(), LLScriptBooleanOr::recurse(), LLScriptBooleanAnd::recurse(), LLScriptBitXor::recurse(), LLScriptBitOr::recurse(), LLScriptBitAnd::recurse(), LLScriptMod::recurse(), LLScriptDivide::recurse(), LLScriptTimes::recurse(), LLScriptMinus::recurse(), LLScriptPlus::recurse(), LLScriptGreaterThan::recurse(), LLScriptLessThan::recurse(), LLScriptGreaterEquals::recurse(), LLScriptLessEquals::recurse(), LLScriptNotEquals::recurse(), LLScriptEquality::recurse(), LLScriptModAssignment::recurse(), LLScriptDivAssignment::recurse(), LLScriptMulAssignment::recurse(), LLScriptSubAssignment::recurse(), LLScriptAddAssignment::recurse(), LLScriptAssignment::recurse(), and LLScriptLValue::recurse().
void LLScriptExpression::recurse | ( | FILE * | fp, | |
S32 | tabs, | |||
S32 | tabsize, | |||
LSCRIPTCompilePass | pass, | |||
LSCRIPTPruneType | ptype, | |||
BOOL & | prunearg, | |||
LLScriptScope * | scope, | |||
LSCRIPTType & | type, | |||
LSCRIPTType | basetype, | |||
U64 & | count, | |||
LLScriptByteCodeChunk * | chunk, | |||
LLScriptByteCodeChunk * | heap, | |||
S32 | stacksize, | |||
LLScriptScopeEntry * | entry, | |||
S32 | entrycount, | |||
LLScriptLibData ** | ldata | |||
) | [virtual] |
Implements LLScriptFilePosition.
Reimplemented in LLScriptForExpressionList, LLScriptFuncExpressionList, LLScriptListExpressionList, LLScriptLValue, LLScriptAssignment, LLScriptAddAssignment, LLScriptSubAssignment, LLScriptMulAssignment, LLScriptDivAssignment, LLScriptModAssignment, LLScriptEquality, LLScriptNotEquals, LLScriptLessEquals, LLScriptGreaterEquals, LLScriptLessThan, LLScriptGreaterThan, LLScriptPlus, LLScriptMinus, LLScriptTimes, LLScriptDivide, LLScriptMod, LLScriptBitAnd, LLScriptBitOr, LLScriptBitXor, LLScriptBooleanAnd, LLScriptBooleanOr, LLScriptShiftLeft, LLScriptShiftRight, LLScriptParenthesis, LLScriptUnaryMinus, LLScriptBooleanNot, LLScriptBitNot, LLScriptPreIncrement, LLScriptPreDecrement, LLScriptTypeCast, LLScriptVectorInitializer, LLScriptQuaternionInitializer, LLScriptListInitializer, LLScriptPostIncrement, LLScriptPostDecrement, LLScriptFunctionCall, LLScriptPrint, and LLScriptConstantExpression.
Definition at line 3419 of file lscript_tree.cpp.
Referenced by LLScriptWhile::recurse(), LLScriptDoWhile::recurse(), LLScriptFor::recurse(), LLScriptIfElse::recurse(), LLScriptIf::recurse(), LLScriptExpressionStatement::recurse(), LLScriptPrint::recurse(), LLScriptFunctionCall::recurse(), LLScriptPostDecrement::recurse(), LLScriptPostIncrement::recurse(), LLScriptListInitializer::recurse(), LLScriptQuaternionInitializer::recurse(), LLScriptVectorInitializer::recurse(), LLScriptTypeCast::recurse(), LLScriptPreDecrement::recurse(), LLScriptPreIncrement::recurse(), LLScriptBitNot::recurse(), LLScriptBooleanNot::recurse(), LLScriptUnaryMinus::recurse(), LLScriptParenthesis::recurse(), LLScriptShiftRight::recurse(), LLScriptShiftLeft::recurse(), LLScriptBooleanOr::recurse(), LLScriptBooleanAnd::recurse(), LLScriptBitXor::recurse(), LLScriptBitOr::recurse(), LLScriptBitAnd::recurse(), LLScriptMod::recurse(), LLScriptDivide::recurse(), LLScriptTimes::recurse(), LLScriptMinus::recurse(), LLScriptPlus::recurse(), LLScriptGreaterThan::recurse(), LLScriptLessThan::recurse(), LLScriptGreaterEquals::recurse(), LLScriptLessEquals::recurse(), LLScriptNotEquals::recurse(), LLScriptEquality::recurse(), LLScriptModAssignment::recurse(), LLScriptDivAssignment::recurse(), LLScriptMulAssignment::recurse(), LLScriptSubAssignment::recurse(), LLScriptAddAssignment::recurse(), LLScriptAssignment::recurse(), LLScriptListExpressionList::recurse(), LLScriptFuncExpressionList::recurse(), and LLScriptForExpressionList::recurse().
Definition at line 942 of file lscript_tree.h.
Referenced by LLScriptPrint::recurse(), LLScriptPostDecrement::recurse(), LLScriptPostIncrement::recurse(), LLScriptTypeCast::recurse(), LLScriptPreDecrement::recurse(), LLScriptPreIncrement::recurse(), LLScriptBitNot::recurse(), LLScriptBooleanNot::recurse(), LLScriptUnaryMinus::recurse(), LLScriptParenthesis::recurse(), LLScriptShiftRight::recurse(), LLScriptShiftLeft::recurse(), LLScriptBooleanOr::recurse(), LLScriptBooleanAnd::recurse(), LLScriptBitXor::recurse(), LLScriptBitOr::recurse(), LLScriptBitAnd::recurse(), LLScriptMod::recurse(), LLScriptDivide::recurse(), LLScriptTimes::recurse(), LLScriptMinus::recurse(), LLScriptPlus::recurse(), LLScriptGreaterThan::recurse(), LLScriptLessThan::recurse(), LLScriptGreaterEquals::recurse(), LLScriptLessEquals::recurse(), LLScriptNotEquals::recurse(), LLScriptEquality::recurse(), LLScriptModAssignment::recurse(), LLScriptDivAssignment::recurse(), LLScriptMulAssignment::recurse(), LLScriptSubAssignment::recurse(), LLScriptAddAssignment::recurse(), LLScriptAssignment::recurse(), and store2stack().
Definition at line 941 of file lscript_tree.h.
Referenced by addExpression(), gonext(), LLScriptQuaternionInitializer::recurse(), and LLScriptVectorInitializer::recurse().
Definition at line 942 of file lscript_tree.h.
Referenced by print_cil_accessor(), print_cil_arg_list(), LLScriptExpressionStatement::recurse(), LLScriptConstantExpression::recurse(), LLScriptPrint::recurse(), LLScriptFunctionCall::recurse(), LLScriptPostDecrement::recurse(), LLScriptPostIncrement::recurse(), LLScriptListInitializer::recurse(), LLScriptQuaternionInitializer::recurse(), LLScriptVectorInitializer::recurse(), LLScriptTypeCast::recurse(), LLScriptPreDecrement::recurse(), LLScriptPreIncrement::recurse(), LLScriptBitNot::recurse(), LLScriptBooleanNot::recurse(), LLScriptUnaryMinus::recurse(), LLScriptParenthesis::recurse(), LLScriptShiftRight::recurse(), LLScriptShiftLeft::recurse(), LLScriptBooleanOr::recurse(), LLScriptBooleanAnd::recurse(), LLScriptBitXor::recurse(), LLScriptBitOr::recurse(), LLScriptBitAnd::recurse(), LLScriptMod::recurse(), LLScriptDivide::recurse(), LLScriptTimes::recurse(), LLScriptMinus::recurse(), LLScriptPlus::recurse(), LLScriptGreaterThan::recurse(), LLScriptLessThan::recurse(), LLScriptGreaterEquals::recurse(), LLScriptLessEquals::recurse(), LLScriptNotEquals::recurse(), LLScriptEquality::recurse(), LLScriptModAssignment::recurse(), LLScriptDivAssignment::recurse(), LLScriptMulAssignment::recurse(), LLScriptSubAssignment::recurse(), LLScriptAddAssignment::recurse(), LLScriptAssignment::recurse(), LLScriptLValue::recurse(), LLScriptListExpressionList::recurse(), LLScriptFuncExpressionList::recurse(), LLScriptForExpressionList::recurse(), and store2stack().
Definition at line 942 of file lscript_tree.h.
Referenced by LLScriptTypeCast::recurse(), LLScriptShiftRight::recurse(), LLScriptShiftLeft::recurse(), LLScriptBooleanOr::recurse(), LLScriptBooleanAnd::recurse(), LLScriptBitXor::recurse(), LLScriptBitOr::recurse(), LLScriptBitAnd::recurse(), LLScriptMod::recurse(), LLScriptDivide::recurse(), LLScriptTimes::recurse(), LLScriptMinus::recurse(), LLScriptPlus::recurse(), LLScriptGreaterThan::recurse(), LLScriptLessThan::recurse(), LLScriptGreaterEquals::recurse(), LLScriptLessEquals::recurse(), LLScriptNotEquals::recurse(), LLScriptEquality::recurse(), LLScriptModAssignment::recurse(), LLScriptDivAssignment::recurse(), LLScriptMulAssignment::recurse(), LLScriptSubAssignment::recurse(), LLScriptAddAssignment::recurse(), LLScriptAssignment::recurse(), and store2stack().
Reimplemented in LLScriptTypeCast.
Definition at line 940 of file lscript_tree.h.
Referenced by LLScriptPostDecrement::recurse(), LLScriptPostIncrement::recurse(), LLScriptPreDecrement::recurse(), LLScriptPreIncrement::recurse(), LLScriptBitNot::recurse(), LLScriptBooleanNot::recurse(), LLScriptUnaryMinus::recurse(), LLScriptShiftRight::recurse(), LLScriptShiftLeft::recurse(), LLScriptBooleanOr::recurse(), LLScriptBooleanAnd::recurse(), LLScriptBitXor::recurse(), LLScriptBitOr::recurse(), LLScriptBitAnd::recurse(), LLScriptMod::recurse(), LLScriptDivide::recurse(), LLScriptTimes::recurse(), LLScriptMinus::recurse(), LLScriptPlus::recurse(), LLScriptGreaterThan::recurse(), LLScriptLessThan::recurse(), LLScriptGreaterEquals::recurse(), LLScriptLessEquals::recurse(), LLScriptNotEquals::recurse(), LLScriptEquality::recurse(), LLScriptModAssignment::recurse(), LLScriptDivAssignment::recurse(), LLScriptMulAssignment::recurse(), LLScriptSubAssignment::recurse(), LLScriptAddAssignment::recurse(), LLScriptListExpressionList::recurse(), and store2stack().