Changeset 9352 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp
- Timestamp:
- Jun 10, 2005, 11:02:33 AM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.cpp
r9347 r9352 68 68 69 69 #define KJS_CHECKEXCEPTION \ 70 if (exec->hadException()) \ 70 if (exec->hadException()) { \ 71 setExceptionDetailsIfNeeded(exec); \ 71 72 return Completion(Throw, exec->exception()); \ 73 } \ 72 74 if (Collector::outOfMemory()) \ 73 75 return Completion(Throw, Error::create(exec,GeneralError,"Out of memory")); 74 76 75 77 #define KJS_CHECKEXCEPTIONVALUE \ 76 if (exec->hadException()) {\ 77 Object exception = exec->exception().toObject(exec); \ 78 exception.put(exec, "line", Number(line)); \ 79 exception.put(exec, "sourceURL", String(sourceURL)); \ 78 if (exec->hadException()) { \ 79 setExceptionDetailsIfNeeded(exec); \ 80 80 return exec->exception(); \ 81 } \81 } \ 82 82 if (Collector::outOfMemory()) \ 83 83 return Undefined(); // will be picked up by KJS_CHECKEXCEPTION 84 84 85 85 #define KJS_CHECKEXCEPTIONREFERENCE \ 86 if (exec->hadException()) \ 87 return Reference::makeValueReference(Undefined());; \ 86 if (exec->hadException()) { \ 87 setExceptionDetailsIfNeeded(exec); \ 88 return Reference::makeValueReference(Undefined()); \ 89 } \ 88 90 if (Collector::outOfMemory()) \ 89 91 return Reference::makeValueReference(Undefined()); // will be picked up by KJS_CHECKEXCEPTION 90 92 91 93 #define KJS_CHECKEXCEPTIONLIST \ 92 if (exec->hadException()) \ 94 if (exec->hadException()) { \ 95 setExceptionDetailsIfNeeded(exec); \ 93 96 return List(); \ 97 } \ 94 98 if (Collector::outOfMemory()) \ 95 99 return List(); // will be picked up by KJS_CHECKEXCEPTION … … 176 180 return result; 177 181 } 182 183 void Node::setExceptionDetailsIfNeeded(ExecState *exec) 184 { 185 if (exec->hadException()) { 186 Object exception = exec->exception().toObject(exec); 187 if (!exception.hasProperty(exec, "line") && 188 !exception.hasProperty(exec, "sourceURL")) { 189 exception.put(exec, "line", Number(line)); 190 exception.put(exec, "sourceURL", String(sourceURL)); 191 } 192 } 193 } 194 178 195 179 196 // ------------------------------ StatementNode --------------------------------
Note:
See TracChangeset
for help on using the changeset viewer.