Changeset 2783 in webkit for trunk/JavaScriptCore/kjs/value.cpp
- Timestamp:
- Nov 20, 2002, 1:12:14 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/value.cpp
r1850 r2783 203 203 { 204 204 rep = v; 205 if ( rep)205 if (v) 206 206 { 207 rep->ref();207 v->ref(); 208 208 //fprintf(stderr, "Value::Value(%p) imp=%p ref=%d\n", this, rep, rep->refcount); 209 209 v->setGcAllowed(); … … 296 296 // ------------------------------ String --------------------------------------- 297 297 298 String::String(const UString &s) : Value(new StringImp( UString(s)))298 String::String(const UString &s) : Value(new StringImp(s)) 299 299 { 300 300 } … … 323 323 324 324 Number::Number(double d) 325 : Value(SimpleNumber::fits(d) ? SimpleNumber::make((long)d) : new NumberImp(d)) { }325 : Value(SimpleNumber::fits(d) ? SimpleNumber::make((long)d) : (KJS::isNaN(d) ? NumberImp::staticNaN : new NumberImp(d))) { } 326 326 327 327 Number::Number(long int l) … … 349 349 int Number::intValue() const 350 350 { 351 return int(value()); 351 if (SimpleNumber::is(rep)) 352 return SimpleNumber::value(rep); 353 return (int)((NumberImp*)rep)->value(); 352 354 } 353 355 354 356 bool Number::isNaN() const 355 357 { 356 return KJS::isNaN(value());358 return rep == NumberImp::staticNaN; 357 359 } 358 360 359 361 bool Number::isInf() const 360 362 { 361 return KJS::isInf(value()); 362 } 363 if (SimpleNumber::is(rep)) 364 return false; 365 return KJS::isInf(((NumberImp*)rep)->value()); 366 }
Note:
See TracChangeset
for help on using the changeset viewer.