public abstract CodePiece GenerateCodeWriteFromStackToGrid(CodeGenEnvironment env, SourceCodePosition pos, VarDeclarationPosition gridPos, bool reversed);
public abstract CodePiece GenerateCodeReadFromGridToStack(CodeGenEnvironment env, SourceCodePosition pos, VarDeclarationPosition gridPos, bool reversed);
public override CodePiece GenerateCodeWriteFromStackToGrid(CodeGenEnvironment env, SourceCodePosition pos, VarDeclarationPosition gridPos, bool reversed) { return(CodePieceStore.WriteArrayFromStack(env, gridPos, reversed)); }
public override CodePiece GenerateCodeReadFromGridToStack(CodeGenEnvironment env, SourceCodePosition pos, VarDeclarationPosition gridPos, bool reversed) { return(CodePieceStore.ReadArrayToStack(env, gridPos, reversed)); }
public override CodePiece GenerateCodeReadFromGridToStack(CodeGenEnvironment env, SourceCodePosition pos, VarDeclarationPosition gridPos, bool reversed) { throw new InvalidAstStateException(pos); }
public override CodePiece GenerateCodeReadFromGridToStack(CodeGenEnvironment env, SourceCodePosition pos, VarDeclarationPosition gridPos, bool reversed) { return(CodePiece.Empty); // Do nothing }
public override CodePiece GenerateCodeWriteFromStackToGrid(CodeGenEnvironment env, SourceCodePosition pos, VarDeclarationPosition gridPos, bool reversed) { return(new CodePiece(BCHelper.StackPop)); // Nobody cares about the result ... }
public override CodePiece GenerateCodeReadFromGridToStack(CodeGenEnvironment env, SourceCodePosition pos, VarDeclarationPosition gridPos, bool reversed) { CodePiece p = new CodePiece(); if (reversed) { p.AppendLeft(NumberCodeHelper.GenerateCode(gridPos.X, reversed)); p.AppendLeft(NumberCodeHelper.GenerateCode(gridPos.Y, reversed)); p.AppendLeft(BCHelper.ReflectGet); } else { p.AppendRight(NumberCodeHelper.GenerateCode(gridPos.X, reversed)); p.AppendRight(NumberCodeHelper.GenerateCode(gridPos.Y, reversed)); p.AppendRight(BCHelper.ReflectGet); } return(p); }
public void ResetBeforeCodeGen() { _codeDeclPos = null; }