Changeset 39070 in webkit for trunk/JavaScriptCore/runtime/ExceptionHelpers.cpp
- Timestamp:
- Dec 6, 2008, 2:01:05 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/ExceptionHelpers.cpp
r38528 r39070 96 96 UString message = "Can't find variable: "; 97 97 message.append(ident.ustring()); 98 JSObject* exception = Error::create(exec, ReferenceError, message, line, codeBlock->ownerNode ->sourceID(), codeBlock->ownerNode->sourceURL());98 JSObject* exception = Error::create(exec, ReferenceError, message, line, codeBlock->ownerNode()->sourceID(), codeBlock->ownerNode()->sourceURL()); 99 99 exception->putWithAttributes(exec, Identifier(exec, expressionBeginOffsetPropertyName), jsNumber(exec, divotPoint - startOffset), ReadOnly | DontDelete); 100 100 exception->putWithAttributes(exec, Identifier(exec, expressionCaretOffsetPropertyName), jsNumber(exec, divotPoint), ReadOnly | DontDelete); … … 107 107 static UString createErrorMessage(ExecState* exec, CodeBlock* codeBlock, int, int expressionStart, int expressionStop, JSValue* value, UString error) 108 108 { 109 if (!expressionStop || expressionStart > codeBlock->source ->length()) {109 if (!expressionStop || expressionStart > codeBlock->source()->length()) { 110 110 UString errorText = value->toString(exec); 111 111 errorText.append(" is "); … … 118 118 if (expressionStart < expressionStop) { 119 119 errorText.append('\''); 120 errorText.append(codeBlock->source ->getRange(expressionStart, expressionStop));120 errorText.append(codeBlock->source()->getRange(expressionStart, expressionStop)); 121 121 errorText.append("' ["); 122 122 errorText.append(value->toString(exec)); … … 124 124 } else { 125 125 // No range information, so give a few characters of context 126 const UChar* data = codeBlock->source ->data();127 int dataLength = codeBlock->source ->length();126 const UChar* data = codeBlock->source()->data(); 127 int dataLength = codeBlock->source()->length(); 128 128 int start = expressionStart; 129 129 int stop = expressionStart; … … 139 139 stop--; 140 140 errorText.append("near '..."); 141 errorText.append(codeBlock->source ->getRange(start, stop));141 errorText.append(codeBlock->source()->getRange(start, stop)); 142 142 errorText.append("...' ["); 143 143 errorText.append(value->toString(exec)); … … 160 160 int line = codeBlock->expressionRangeForVPC(vPC, divotPoint, startOffset, endOffset); 161 161 UString errorMessage = createErrorMessage(exec, codeBlock, line, divotPoint, divotPoint + endOffset, value, message); 162 JSObject* exception = Error::create(exec, TypeError, errorMessage, line, codeBlock->ownerNode ->sourceID(), codeBlock->ownerNode->sourceURL());162 JSObject* exception = Error::create(exec, TypeError, errorMessage, line, codeBlock->ownerNode()->sourceID(), codeBlock->ownerNode()->sourceURL()); 163 163 exception->putWithAttributes(exec, Identifier(exec, expressionBeginOffsetPropertyName), jsNumber(exec, divotPoint - startOffset), ReadOnly | DontDelete); 164 164 exception->putWithAttributes(exec, Identifier(exec, expressionCaretOffsetPropertyName), jsNumber(exec, divotPoint), ReadOnly | DontDelete); … … 176 176 // We're in a "new" expression, so we need to skip over the "new.." part 177 177 int startPoint = divotPoint - (startOffset ? startOffset - 4 : 0); // -4 for "new " 178 const UChar* data = codeBlock->source ->data();178 const UChar* data = codeBlock->source()->data(); 179 179 while (startPoint < divotPoint && isStrWhiteSpace(data[startPoint])) 180 180 startPoint++; 181 181 182 182 UString errorMessage = createErrorMessage(exec, codeBlock, line, startPoint, divotPoint, value, "not a constructor"); 183 JSObject* exception = Error::create(exec, TypeError, errorMessage, line, codeBlock->ownerNode ->sourceID(), codeBlock->ownerNode->sourceURL());183 JSObject* exception = Error::create(exec, TypeError, errorMessage, line, codeBlock->ownerNode()->sourceID(), codeBlock->ownerNode()->sourceURL()); 184 184 exception->putWithAttributes(exec, Identifier(exec, expressionBeginOffsetPropertyName), jsNumber(exec, divotPoint - startOffset), ReadOnly | DontDelete); 185 185 exception->putWithAttributes(exec, Identifier(exec, expressionCaretOffsetPropertyName), jsNumber(exec, divotPoint), ReadOnly | DontDelete); … … 195 195 int line = codeBlock->expressionRangeForVPC(vPC, divotPoint, startOffset, endOffset); 196 196 UString errorMessage = createErrorMessage(exec, codeBlock, line, divotPoint - startOffset, divotPoint, value, "not a function"); 197 JSObject* exception = Error::create(exec, TypeError, errorMessage, line, codeBlock->ownerNode ->sourceID(), codeBlock->ownerNode->sourceURL());197 JSObject* exception = Error::create(exec, TypeError, errorMessage, line, codeBlock->ownerNode()->sourceID(), codeBlock->ownerNode()->sourceURL()); 198 198 exception->putWithAttributes(exec, Identifier(exec, expressionBeginOffsetPropertyName), jsNumber(exec, divotPoint - startOffset), ReadOnly | DontDelete); 199 199 exception->putWithAttributes(exec, Identifier(exec, expressionCaretOffsetPropertyName), jsNumber(exec, divotPoint), ReadOnly | DontDelete); … … 219 219 int line = codeBlock->expressionRangeForVPC(vPC, divotPoint, startOffset, endOffset); 220 220 UString errorMessage = createErrorMessage(exec, codeBlock, line, divotPoint - startOffset, divotPoint, error->isNull() ? jsNull() : jsUndefined(), "not an object"); 221 JSObject* exception = Error::create(exec, TypeError, errorMessage, line, codeBlock->ownerNode ->sourceID(), codeBlock->ownerNode->sourceURL());221 JSObject* exception = Error::create(exec, TypeError, errorMessage, line, codeBlock->ownerNode()->sourceID(), codeBlock->ownerNode()->sourceURL()); 222 222 exception->putWithAttributes(exec, Identifier(exec, expressionBeginOffsetPropertyName), jsNumber(exec, divotPoint - startOffset), ReadOnly | DontDelete); 223 223 exception->putWithAttributes(exec, Identifier(exec, expressionCaretOffsetPropertyName), jsNumber(exec, divotPoint), ReadOnly | DontDelete);
Note:
See TracChangeset
for help on using the changeset viewer.