Changeset 35007 in webkit for trunk/JavaScriptCore/kjs/JSObject.cpp
- Timestamp:
- Jul 4, 2008, 10:35:09 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/JSObject.cpp
r34945 r35007 1 // -*- c-basic-offset: 2 -*-2 1 /* 3 2 * Copyright (C) 1999-2001 Harri Porten ([email protected]) … … 28 27 #include "DatePrototype.h" 29 28 #include "ErrorConstructor.h" 29 #include "GetterSetter.h" 30 30 #include "JSGlobalObject.h" 31 31 #include "NativeErrorConstructor.h" … … 42 42 43 43 namespace KJS { 44 45 // ------------------------------ JSObject ------------------------------------46 44 47 45 void JSObject::mark() … … 480 478 } 481 479 482 // ------------------------------ Error ----------------------------------------483 484 JSObject* Error::create(ExecState* exec, ErrorType errtype, const UString& message,485 int lineno, int sourceId, const UString& sourceURL)486 {487 JSObject* cons;488 const char* name;489 switch (errtype) {490 case EvalError:491 cons = exec->lexicalGlobalObject()->evalErrorConstructor();492 name = "Evaluation error";493 break;494 case RangeError:495 cons = exec->lexicalGlobalObject()->rangeErrorConstructor();496 name = "Range error";497 break;498 case ReferenceError:499 cons = exec->lexicalGlobalObject()->referenceErrorConstructor();500 name = "Reference error";501 break;502 case SyntaxError:503 cons = exec->lexicalGlobalObject()->syntaxErrorConstructor();504 name = "Syntax error";505 break;506 case TypeError:507 cons = exec->lexicalGlobalObject()->typeErrorConstructor();508 name = "Type error";509 break;510 case URIError:511 cons = exec->lexicalGlobalObject()->URIErrorConstructor();512 name = "URI error";513 break;514 default:515 cons = exec->lexicalGlobalObject()->errorConstructor();516 name = "Error";517 break;518 }519 520 ArgList args;521 if (message.isEmpty())522 args.append(jsString(exec, name));523 else524 args.append(jsString(exec, message));525 ConstructData constructData;526 ConstructType constructType = cons->getConstructData(constructData);527 JSObject* err = construct(exec, cons, constructType, constructData, args);528 529 if (lineno != -1)530 err->put(exec, Identifier(exec, "line"), jsNumber(exec, lineno));531 if (sourceId != -1)532 err->put(exec, Identifier(exec, "sourceId"), jsNumber(exec, sourceId));533 534 if(!sourceURL.isNull())535 err->put(exec, Identifier(exec, "sourceURL"), jsString(exec, sourceURL));536 537 return err;538 }539 540 JSObject *Error::create(ExecState *exec, ErrorType type, const char *message)541 {542 return create(exec, type, message, -1, -1, NULL);543 }544 545 JSObject *throwError(ExecState *exec, ErrorType type)546 {547 JSObject *error = Error::create(exec, type, UString(), -1, -1, NULL);548 exec->setException(error);549 return error;550 }551 552 JSObject *throwError(ExecState *exec, ErrorType type, const UString &message)553 {554 JSObject *error = Error::create(exec, type, message, -1, -1, NULL);555 exec->setException(error);556 return error;557 }558 559 JSObject *throwError(ExecState *exec, ErrorType type, const char *message)560 {561 JSObject *error = Error::create(exec, type, message, -1, -1, NULL);562 exec->setException(error);563 return error;564 }565 566 JSObject *throwError(ExecState *exec, ErrorType type, const UString &message, int line, int sourceId, const UString &sourceURL)567 {568 JSObject *error = Error::create(exec, type, message, line, sourceId, sourceURL);569 exec->setException(error);570 return error;571 }572 573 480 JSObject* constructEmptyObject(ExecState* exec) 574 481 {
Note:
See TracChangeset
for help on using the changeset viewer.