Beispiel #1
0
        public dynamic RunMeth(Structs.StructModule mod, string name, params dynamic[] pars)
        {
            //Console.WriteLine("Running method:" + name);

            var m_scope = new SynScope();

            PushScope(m_scope);

            foreach (var vv in mod.Vars)
            {
                RegVar(vv);
            }

            var meth = mod.FindMethod(name);

            int pc = 0;

            if (meth.Pars != null && meth.Pars.Pars != null)
            {
                foreach (var p in meth.Pars.Pars)
                {
                    RegVar(p);

                    p.Value = pars[pc];
                }
            }

            //var func = meth;

            //RunFunc(new SynFunc(meth), pars);

            var func = new SynFunc(meth);



            var val = func.Link.Exec();

            var nv = new Vivid.Structs.Var();

            nv.Value = val;


            PopScope();

            return(nv);

            return(null);
        }
Beispiel #2
0
        public void RegVar(Vivid.Structs.Var v)
        {
            var cc = TopScope;

            cc.RegVar(v);
        }