Changeset 11331
- Timestamp:
- 10/01/08 20:18:10 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/j/src/org/armedbear/lisp/Closure.java
r11329 r11331 298 298 if (requiredParameters != null) 299 299 { 300 for ( int i = 0; i < requiredParameters.length; i++)301 vars.add( requiredParameters[i].var);300 for (Parameter parameter : requiredParameters) 301 vars.add(parameter.var); 302 302 } 303 303 if (optionalParameters != null) 304 304 { 305 for ( int i = 0; i < optionalParameters.length; i++)306 { 307 vars.add( optionalParameters[i].var);308 if ( optionalParameters[i].svar != NIL)309 vars.add((Symbol) optionalParameters[i].svar);305 for (Parameter parameter : optionalParameters) 306 { 307 vars.add(parameter.var); 308 if (parameter.svar != NIL) 309 vars.add((Symbol)parameter.svar); 310 310 if (!bindInitForms) 311 if (! optionalParameters[i].initForm.constantp())311 if (!parameter.initForm.constantp()) 312 312 bindInitForms = true; 313 313 } … … 319 319 if (keywordParameters != null) 320 320 { 321 for ( int i = 0; i < keywordParameters.length; i++)322 { 323 vars.add( keywordParameters[i].var);324 if ( keywordParameters[i].svar != NIL)325 vars.add((Symbol) keywordParameters[i].svar);321 for (Parameter parameter : keywordParameters) 322 { 323 vars.add(parameter.var); 324 if (parameter.svar != NIL) 325 vars.add((Symbol)parameter.svar); 326 326 if (!bindInitForms) 327 if (! keywordParameters[i].initForm.constantp())327 if (!parameter.initForm.constantp()) 328 328 bindInitForms = true; 329 329 } … … 616 616 if (specials != null) 617 617 { 618 for ( int i = 0; i < specials.length; i++)619 ext.declareSpecial(special s[i]);618 for (Symbol special : specials) 619 ext.declareSpecial(special); 620 620 } 621 621 bindRequiredParameters(ext, thread, first, second, third, fourth, … … 654 654 if (specials != null) { 655 655 special: 656 for ( int i = 0; i < specials.length; i++) {657 for ( int j = 0; j < variables.length; j++)658 if (special s[i] == variables[j])656 for (Symbol special : specials) { 657 for (Symbol var : variables) 658 if (special == var) 659 659 continue special; 660 660 661 661 if (auxVars != null) 662 for ( int j = 0; j < auxVars.length; j++)663 if (special s[i] == auxVars[j].var)662 for (Parameter parameter : auxVars) 663 if (special == parameter.var) 664 664 continue special; 665 665 666 ext.declareSpecial(special s[i]);666 ext.declareSpecial(special); 667 667 } 668 668 } … … 683 683 if (specials != null) 684 684 { 685 for ( int i = specials.length; i-- > 0;)686 { 687 if (sym == special s[i])685 for (Symbol special : specials) 686 { 687 if (sym == special) 688 688 return true; 689 689 } … … 816 816 error(new ProgramError("Odd number of keyword arguments.")); 817 817 LispObject allowOtherKeysValue = null; 818 for (int k = 0; k < keywordParameters.length; k++) 819 { 820 Parameter parameter = keywordParameters[k]; 818 for (Parameter parameter : keywordParameters) 819 { 821 820 Symbol keyword = parameter.keyword; 822 821 LispObject value = null; … … 885 884 // Unused keyword argument. 886 885 boolean ok = false; 887 for ( int k = keywordParameters.length; k-- > 0;)886 for (Parameter parameter : keywordParameters) 888 887 { 889 if ( keywordParameters[k].keyword == keyword)888 if (parameter.keyword == keyword) 890 889 { 891 890 // Found it! … … 1042 1041 throws ConditionThrowable 1043 1042 { 1044 for (int i = 0; i < optionalParameters.length; i++) 1045 { 1046 Parameter parameter = optionalParameters[i]; 1043 for (Parameter parameter : optionalParameters) 1044 { 1047 1045 LispObject value; 1048 1046 if (parameter.initVal != null) … … 1060 1058 throws ConditionThrowable 1061 1059 { 1062 for (int i = 0; i < keywordParameters.length; i++) 1063 { 1064 Parameter parameter = keywordParameters[i]; 1060 for (Parameter parameter : keywordParameters) 1061 { 1065 1062 LispObject value; 1066 1063 if (parameter.initVal != null) … … 1090 1087 { 1091 1088 // Aux variable processing is analogous to LET* processing. 1092 for (int i = 0; i < auxVars.length; i++) 1093 { 1094 Parameter parameter = auxVars[i]; 1089 for (Parameter parameter : auxVars) 1090 { 1095 1091 Symbol sym = parameter.var; 1096 1092 LispObject value;
Note: See TracChangeset
for help on using the changeset viewer.