public Operation <object, TyonContext> CompileInstanceSystemObject(TyonObject tyon_object) { return(this.GetType().CreateDynamicMethodDelegate <Operation <object, TyonContext> >(delegate(ILValue c) { block = new ILBlock(); context = c; tyon_object.CompileInitialize(this); ILLocal local = tyon_object.CompileLocal(this); block.AddStatement(new ILReturn(local)); return block; })); }
public Process <object, TyonContext> CompilePushToSystemObject(TyonObject tyon_object) { Type type = tyon_object.GetTyonType().GetSystemType(this); return(this.GetType().CreateDynamicMethodDelegate <Process <object, TyonContext> >(delegate(ILValue t, ILValue c) { block = new ILBlock(); context = c; ILLocal local = DefineLocal(tyon_object, t.GetILExplicitCast(type)); tyon_object.CompileInitialize(this); tyon_object.CompilePushToSystemObject(local, this); return block; })); }