Changeset 11309
- Timestamp:
- 09/11/08 22:07:58 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/j/src/org/armedbear/lisp/Closure.java
r11308 r11309 433 433 SpecialBinding lastSpecialBinding = thread.lastSpecialBinding; 434 434 Environment ext = new Environment(environment); 435 if (specials != null) 436 { 437 for (int i = 0; i < specials.length; i++) 438 ext.declareSpecial(specials[i]); 439 } 440 bind(requiredParameters[0].var, arg, ext); 435 bindArg(requiredParameters[0].var, arg, ext, thread); 441 436 if (arity != 1) 442 437 { … … 444 439 bindOptionalParameterDefaults(ext, thread); 445 440 if (restVar != null) 446 bind(restVar, NIL, ext);441 bindArg(restVar, NIL, ext, thread); 447 442 if (keywordParameters != null) 448 443 bindKeywordParameterDefaults(ext, thread); … … 482 477 SpecialBinding lastSpecialBinding = thread.lastSpecialBinding; 483 478 Environment ext = new Environment(environment); 484 if (specials != null) 485 { 486 for (int i = 0; i < specials.length; i++) 487 ext.declareSpecial(specials[i]); 488 } 489 bind(requiredParameters[0].var, first, ext); 490 bind(requiredParameters[1].var, second, ext); 479 bindArg(requiredParameters[0].var, first, ext, thread); 480 bindArg(requiredParameters[1].var, second, ext, thread); 491 481 if (arity != 2) 492 482 { … … 494 484 bindOptionalParameterDefaults(ext, thread); 495 485 if (restVar != null) 496 bind(restVar, NIL, ext);486 bindArg(restVar, NIL, ext, thread); 497 487 if (keywordParameters != null) 498 488 bindKeywordParameterDefaults(ext, thread); … … 534 524 SpecialBinding lastSpecialBinding = thread.lastSpecialBinding; 535 525 Environment ext = new Environment(environment); 536 if (specials != null) 537 { 538 for (int i = 0; i < specials.length; i++) 539 ext.declareSpecial(specials[i]); 540 } 541 bind(requiredParameters[0].var, first, ext); 542 bind(requiredParameters[1].var, second, ext); 543 bind(requiredParameters[2].var, third, ext); 526 bindArg(requiredParameters[0].var, first, ext, thread); 527 bindArg(requiredParameters[1].var, second, ext, thread); 528 bindArg(requiredParameters[2].var, third, ext, thread); 544 529 if (arity != 3) 545 530 { … … 547 532 bindOptionalParameterDefaults(ext, thread); 548 533 if (restVar != null) 549 bind(restVar, NIL, ext);534 bindArg(restVar, NIL, ext, thread); 550 535 if (keywordParameters != null) 551 536 bindKeywordParameterDefaults(ext, thread); … … 588 573 SpecialBinding lastSpecialBinding = thread.lastSpecialBinding; 589 574 Environment ext = new Environment(environment); 590 if (specials != null) 591 { 592 for (int i = 0; i < specials.length; i++) 593 ext.declareSpecial(specials[i]); 594 } 595 bind(requiredParameters[0].var, first, ext); 596 bind(requiredParameters[1].var, second, ext); 597 bind(requiredParameters[2].var, third, ext); 598 bind(requiredParameters[3].var, fourth, ext); 575 bindArg(requiredParameters[0].var, first, ext, thread); 576 bindArg(requiredParameters[1].var, second, ext, thread); 577 bindArg(requiredParameters[2].var, third, ext, thread); 578 bindArg(requiredParameters[3].var, fourth, ext, thread); 599 579 if (arity != 4) 600 580 { … … 602 582 bindOptionalParameterDefaults(ext, thread); 603 583 if (restVar != null) 604 bind(restVar, NIL, ext);584 bindArg(restVar, NIL, ext, thread); 605 585 if (keywordParameters != null) 606 586 bindKeywordParameterDefaults(ext, thread); … … 645 625 SpecialBinding lastSpecialBinding = thread.lastSpecialBinding; 646 626 Environment ext = new Environment(environment); 647 if (specials != null) 648 { 649 for (int i = 0; i < specials.length; i++) 650 ext.declareSpecial(specials[i]); 651 } 652 bind(requiredParameters[0].var, first, ext); 653 bind(requiredParameters[1].var, second, ext); 654 bind(requiredParameters[2].var, third, ext); 655 bind(requiredParameters[3].var, fourth, ext); 656 bind(requiredParameters[4].var, fifth, ext); 627 bindArg(requiredParameters[0].var, first, ext, thread); 628 bindArg(requiredParameters[1].var, second, ext, thread); 629 bindArg(requiredParameters[2].var, third, ext, thread); 630 bindArg(requiredParameters[3].var, fourth, ext, thread); 631 bindArg(requiredParameters[4].var, fifth, ext, thread); 657 632 if (arity != 5) 658 633 { … … 660 635 bindOptionalParameterDefaults(ext, thread); 661 636 if (restVar != null) 662 bind(restVar, NIL, ext);637 bindArg(restVar, NIL, ext, thread); 663 638 if (keywordParameters != null) 664 639 bindKeywordParameterDefaults(ext, thread); … … 704 679 SpecialBinding lastSpecialBinding = thread.lastSpecialBinding; 705 680 Environment ext = new Environment(environment); 706 if (specials != null) 707 { 708 for (int i = 0; i < specials.length; i++) 709 ext.declareSpecial(specials[i]); 710 } 711 bind(requiredParameters[0].var, first, ext); 712 bind(requiredParameters[1].var, second, ext); 713 bind(requiredParameters[2].var, third, ext); 714 bind(requiredParameters[3].var, fourth, ext); 715 bind(requiredParameters[4].var, fifth, ext); 716 bind(requiredParameters[5].var, sixth, ext); 681 bindArg(requiredParameters[0].var, first, ext, thread); 682 bindArg(requiredParameters[1].var, second, ext, thread); 683 bindArg(requiredParameters[2].var, third, ext, thread); 684 bindArg(requiredParameters[3].var, fourth, ext, thread); 685 bindArg(requiredParameters[4].var, fifth, ext, thread); 686 bindArg(requiredParameters[5].var, sixth, ext, thread); 717 687 if (arity != 6) 718 688 { … … 720 690 bindOptionalParameterDefaults(ext, thread); 721 691 if (restVar != null) 722 bind(restVar, NIL, ext);692 bindArg(restVar, NIL, ext, thread); 723 693 if (keywordParameters != null) 724 694 bindKeywordParameterDefaults(ext, thread); … … 766 736 SpecialBinding lastSpecialBinding = thread.lastSpecialBinding; 767 737 Environment ext = new Environment(environment); 768 if (specials != null) 769 { 770 for (int i = 0; i < specials.length; i++) 771 ext.declareSpecial(specials[i]); 772 } 773 bind(requiredParameters[0].var, first, ext); 774 bind(requiredParameters[1].var, second, ext); 775 bind(requiredParameters[2].var, third, ext); 776 bind(requiredParameters[3].var, fourth, ext); 777 bind(requiredParameters[4].var, fifth, ext); 778 bind(requiredParameters[5].var, sixth, ext); 779 bind(requiredParameters[6].var, seventh, ext); 738 bindArg(requiredParameters[0].var, first, ext, thread); 739 bindArg(requiredParameters[1].var, second, ext, thread); 740 bindArg(requiredParameters[2].var, third, ext, thread); 741 bindArg(requiredParameters[3].var, fourth, ext, thread); 742 bindArg(requiredParameters[4].var, fifth, ext, thread); 743 bindArg(requiredParameters[5].var, sixth, ext, thread); 744 bindArg(requiredParameters[6].var, seventh, ext, thread); 780 745 if (arity != 7) 781 746 { … … 783 748 bindOptionalParameterDefaults(ext, thread); 784 749 if (restVar != null) 785 bind(restVar, NIL, ext);750 bindArg(restVar, NIL, ext, thread); 786 751 if (keywordParameters != null) 787 752 bindKeywordParameterDefaults(ext, thread); … … 835 800 ext.declareSpecial(specials[i]); 836 801 } 837 bind (requiredParameters[0].var, first, ext);838 bind (requiredParameters[1].var, second, ext);839 bind (requiredParameters[2].var, third, ext);840 bind (requiredParameters[3].var, fourth, ext);841 bind (requiredParameters[4].var, fifth, ext);842 bind (requiredParameters[5].var, sixth, ext);843 bind (requiredParameters[6].var, seventh, ext);844 bind (requiredParameters[7].var, eighth, ext);802 bindArg(requiredParameters[0].var, first, ext, thread); 803 bindArg(requiredParameters[1].var, second, ext, thread); 804 bindArg(requiredParameters[2].var, third, ext, thread); 805 bindArg(requiredParameters[3].var, fourth, ext, thread); 806 bindArg(requiredParameters[4].var, fifth, ext, thread); 807 bindArg(requiredParameters[5].var, sixth, ext, thread); 808 bindArg(requiredParameters[6].var, seventh, ext, thread); 809 bindArg(requiredParameters[7].var, eighth, ext, thread); 845 810 if (arity != 8) 846 811 { … … 848 813 bindOptionalParameterDefaults(ext, thread); 849 814 if (restVar != null) 850 bind(restVar, NIL, ext);815 bindArg(restVar, NIL, ext, thread); 851 816 if (keywordParameters != null) 852 817 bindKeywordParameterDefaults(ext, thread);
Note: See TracChangeset
for help on using the changeset viewer.