diff options
Diffstat (limited to 'JavaScriptCore/runtime/ErrorInstance.cpp')
| -rw-r--r-- | JavaScriptCore/runtime/ErrorInstance.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/JavaScriptCore/runtime/ErrorInstance.cpp b/JavaScriptCore/runtime/ErrorInstance.cpp index 1cdb87a..0f3153c 100644 --- a/JavaScriptCore/runtime/ErrorInstance.cpp +++ b/JavaScriptCore/runtime/ErrorInstance.cpp @@ -25,9 +25,30 @@ namespace JSC { const ClassInfo ErrorInstance::info = { "Error", 0, 0, 0 }; -ErrorInstance::ErrorInstance(NonNullPassRefPtr<Structure> structure) +ErrorInstance::ErrorInstance(JSGlobalData* globalData, NonNullPassRefPtr<Structure> structure) : JSObject(structure) + , m_appendSourceToMessage(false) { + putDirect(globalData->propertyNames->message, jsString(globalData, "")); +} + +ErrorInstance::ErrorInstance(JSGlobalData* globalData, NonNullPassRefPtr<Structure> structure, const UString& message) + : JSObject(structure) + , m_appendSourceToMessage(false) +{ + putDirect(globalData->propertyNames->message, jsString(globalData, message)); +} + +ErrorInstance* ErrorInstance::create(JSGlobalData* globalData, NonNullPassRefPtr<Structure> structure, const UString& message) +{ + return new (globalData) ErrorInstance(globalData, structure, message); +} + +ErrorInstance* ErrorInstance::create(ExecState* exec, NonNullPassRefPtr<Structure> structure, JSValue message) +{ + if (message.isUndefined()) + return new (exec) ErrorInstance(&exec->globalData(), structure); + return new (exec) ErrorInstance(&exec->globalData(), structure, message.toString(exec)); } } // namespace JSC |
