public override BoxedValue DefaultValue(DefaultValueHint hint) { if (hint == DefaultValueHint.None) { hint = DefaultValueHint.String; } return(base.DefaultValue(hint)); }
public override BoxedValue DefaultValue(DefaultValueHint hint) { if (hint == DefaultValueHint.None) { hint = DefaultValueHint.String; } return base.DefaultValue(hint); }
public static BoxedValue ToPrimitive(object c, DefaultValueHint hint) { if (c == null) { return(BoxedValue.Box(default(object))); } return(BoxedValue.Box(c.ToString())); }
// Convert an object into a primitive value. internal static Object ToPrimitive(Object value, DefaultValueHint hint) { if (value is ScriptObject) { // Let the object handle conversion for JScript objects. return(((ScriptObject)value).DefaultValue(hint)); } else { // Handle non-JScript objects. switch (hint) { case DefaultValueHint.None: { switch (Support.TypeCodeForObject(value)) { case TypeCode.SByte: case TypeCode.Byte: case TypeCode.Int16: case TypeCode.UInt16: case TypeCode.Int32: case TypeCode.UInt32: case TypeCode.Int64: case TypeCode.UInt64: case TypeCode.Single: case TypeCode.Double: case TypeCode.Decimal: { value = ToNumber(value); } break; default: { value = ToString(value); } break; } } break; case DefaultValueHint.Number: { value = ToNumber(value); } break; case DefaultValueHint.String: case DefaultValueHint.LocaleString: { value = ToString(value); } break; } return(value); } }
public static BoxedValue ToPrimitive(BoxedValue v, DefaultValueHint hint) { switch (v.Tag) { case TypeTags.Clr: return(ToPrimitive(v.Clr, hint)); case TypeTags.Object: case TypeTags.Function: return(v.Object.DefaultValue(hint)); case TypeTags.SuffixString: return(BoxedValue.Box(v.Clr.ToString())); default: return(v); } }
public virtual BoxedValue DefaultValue(DefaultValueHint hint) { BoxedValue?val; switch (hint) { case DefaultValueHint.String: val = this.TryCallMember("toString"); if (val != null && val.Value.IsPrimitive) { return(val.Value); } val = this.TryCallMember("valueOf"); if (val != null && val.Value.IsPrimitive) { return(val.Value); } return(this.Env.RaiseTypeError <BoxedValue>("Could not get the default value.")); default: val = this.TryCallMember("valueOf"); if (val != null && val.Value.IsPrimitive) { return(val.Value); } val = this.TryCallMember("toString"); if (val != null && val.Value.IsPrimitive) { return(val.Value); } return(this.Env.RaiseTypeError <BoxedValue>("Could not get the default value.")); } }
public static BoxedValue ToPrimitive(BoxedValue v, DefaultValueHint hint) { switch (v.Tag) { case TypeTags.Clr: return ToPrimitive(v.Clr, hint); case TypeTags.Object: case TypeTags.Function: return v.Object.DefaultValue(hint); case TypeTags.SuffixString: return BoxedValue.Box(v.Clr.ToString()); default: return v; } }
public static BoxedValue ToPrimitive(bool b, DefaultValueHint hint) { return BoxedValue.Box(b); }
public static BoxedValue ToPrimitive(Undefined u, DefaultValueHint hint) { return(Undefined.Boxed); }
public static BoxedValue ToPrimitive(CommonObject o, DefaultValueHint hint) { return(o.DefaultValue(hint)); }
public static BoxedValue ToPrimitive(string s, DefaultValueHint hint) { return(BoxedValue.Box(s)); }
public static BoxedValue ToPrimitive(double d, DefaultValueHint hint) { return(BoxedValue.Box(d)); }
// Get the default value for this object. internal override Object DefaultValue(DefaultValueHint hint) { // TODO return null; }
// Get the default value for this object. internal virtual Object DefaultValue(DefaultValueHint hint) { // TODO return(null); }
public static BoxedValue ToPrimitive(object c, DefaultValueHint hint) { if (c == null) { return BoxedValue.Box(default(object)); } return BoxedValue.Box(c.ToString()); }
public static BoxedValue ToPrimitive(Undefined u, DefaultValueHint hint) { return Undefined.Boxed; }
public static BoxedValue ToPrimitive(ScriptObject o, DefaultValueHint hint) { return o.DefaultValue(hint); }
public static BoxedValue ToPrimitive(string s, DefaultValueHint hint) { return BoxedValue.Box(s); }
public static BoxedValue ToPrimitive(double d, DefaultValueHint hint) { return BoxedValue.Box(d); }
// Get the default value for this object. internal override Object DefaultValue(DefaultValueHint hint) { return(value); }
// Get the default value for this object. internal override Object DefaultValue(DefaultValueHint hint) { // TODO return(null); }
public static BoxedValue ToPrimitive(bool b, DefaultValueHint hint) { return(BoxedValue.Box(b)); }
// Convert an object into a primitive value. internal static Object ToPrimitive(Object value, DefaultValueHint hint) { if(value is ScriptObject) { // Let the object handle conversion for JScript objects. return ((ScriptObject)value).DefaultValue(hint); } else { // Handle non-JScript objects. switch(hint) { case DefaultValueHint.None: { switch(Support.TypeCodeForObject(value)) { case TypeCode.SByte: case TypeCode.Byte: case TypeCode.Int16: case TypeCode.UInt16: case TypeCode.Int32: case TypeCode.UInt32: case TypeCode.Int64: case TypeCode.UInt64: case TypeCode.Single: case TypeCode.Double: case TypeCode.Decimal: { value = ToNumber(value); } break; default: { value = ToString(value); } break; } } break; case DefaultValueHint.Number: { value = ToNumber(value); } break; case DefaultValueHint.String: case DefaultValueHint.LocaleString: { value = ToString(value); } break; } return value; } }
// Get the default value for this object. internal override Object DefaultValue(DefaultValueHint hint) { return value; }
// Get the default value for this object. internal virtual Object DefaultValue(DefaultValueHint hint) { // TODO return null; }