forked from Mirrors/openclonk
C4AulParse::AddVarAccess: Move to C4AulCompiler
parent
0342711cd4
commit
0a3b31e735
|
@ -114,6 +114,11 @@ static int GetStackValue(C4AulBCCType eType, intptr_t X)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int C4AulCompiler::AddVarAccess(const char * TokenSPos, C4AulBCCType eType, intptr_t varnum)
|
||||
{
|
||||
return AddBCC(TokenSPos, eType, 1 + varnum - (iStack + Fn->VarNamed.iSize));
|
||||
}
|
||||
|
||||
int C4AulCompiler::AddBCC(const char * TokenSPos, C4AulBCCType eType, intptr_t X)
|
||||
{
|
||||
// Track stack size
|
||||
|
|
|
@ -33,6 +33,7 @@ public:
|
|||
void RemoveLastBCC();
|
||||
C4V_Type GetLastRetType(C4AulScriptEngine * Engine, C4V_Type to); // for warning purposes
|
||||
|
||||
int AddVarAccess(const char * TokenSPos, C4AulBCCType eType, intptr_t varnum);
|
||||
C4AulBCC MakeSetter(const char * TokenSPos, bool fLeaveValue = false); // Prepares to generate a setter for the last value that was generated
|
||||
|
||||
int JumpHere(); // Get position for a later jump to next instruction added
|
||||
|
|
|
@ -745,11 +745,6 @@ void C4AulParse::DebugChunk()
|
|||
AddBCC(AB_DEBUG);
|
||||
}
|
||||
|
||||
int C4AulParse::AddVarAccess(C4AulBCCType eType, intptr_t varnum)
|
||||
{
|
||||
return AddBCC(eType, 1 + varnum - (codegen.iStack + Fn->VarNamed.iSize));
|
||||
}
|
||||
|
||||
const char * C4AulParse::GetTokenName(C4AulTokenType TokenType)
|
||||
{
|
||||
switch (TokenType)
|
||||
|
|
|
@ -96,9 +96,10 @@ private:
|
|||
void Error(const char *pMsg, ...) GNUC_FORMAT_ATTRIBUTE_O;
|
||||
void AppendPosition(StdStrBuf & Buf);
|
||||
|
||||
int AddVarAccess(C4AulBCCType eType, intptr_t varnum);
|
||||
void DebugChunk();
|
||||
C4AulCompiler codegen;
|
||||
int AddVarAccess(C4AulBCCType eType, intptr_t varnum)
|
||||
{ if (Type == PARSER) return codegen.AddVarAccess(TokenSPos, eType, varnum); else return -1; }
|
||||
int AddBCC(C4AulBCCType eType, intptr_t X = 0)
|
||||
{ if (Type == PARSER) return codegen.AddBCC(TokenSPos, eType, X); else return -1; }
|
||||
C4V_Type GetLastRetType(C4V_Type to)
|
||||
|
|
Loading…
Reference in New Issue