Changeset 11879 in webkit for trunk/JavaScriptCore/kjs/function_object.cpp
- Timestamp:
- Jan 4, 2006, 1:44:25 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/function_object.cpp
r11527 r11879 222 222 FunctionBodyNode *bodyNode = progNode.get(); 223 223 224 FunctionImp *fimp = new DeclaredFunctionImp(exec, Identifier::null(), bodyNode, 225 scopeChain); 226 224 FunctionImp *fimp = new DeclaredFunctionImp(exec, Identifier::null(), bodyNode, scopeChain); 225 227 226 // parse parameter list. throw syntax error on illegal identifiers 228 227 int len = p.size(); … … 232 231 while (i < len) { 233 232 while (*c == ' ' && i < len) 234 c++, i++; 235 if (Lexer::isIdentLetter(c->uc)) { // else error 236 param = UString(c, 1); 237 c++, i++; 238 while (i < len && (Lexer::isIdentLetter(c->uc) || 239 Lexer::isDecimalDigit(c->uc))) { 240 param += UString(c, 1); 241 c++, i++; 242 } 243 while (i < len && *c == ' ') 244 c++, i++; 245 if (i == len) { 246 fimp->addParameter(Identifier(param)); 247 params++; 248 break; 249 } else if (*c == ',') { 250 fimp->addParameter(Identifier(param)); 251 params++; 252 c++, i++; 253 continue; 254 } // else error 233 c++, i++; 234 if (Lexer::isIdentStart(c->uc)) { // else error 235 param = UString(c, 1); 236 c++, i++; 237 while (i < len && (Lexer::isIdentPart(c->uc))) { 238 param += UString(c, 1); 239 c++, i++; 240 } 241 while (i < len && *c == ' ') 242 c++, i++; 243 if (i == len) { 244 fimp->addParameter(Identifier(param)); 245 params++; 246 break; 247 } else if (*c == ',') { 248 fimp->addParameter(Identifier(param)); 249 params++; 250 c++, i++; 251 continue; 252 } // else error 255 253 } 256 254 return throwError(exec, SyntaxError, "Syntax error in parameter list"); 257 255 } 258 256 259 257 List consArgs; 260 258
Note:
See TracChangeset
for help on using the changeset viewer.