Changeset 5919


Ignore:
Timestamp:
02/24/04 11:23:47 (17 years ago)
Author:
piso
Message:

Work in progress.

File:
1 edited

Legend:

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

    r5908 r5919  
    33 *
    44 * Copyright (C) 2004 Peter Graves
    5  * $Id: adjust_array.java,v 1.6 2004-02-23 19:56:58 piso Exp $
     5 * $Id: adjust_array.java,v 1.7 2004-02-24 11:23:47 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    5858        else
    5959            displacement = Fixnum.getValue(displacedIndexOffset);
    60         if (array instanceof Vector) {
    61             Vector v = (Vector) array;
     60        if (array instanceof SimpleVector) {
     61            SimpleVector v = (SimpleVector) array;
     62            LispObject newSize = null;
     63            if (dimensions instanceof Cons) {
     64                if (dimensions.length() == 1)
     65                    newSize = dimensions.car();
     66            } else
     67                newSize = dimensions;
     68            if (newSize != null) {
     69                AbstractVector v2 =
     70                    (AbstractVector) v.adjustArray(Fixnum.getValue(newSize),
     71                                                   initialElement,
     72                                                   initialContents);
     73                if (fillPointer != NIL)
     74                    v2.setFillPointer(fillPointer);
     75                return v2;
     76            }
     77        }
     78        if (array instanceof ComplexVector) {
     79            ComplexVector v = (ComplexVector) array;
    6280            LispObject newSize = null;
    6381            if (dimensions instanceof Cons) {
Note: See TracChangeset for help on using the changeset viewer.