public abstract void Compile(sunCompiler compiler, sunStorableSymbol symbol);
public override void CompileSet(sunCompiler compiler) { // checks against this have to be implemented at a higher level throw new InvalidOperationException(); }
public override void Compile(sunCompiler compiler) { var operatorStack = new Stack <sunOperator>(32); CompileExpression(compiler, this, operatorStack); }
public override void CompileDec(sunCompiler compiler) { OpenRelocation(new sunVariableDecSite(compiler.Binary, this)); }
public override void CompileGet(sunCompiler compiler) { mExpression.Compile(compiler); }
public virtual void CompileInc(sunCompiler compiler) { CompileGet(compiler); compiler.Binary.WriteINT(1); compiler.Binary.WriteADD(); }
public virtual void CompileDec(sunCompiler compiler) { CompileGet(compiler); compiler.Binary.WriteINT(1); compiler.Binary.WriteSUB(); }
public override void Compile(sunCompiler compiler) { CompileGet(compiler); }
public abstract void CompileSet(sunCompiler compiler);
public override void Compile(sunCompiler compiler) { // don't compile builtins ++mCompiles; }
public override sunRelocation CreateCallSite(sunCompiler compiler, int argCount) { return(new sunFunctionCallSite(compiler.Binary, this, argCount)); }
public abstract sunRelocation CreateCallSite(sunCompiler compiler, int argCount);
public override void Compile(sunCompiler compiler) { var index = compiler.Context.DataTable.Add(Value); compiler.Binary.WriteSTR(index); }
public override void Compile(sunCompiler compiler) { compiler.Binary.WriteADR(Value); }
public override void Compile(sunCompiler compiler) { compiler.Binary.WriteBAND(); }
public virtual void Compile(sunCompiler compiler, sunStorableSymbol symbol, sunExpression expression) { expression.Compile(compiler); symbol.CompileSet(compiler); }