Colobot
Public Member Functions | Protected Member Functions | Friends | List of all members
CBot::CBotIndexExpr Class Reference

Instruction accessing an array element - array[x]. More...

#include <CBotIndexExpr.h>

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

Public Member Functions

bool ExecuteVar (CBotVar *&pVar, CBotCStack *&pile) override
 ExecuteVar Finds a field from the instance at compile time. More...
 
bool ExecuteVar (CBotVar *&pVar, CBotStack *&pile, CBotToken *prevToken, bool bStep, bool bExtend) override
 ExecuteVar Warning, changes the pointer to the stack intentionally place the index calculated on the additional stack. More...
 
void RestoreStateVar (CBotStack *&pj, 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 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...
 

Protected Member Functions

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

Friends

class CBotLeftExpr
 
class CBotExprVar
 

Additional Inherited Members

- 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 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

Instruction accessing an array element - array[x].

Member Function Documentation

bool CBot::CBotIndexExpr::ExecuteVar ( CBotVar *&  pVar,
CBotCStack *&  pile 
)
overridevirtual

ExecuteVar Finds a field from the instance at compile time.

Parameters
pVar
pile
Returns

Reimplemented from CBot::CBotInstr.

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

ExecuteVar Warning, changes the pointer to the stack intentionally place the index calculated on the additional stack.

Parameters
pVar
pile
prevToken
bStep
bExtend
Returns

Reimplemented from CBot::CBotInstr.

void CBot::CBotIndexExpr::RestoreStateVar ( CBotStack *&  pj,
bool  bMain 
)
overridevirtual

RestoreStateVar.

Parameters
pj
bMain

Reimplemented from CBot::CBotInstr.

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

Returns the name of this class.

See also
CBotDebug

Implements CBot::CBotInstr.

std::map< std::string, CBotInstr * > CBot::CBotIndexExpr::GetDebugLinks ( )
overrideprotectedvirtual

Returns a map of all instructions connected with this one

See also
CBotDebug

Reimplemented from CBot::CBotInstr.


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