Changeset 98932 in webkit for trunk/Source/JavaScriptCore/runtime/JSObject.cpp
- Timestamp:
- Oct 31, 2011, 6:15:06 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSObject.cpp
r98909 r98932 309 309 bool JSObject::getPrimitiveNumber(ExecState* exec, double& number, JSValue& result) const 310 310 { 311 result = defaultValue(exec, PreferNumber);311 result = methodTable()->defaultValue(this, exec, PreferNumber); 312 312 number = result.toNumber(exec); 313 313 return !result.isString(); … … 315 315 316 316 // ECMA 8.6.2.6 317 JSValue JSObject::defaultValue( ExecState* exec, PreferredPrimitiveType hint) const317 JSValue JSObject::defaultValue(const JSObject* object, ExecState* exec, PreferredPrimitiveType hint) 318 318 { 319 319 // Must call toString first for Date objects. 320 if ((hint == PreferString) || (hint != PreferNumber && prototype() == exec->lexicalGlobalObject()->datePrototype())) {321 JSValue value = callDefaultValueFunction(exec, this, exec->propertyNames().toString);320 if ((hint == PreferString) || (hint != PreferNumber && object->prototype() == exec->lexicalGlobalObject()->datePrototype())) { 321 JSValue value = callDefaultValueFunction(exec, object, exec->propertyNames().toString); 322 322 if (value) 323 323 return value; 324 value = callDefaultValueFunction(exec, this, exec->propertyNames().valueOf);324 value = callDefaultValueFunction(exec, object, exec->propertyNames().valueOf); 325 325 if (value) 326 326 return value; 327 327 } else { 328 JSValue value = callDefaultValueFunction(exec, this, exec->propertyNames().valueOf);328 JSValue value = callDefaultValueFunction(exec, object, exec->propertyNames().valueOf); 329 329 if (value) 330 330 return value; 331 value = callDefaultValueFunction(exec, this, exec->propertyNames().toString);331 value = callDefaultValueFunction(exec, object, exec->propertyNames().toString); 332 332 if (value) 333 333 return value;
Note:
See TracChangeset
for help on using the changeset viewer.