LLScriptExpression Class Reference

#include <lscript_tree.h>

Inheritance diagram for LLScriptExpression:

Inheritance graph
[legend]
Collaboration diagram for LLScriptExpression:

Collaboration graph
[legend]
List of all members.

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
LLScriptExpressionmNextp
LSCRIPTType mLeftType
LSCRIPTType mRightType
LSCRIPTType mReturnType

Detailed Description

Definition at line 920 of file lscript_tree.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

void LLScriptExpression::addExpression ( LLScriptExpression expression  ) 

Definition at line 3410 of file lscript_tree.cpp.

References mNextp.

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


Member Data Documentation

LSCRIPTType LLScriptExpression::mLeftType

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

LLScriptExpression* LLScriptExpression::mNextp

Definition at line 941 of file lscript_tree.h.

Referenced by addExpression(), gonext(), LLScriptQuaternionInitializer::recurse(), and LLScriptVectorInitializer::recurse().

LSCRIPTType LLScriptExpression::mReturnType

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

LSCRIPTType LLScriptExpression::mRightType

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

LSCRIPTExpressionType LLScriptExpression::mType

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


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:43 2010 for Second Life Viewer by  doxygen 1.4.7