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