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 (LLFILE *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 (LLFILE *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.

void LLScriptExpression::recurse ( LLFILE 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 gonext(), LLScriptDeclaration::recurse(), LLScriptWhile::recurse(), LLScriptDoWhile::recurse(), LLScriptFor::recurse(), LLScriptIfElse::recurse(), LLScriptIf::recurse(), LLScriptExpressionStatement::recurse(), LLScriptReturn::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().

void LLScriptExpression::gonext ( LLFILE 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, NULL, and recurse().

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

Here is the call graph for this function:

Here is the caller graph for this function:

S32 LLScriptExpression::getSize (  )  [virtual]


Member Data Documentation

Definition at line 942 of file lscript_tree.h.

Referenced by print_cil_accessor(), print_cil_arg_list(), LLScriptDeclaration::recurse(), 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().


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

Generated on Fri May 16 09:01:59 2008 for SecondLife by  doxygen 1.5.5