Changeset 42989 in webkit for trunk/JavaScriptCore/runtime/DateConstructor.cpp
- Timestamp:
- Apr 28, 2009, 11:07:26 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/DateConstructor.cpp
r40046 r42989 74 74 value = getCurrentUTCTime(); 75 75 else if (numArgs == 1) { 76 if (args.at( exec,0).isObject(&DateInstance::info))77 value = asDateInstance(args.at( exec,0))->internalNumber();76 if (args.at(0).isObject(&DateInstance::info)) 77 value = asDateInstance(args.at(0))->internalNumber(); 78 78 else { 79 JSValuePtr primitive = args.at( exec,0).toPrimitive(exec);79 JSValuePtr primitive = args.at(0).toPrimitive(exec); 80 80 if (primitive.isString()) 81 81 value = parseDate(primitive.getString()); … … 84 84 } 85 85 } else { 86 if (isnan(args.at( exec,0).toNumber(exec))87 || isnan(args.at( exec,1).toNumber(exec))88 || (numArgs >= 3 && isnan(args.at( exec,2).toNumber(exec)))89 || (numArgs >= 4 && isnan(args.at( exec,3).toNumber(exec)))90 || (numArgs >= 5 && isnan(args.at( exec,4).toNumber(exec)))91 || (numArgs >= 6 && isnan(args.at( exec,5).toNumber(exec)))92 || (numArgs >= 7 && isnan(args.at( exec,6).toNumber(exec))))86 if (isnan(args.at(0).toNumber(exec)) 87 || isnan(args.at(1).toNumber(exec)) 88 || (numArgs >= 3 && isnan(args.at(2).toNumber(exec))) 89 || (numArgs >= 4 && isnan(args.at(3).toNumber(exec))) 90 || (numArgs >= 5 && isnan(args.at(4).toNumber(exec))) 91 || (numArgs >= 6 && isnan(args.at(5).toNumber(exec))) 92 || (numArgs >= 7 && isnan(args.at(6).toNumber(exec)))) 93 93 value = NaN; 94 94 else { 95 95 GregorianDateTime t; 96 int year = args.at( exec,0).toInt32(exec);96 int year = args.at(0).toInt32(exec); 97 97 t.year = (year >= 0 && year <= 99) ? year : year - 1900; 98 t.month = args.at( exec,1).toInt32(exec);99 t.monthDay = (numArgs >= 3) ? args.at( exec,2).toInt32(exec) : 1;100 t.hour = args.at( exec,3).toInt32(exec);101 t.minute = args.at( exec,4).toInt32(exec);102 t.second = args.at( exec,5).toInt32(exec);98 t.month = args.at(1).toInt32(exec); 99 t.monthDay = (numArgs >= 3) ? args.at(2).toInt32(exec) : 1; 100 t.hour = args.at(3).toInt32(exec); 101 t.minute = args.at(4).toInt32(exec); 102 t.second = args.at(5).toInt32(exec); 103 103 t.isDST = -1; 104 double ms = (numArgs >= 7) ? args.at( exec,6).toNumber(exec) : 0;104 double ms = (numArgs >= 7) ? args.at(6).toNumber(exec) : 0; 105 105 value = gregorianDateTimeToMS(t, ms, false); 106 106 } … … 141 141 static JSValuePtr dateParse(ExecState* exec, JSObject*, JSValuePtr, const ArgList& args) 142 142 { 143 return jsNumber(exec, parseDate(args.at( exec,0).toString(exec)));143 return jsNumber(exec, parseDate(args.at(0).toString(exec))); 144 144 } 145 145 … … 152 152 { 153 153 int n = args.size(); 154 if (isnan(args.at( exec,0).toNumber(exec))155 || isnan(args.at( exec,1).toNumber(exec))156 || (n >= 3 && isnan(args.at( exec,2).toNumber(exec)))157 || (n >= 4 && isnan(args.at( exec,3).toNumber(exec)))158 || (n >= 5 && isnan(args.at( exec,4).toNumber(exec)))159 || (n >= 6 && isnan(args.at( exec,5).toNumber(exec)))160 || (n >= 7 && isnan(args.at( exec,6).toNumber(exec))))154 if (isnan(args.at(0).toNumber(exec)) 155 || isnan(args.at(1).toNumber(exec)) 156 || (n >= 3 && isnan(args.at(2).toNumber(exec))) 157 || (n >= 4 && isnan(args.at(3).toNumber(exec))) 158 || (n >= 5 && isnan(args.at(4).toNumber(exec))) 159 || (n >= 6 && isnan(args.at(5).toNumber(exec))) 160 || (n >= 7 && isnan(args.at(6).toNumber(exec)))) 161 161 return jsNaN(exec); 162 162 163 163 GregorianDateTime t; 164 int year = args.at( exec,0).toInt32(exec);164 int year = args.at(0).toInt32(exec); 165 165 t.year = (year >= 0 && year <= 99) ? year : year - 1900; 166 t.month = args.at( exec,1).toInt32(exec);167 t.monthDay = (n >= 3) ? args.at( exec,2).toInt32(exec) : 1;168 t.hour = args.at( exec,3).toInt32(exec);169 t.minute = args.at( exec,4).toInt32(exec);170 t.second = args.at( exec,5).toInt32(exec);171 double ms = (n >= 7) ? args.at( exec,6).toNumber(exec) : 0;166 t.month = args.at(1).toInt32(exec); 167 t.monthDay = (n >= 3) ? args.at(2).toInt32(exec) : 1; 168 t.hour = args.at(3).toInt32(exec); 169 t.minute = args.at(4).toInt32(exec); 170 t.second = args.at(5).toInt32(exec); 171 double ms = (n >= 7) ? args.at(6).toNumber(exec) : 0; 172 172 return jsNumber(exec, gregorianDateTimeToMS(t, ms, true)); 173 173 }
Note:
See TracChangeset
for help on using the changeset viewer.