builtin_error.go 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package goja
  2. func (r *Runtime) initErrors() {
  3. r.global.ErrorPrototype = r.NewObject()
  4. o := r.global.ErrorPrototype.self
  5. o._putProp("message", stringEmpty, true, false, true)
  6. o._putProp("name", stringError, true, false, true)
  7. o._putProp("toString", r.newNativeFunc(r.error_toString, nil, "toString", nil, 0), true, false, true)
  8. r.global.Error = r.newNativeFuncConstruct(r.builtin_Error, "Error", r.global.ErrorPrototype, 1)
  9. o = r.global.Error.self
  10. r.addToGlobal("Error", r.global.Error)
  11. r.global.TypeErrorPrototype = r.builtin_new(r.global.Error, []Value{})
  12. o = r.global.TypeErrorPrototype.self
  13. o._putProp("name", stringTypeError, true, false, true)
  14. r.global.TypeError = r.newNativeFuncConstructProto(r.builtin_Error, "TypeError", r.global.TypeErrorPrototype, r.global.Error, 1)
  15. r.addToGlobal("TypeError", r.global.TypeError)
  16. r.global.ReferenceErrorPrototype = r.builtin_new(r.global.Error, []Value{})
  17. o = r.global.ReferenceErrorPrototype.self
  18. o._putProp("name", stringReferenceError, true, false, true)
  19. r.global.ReferenceError = r.newNativeFuncConstructProto(r.builtin_Error, "ReferenceError", r.global.ReferenceErrorPrototype, r.global.Error, 1)
  20. r.addToGlobal("ReferenceError", r.global.ReferenceError)
  21. r.global.SyntaxErrorPrototype = r.builtin_new(r.global.Error, []Value{})
  22. o = r.global.SyntaxErrorPrototype.self
  23. o._putProp("name", stringSyntaxError, true, false, true)
  24. r.global.SyntaxError = r.newNativeFuncConstructProto(r.builtin_Error, "SyntaxError", r.global.SyntaxErrorPrototype, r.global.Error, 1)
  25. r.addToGlobal("SyntaxError", r.global.SyntaxError)
  26. r.global.RangeErrorPrototype = r.builtin_new(r.global.Error, []Value{})
  27. o = r.global.RangeErrorPrototype.self
  28. o._putProp("name", stringRangeError, true, false, true)
  29. r.global.RangeError = r.newNativeFuncConstructProto(r.builtin_Error, "RangeError", r.global.RangeErrorPrototype, r.global.Error, 1)
  30. r.addToGlobal("RangeError", r.global.RangeError)
  31. r.global.EvalErrorPrototype = r.builtin_new(r.global.Error, []Value{})
  32. o = r.global.EvalErrorPrototype.self
  33. o._putProp("name", stringEvalError, true, false, true)
  34. r.global.EvalError = r.newNativeFuncConstructProto(r.builtin_Error, "EvalError", r.global.EvalErrorPrototype, r.global.Error, 1)
  35. r.addToGlobal("EvalError", r.global.EvalError)
  36. r.global.URIErrorPrototype = r.builtin_new(r.global.Error, []Value{})
  37. o = r.global.URIErrorPrototype.self
  38. o._putProp("name", stringURIError, true, false, true)
  39. r.global.URIError = r.newNativeFuncConstructProto(r.builtin_Error, "URIError", r.global.URIErrorPrototype, r.global.Error, 1)
  40. r.addToGlobal("URIError", r.global.URIError)
  41. r.global.GoErrorPrototype = r.builtin_new(r.global.Error, []Value{})
  42. o = r.global.GoErrorPrototype.self
  43. o._putProp("name", stringGoError, true, false, true)
  44. r.global.GoError = r.newNativeFuncConstructProto(r.builtin_Error, "GoError", r.global.GoErrorPrototype, r.global.Error, 1)
  45. r.addToGlobal("GoError", r.global.GoError)
  46. }