Exemplo n.º 1
0
        internal static IDynamic DefineProperty(IEnvironment environment, IArgs args)
        {
            if (args[0].TypeCode != LanguageTypeCode.Object)
            {
                throw environment.CreateTypeError("");
            }
            var obj  = args[0].ConvertToObject();
            var name = args[1].ConvertToString().BaseValue;

            if (args.Count < 2)
            {
                var desc = environment.CreateGenericDescriptor(null, null);
                obj.DefineOwnProperty(name, desc, true);
            }
            else
            {
                var attributes = args[2] as IObject;
                if (attributes == null)
                {
                    throw environment.CreateTypeError("");
                }
                var desc = environment.ToPropertyDescriptor(attributes);
                obj.DefineOwnProperty(name, desc, true);
            }

            return(obj);
        }
Exemplo n.º 2
0
        internal static IDynamic DefineProperty(IEnvironment environment, IArgs args)
        {
            if (args[0].TypeCode != LanguageTypeCode.Object)
            {
                throw environment.CreateTypeError("");
            }
            var obj = args[0].ConvertToObject();
            var name = args[1].ConvertToString().BaseValue;

            if (args.Count < 2)
            {
                var desc = environment.CreateGenericDescriptor(null, null);
                obj.DefineOwnProperty(name, desc, true);
            }
            else
            {
                var attributes = args[2] as IObject;
                if (attributes == null)
                {
                    throw environment.CreateTypeError("");
                }
                var desc = environment.ToPropertyDescriptor(attributes);
                obj.DefineOwnProperty(name, desc, true);
            }

            return obj;
        }