示例#1
0
        private dynamic GetMember(string name)
        {
            IodineObject obj = null;

            if (Context.VirtualMachine.Globals.ContainsKey(name))
            {
                obj = Context.VirtualMachine.Globals [name];
            }
            return(IodineDynamicObject.Create(obj, Context.VirtualMachine, typeRegistry));
        }
示例#2
0
        /// <summary>
        /// Calls an Iodine function in the current module
        /// </summary>
        /// <param name="name">Function name.</param>
        /// <param name="args">Arguments.</param>
        public dynamic Call(string name, params object[] args)
        {
            IodineObject[] arguments = new IodineObject[args.Length];
            for (int i = 0; i < args.Length; i++)
            {
                arguments [i] = typeRegistry.ConvertToIodineObject(args [i]);
            }
            IodineObject ret = Context.Invoke(module.GetAttribute(name), arguments);

            return(IodineDynamicObject.Create(ret, Context.VirtualMachine, typeRegistry));
        }
示例#3
0
        public dynamic Get(string name)
        {
            IodineObject ret = module.GetAttribute(name);

            return(IodineDynamicObject.Create(ret, Context.VirtualMachine, typeRegistry));
        }