Changeset 4779


Ignore:
Timestamp:
11/16/03 15:02:59 (18 years ago)
Author:
piso
Message:

setValues()

File:
1 edited

Legend:

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

    r4768 r4779  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: LispThread.java,v 1.23 2003-11-15 15:53:38 piso Exp $
     5 * $Id: LispThread.java,v 1.24 2003-11-16 15:02:59 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    112112    }
    113113
    114     public final void setValues(LispObject[] array)
    115     {
    116         if (array == null)
     114    public final LispObject setValues()
     115    {
     116        _values = new LispObject[0];
     117        return NIL;
     118    }
     119
     120    public final LispObject setValues(LispObject value1)
     121    {
     122        _values = null;
     123        return value1;
     124    }
     125
     126    public final LispObject setValues(LispObject value1, LispObject value2)
     127    {
     128        _values = new LispObject[2];
     129        _values[0] = value1;
     130        _values[1] = value2;
     131        return value1;
     132    }
     133
     134    public final LispObject setValues(LispObject value1, LispObject value2,
     135                                      LispObject value3)
     136    {
     137        _values = new LispObject[3];
     138        _values[0] = value1;
     139        _values[1] = value2;
     140        _values[2] = value3;
     141        return value1;
     142    }
     143
     144    public final LispObject setValues(LispObject[] values)
     145    {
     146        if (values == null) {
     147            Debug.assertTrue(false);
    117148            _values = null;
    118         else {
    119             _values = new LispObject[array.length];
    120             for (int i = array.length; i-- > 0;)
    121                 _values[i] = array[i];
    122         }
     149        } else {
     150            _values = new LispObject[values.length];
     151            for (int i = values.length; i-- > 0;)
     152                _values[i] = values[i];
     153        }
     154        return values.length > 0 ? values[0] : NIL;
    123155    }
    124156
Note: See TracChangeset for help on using the changeset viewer.