Changeset 21032 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp
- Timestamp:
- Apr 23, 2007, 3:28:10 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.cpp
r21027 r21032 2393 2393 } 2394 2394 2395 void FunctionBodyNode::addParam(const Identifier& ident) 2396 { 2397 m_parameters.append(Parameter(ident)); 2398 } 2399 2400 UString FunctionBodyNode::paramString() const 2401 { 2402 UString s(""); 2403 size_t count = numParams(); 2404 for (size_t pos = 0; pos < count; ++pos) { 2405 if (!s.isEmpty()) 2406 s += ", "; 2407 s += paramName(pos).ustring(); 2408 } 2409 2410 return s; 2411 } 2412 2413 2395 2414 // ------------------------------ FuncDeclNode --------------------------------- 2415 2416 void FuncDeclNode::addParams() 2417 { 2418 for (ParameterNode *p = param.get(); p != 0L; p = p->nextParam()) 2419 body->addParam(p->ident()); 2420 } 2396 2421 2397 2422 // ECMA 13 … … 2407 2432 func->put(exec, exec->propertyNames().prototype, proto, Internal|DontDelete); 2408 2433 2409 int plen = 0; 2410 for(ParameterNode *p = param.get(); p != 0L; p = p->nextParam(), plen++) 2411 func->addParameter(p->ident()); 2412 2413 func->put(exec, exec->propertyNames().length, jsNumber(plen), ReadOnly|DontDelete|DontEnum); 2434 func->put(exec, exec->propertyNames().length, jsNumber(body->numParams()), ReadOnly|DontDelete|DontEnum); 2414 2435 2415 2436 // ECMA 10.2.2 … … 2436 2457 2437 2458 // ECMA 13 2459 void FuncExprNode::addParams() 2460 { 2461 for (ParameterNode *p = param.get(); p != 0L; p = p->nextParam()) 2462 body->addParam(p->ident()); 2463 } 2464 2438 2465 JSValue *FuncExprNode::evaluate(ExecState *exec) 2439 2466 { … … 2454 2481 proto->put(exec, exec->propertyNames().constructor, func, ReadOnly | DontDelete | DontEnum); 2455 2482 func->put(exec, exec->propertyNames().prototype, proto, Internal | DontDelete); 2456 2457 int plen = 0;2458 for(ParameterNode *p = param.get(); p != 0L; p = p->nextParam(), plen++)2459 func->addParameter(p->ident());2460 2483 2461 2484 if (named) {
Note:
See TracChangeset
for help on using the changeset viewer.