Colobot
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
CBot::CBotLeftExpr Class Reference

Compilation of left side of an assignment. More...

#include <CBotLeftExpr.h>

Inheritance diagram for CBot::CBotLeftExpr:
Inheritance graph
[legend]

Public Member Functions

bool Execute (CBotStack *&pStack, CBotStack *array)
 Execute Runs, is a variable and assigns the result to the stack. More...
 
bool ExecuteVar (CBotVar *&pVar, CBotCStack *&pile) override
 ExecuteVar Fetch a variable during compilation. More...
 
bool ExecuteVar (CBotVar *&pVar, CBotStack *&pile, CBotToken *prevToken, bool bStep)
 ExecuteVar Fetch the variable at runtume. More...
 
void RestoreStateVar (CBotStack *&pile, bool bMain) override
 RestoreStateVar. More...
 
- Public Member Functions inherited from CBot::CBotInstr
 CBotInstr ()
 Constructor. More...
 
virtual ~CBotInstr ()
 Destructor. More...
 
virtual bool Execute (CBotStack *&pj)
 Execute. More...
 
virtual bool Execute (CBotStack *&pj, CBotVar *pVar)
 Execute. More...
 
virtual void RestoreState (CBotStack *&pj, bool bMain)
 RestoreState. More...
 
virtual bool ExecuteVar (CBotVar *&pVar, CBotStack *&pile, CBotToken *prevToken, bool bStep, bool bExtend)
 ExecuteVar. More...
 
virtual bool CompCase (CBotStack *&pj, int val)
 CompCase This routine is defined only for the subclass CBotCase this allows to make the call on all instructions CompCase to see if it's a case to the desired value.. More...
 
void SetToken (CBotToken *p)
 SetToken Set the token corresponding to the instruction. More...
 
int GetTokenType ()
 GetTokenType Return the type of the token assicated with the instruction. More...
 
CBotTokenGetToken ()
 GetToken Return associated token. More...
 
void AddNext (CBotInstr *n)
 AddNext Adds the statement following the other. More...
 
CBotInstrGetNext ()
 GetNext Returns next statement. More...
 
void AddNext3 (CBotInstr *n)
 AddNext3. More...
 
CBotInstrGetNext3 ()
 GetNext3. More...
 
void AddNext3b (CBotInstr *n)
 AddNext3b. More...
 
CBotInstrGetNext3b ()
 GetNext3b. More...
 

Static Public Member Functions

static CBotLeftExprCompile (CBotToken *&p, CBotCStack *pStack)
 Compile Compiles an expression for a left-operand (left of an assignment). More...
 
- Static Public Member Functions inherited from CBot::CBotInstr
static CBotInstrCompile (CBotToken *&p, CBotCStack *pStack)
 Compile an instruction. More...
 
static CBotInstrCompileArray (CBotToken *&p, CBotCStack *pStack, CBotTypResult type, bool first=true)
 CompileArray. More...
 
static void IncLvl (std::string &label)
 IncLvl Adds a level with a label. More...
 
static void IncLvl ()
 IncLvl Adds a level (switch statement). More...
 
static void DecLvl ()
 DecLvl Free a level. More...
 
static bool ChkLvl (const std::string &label, int type)
 ChkLvl Control validity of break and continue. More...
 

Protected Member Functions

virtual const std::string GetDebugName () override
 Returns the name of this class. More...
 
virtual std::string GetDebugData () override
 Returns additional data associated with this instruction for debugging purposes. More...
 
- Protected Member Functions inherited from CBot::CBotInstr
virtual std::map< std::string, CBotInstr * > GetDebugLinks ()
 

Additional Inherited Members

- Protected Attributes inherited from CBot::CBotInstr
CBotToken m_token
 Keeps the token. More...
 
CBotInstrm_next
 Linked command. More...
 
CBotInstrm_next2b
 Second list definition chain. More...
 
CBotInstrm_next3
 Third list for indices and fields. More...
 
CBotInstrm_next3b
 Necessary for reporting tables. More...
 
- Static Protected Attributes inherited from CBot::CBotInstr
static int m_LoopLvl = 0
 Counter of nested loops, to determine the break and continue valid. More...
 

Detailed Description

Compilation of left side of an assignment.

Some examples:

varname
varname[3]
varname.x
varname.pos.x
varname[2].pos.x
varname[1].pos[2].x
varname[1][2][3]

Member Function Documentation

CBotLeftExpr * CBot::CBotLeftExpr::Compile ( CBotToken *&  p,
CBotCStack pStack 
)
static

Compile Compiles an expression for a left-operand (left of an assignment).

Parameters
p
pStack
Returns
bool CBot::CBotLeftExpr::Execute ( CBotStack *&  pStack,
CBotStack array 
)

Execute Runs, is a variable and assigns the result to the stack.

Parameters
pStack
array
Returns
bool CBot::CBotLeftExpr::ExecuteVar ( CBotVar *&  pVar,
CBotCStack *&  pile 
)
overridevirtual

ExecuteVar Fetch a variable during compilation.

Parameters
pVar
pile
Returns

Reimplemented from CBot::CBotInstr.

bool CBot::CBotLeftExpr::ExecuteVar ( CBotVar *&  pVar,
CBotStack *&  pile,
CBotToken prevToken,
bool  bStep 
)

ExecuteVar Fetch the variable at runtume.

Parameters
pVar
pile
prevToken
bStep
Returns
void CBot::CBotLeftExpr::RestoreStateVar ( CBotStack *&  pile,
bool  bMain 
)
overridevirtual

RestoreStateVar.

Parameters
pile
bMain

Reimplemented from CBot::CBotInstr.

virtual const std::string CBot::CBotLeftExpr::GetDebugName ( )
inlineoverrideprotectedvirtual

Returns the name of this class.

See also
CBotDebug

Implements CBot::CBotInstr.

std::string CBot::CBotLeftExpr::GetDebugData ( )
overrideprotectedvirtual

Returns additional data associated with this instruction for debugging purposes.

See also
CBotDebug

Reimplemented from CBot::CBotInstr.


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