Changeset 11309


Ignore:
Timestamp:
09/11/08 22:07:58 (14 years ago)
Author:
ehuelsmann
Message:

Use bindArg everywhere where it's applicable; fixes handler-case.29 (free declaration scope).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/Closure.java

    r11308 r11309  
    433433        SpecialBinding lastSpecialBinding = thread.lastSpecialBinding;
    434434        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);
    441436        if (arity != 1)
    442437          {
     
    444439              bindOptionalParameterDefaults(ext, thread);
    445440            if (restVar != null)
    446               bind(restVar, NIL, ext);
     441                bindArg(restVar, NIL, ext, thread);
    447442            if (keywordParameters != null)
    448443              bindKeywordParameterDefaults(ext, thread);
     
    482477        SpecialBinding lastSpecialBinding = thread.lastSpecialBinding;
    483478        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);
    491481        if (arity != 2)
    492482          {
     
    494484              bindOptionalParameterDefaults(ext, thread);
    495485            if (restVar != null)
    496               bind(restVar, NIL, ext);
     486                bindArg(restVar, NIL, ext, thread);
    497487            if (keywordParameters != null)
    498488              bindKeywordParameterDefaults(ext, thread);
     
    534524        SpecialBinding lastSpecialBinding = thread.lastSpecialBinding;
    535525        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);
    544529        if (arity != 3)
    545530          {
     
    547532              bindOptionalParameterDefaults(ext, thread);
    548533            if (restVar != null)
    549               bind(restVar, NIL, ext);
     534                bindArg(restVar, NIL, ext, thread);
    550535            if (keywordParameters != null)
    551536              bindKeywordParameterDefaults(ext, thread);
     
    588573        SpecialBinding lastSpecialBinding = thread.lastSpecialBinding;
    589574        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);
    599579        if (arity != 4)
    600580          {
     
    602582              bindOptionalParameterDefaults(ext, thread);
    603583            if (restVar != null)
    604               bind(restVar, NIL, ext);
     584                bindArg(restVar, NIL, ext, thread);
    605585            if (keywordParameters != null)
    606586              bindKeywordParameterDefaults(ext, thread);
     
    645625        SpecialBinding lastSpecialBinding = thread.lastSpecialBinding;
    646626        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);
    657632        if (arity != 5)
    658633          {
     
    660635              bindOptionalParameterDefaults(ext, thread);
    661636            if (restVar != null)
    662               bind(restVar, NIL, ext);
     637                bindArg(restVar, NIL, ext, thread);
    663638            if (keywordParameters != null)
    664639              bindKeywordParameterDefaults(ext, thread);
     
    704679        SpecialBinding lastSpecialBinding = thread.lastSpecialBinding;
    705680        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);
    717687        if (arity != 6)
    718688          {
     
    720690              bindOptionalParameterDefaults(ext, thread);
    721691            if (restVar != null)
    722               bind(restVar, NIL, ext);
     692                bindArg(restVar, NIL, ext, thread);
    723693            if (keywordParameters != null)
    724694              bindKeywordParameterDefaults(ext, thread);
     
    766736        SpecialBinding lastSpecialBinding = thread.lastSpecialBinding;
    767737        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);
    780745        if (arity != 7)
    781746          {
     
    783748              bindOptionalParameterDefaults(ext, thread);
    784749            if (restVar != null)
    785               bind(restVar, NIL, ext);
     750                bindArg(restVar, NIL, ext, thread);
    786751            if (keywordParameters != null)
    787752              bindKeywordParameterDefaults(ext, thread);
     
    835800              ext.declareSpecial(specials[i]);
    836801          }
    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);
    845810        if (arity != 8)
    846811          {
     
    848813              bindOptionalParameterDefaults(ext, thread);
    849814            if (restVar != null)
    850               bind(restVar, NIL, ext);
     815                bindArg(restVar, NIL, ext, thread);
    851816            if (keywordParameters != null)
    852817              bindKeywordParameterDefaults(ext, thread);
Note: See TracChangeset for help on using the changeset viewer.