Example #1
0
        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;
            }));
        }
Example #2
0
        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;
            }));
        }