Changeset 2735 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp
- Timestamp:
- Nov 18, 2002, 1:45:10 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.cpp
r1850 r2735 551 551 void ArgumentListNode::ref() 552 552 { 553 Node::ref(); 554 if ( expr ) 555 expr->ref(); 556 if ( list ) 557 list->ref(); 553 ArgumentListNode *l = this; 554 555 while (l != NULL) { 556 l->Node::ref(); 557 if ( l->expr ) 558 l->expr->ref(); 559 l = l->list; 560 } 558 561 } 559 562 … … 562 565 if ( expr && expr->deref() ) 563 566 delete expr; 564 if ( list && list->deref() ) 565 delete list; 567 568 ArgumentListNode *l = this->list; 569 570 while (l != NULL) { 571 if ( l->expr && l->expr->deref() ) 572 delete l->expr; 573 574 ArgumentListNode *next = l->list; 575 576 if (l->Node::deref()) { 577 l->list = NULL; 578 delete l; 579 } 580 581 l = next; 582 } 583 566 584 return Node::deref(); 567 585 } … … 577 595 { 578 596 List l; 579 if (list) { 580 l = list->evaluateList(exec); 597 598 ArgumentListNode *n = this; 599 600 while (n != NULL) { 601 Value v = n->expr->evaluate(exec); 581 602 KJS_CHECKEXCEPTIONLIST 582 } 583 584 Value v = expr->evaluate(exec); 585 KJS_CHECKEXCEPTIONLIST 586 587 l.append(v); 603 604 l.append(v); 605 606 n = n->list; 607 } 588 608 589 609 return l;
Note:
See TracChangeset
for help on using the changeset viewer.