public IJsValue Evaluate(IEnvironment environment) { var obj = environment.CreateObject(); foreach (var member in Members) { obj.GetReference( member.Item1.ReferenceCast<IAstWithName>().Name).SetValue(obj, member.Item2.Evaluate(environment)); } return obj; }
internal static IDynamic Create(IEnvironment environment, IArgs args) { if (args[0].TypeCode != LanguageTypeCode.Object) { throw environment.CreateTypeError(""); } var obj = args[0].ConvertToObject(); var newObj = environment.CreateObject(); newObj.Prototype = obj; if (args.Count > 1) { var props = args[1]; if (props.TypeCode != LanguageTypeCode.Undefined) { return DefineProperties(environment, environment.CreateArgs(new [] { newObj, props })); } } return newObj; }
internal static IDynamic Create(IEnvironment environment, IArgs args) { if (args[0].TypeCode != LanguageTypeCode.Object) { throw environment.CreateTypeError(""); } var obj = args[0].ConvertToObject(); var newObj = environment.CreateObject(); newObj.Prototype = obj; if (args.Count > 1) { var props = args[1]; if (props.TypeCode != LanguageTypeCode.Undefined) { return(DefineProperties(environment, environment.CreateArgs(new [] { newObj, props }))); } } return(newObj); }