Changeset 3848


Ignore:
Timestamp:
09/17/03 18:01:17 (20 years ago)
Author:
piso
Message:

typep()

Location:
trunk/j/src/org/armedbear/lisp
Files:
4 edited

Legend:

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

    r3414 r3848  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: AbstractArray.java,v 1.7 2003-08-15 17:18:02 piso Exp $
     5 * $Id: AbstractArray.java,v 1.8 2003-09-17 17:59:45 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    2424public abstract class AbstractArray extends LispObject
    2525{
     26    public LispObject typep(LispObject type) throws LispError
     27    {
     28        if (type == Symbol.ARRAY)
     29            return T;
     30        if (type == LispClass.ARRAY)
     31            return T;
     32        return super.typep(type);
     33    }
     34
    2635    public boolean equalp(LispObject obj) throws LispError
    2736    {
  • trunk/j/src/org/armedbear/lisp/AbstractVector.java

    r3832 r3848  
    2525    protected int fillPointer = -1; // -1 indicates no fill pointer.
    2626
    27     public LispObject typep(LispObject typeSpecifier) throws LispError
     27    public LispObject typep(LispObject type) throws LispError
    2828    {
    29         if (typeSpecifier instanceof Symbol) {
    30             if (typeSpecifier == Symbol.VECTOR)
    31                 return T;
    32             if (typeSpecifier == Symbol.ARRAY)
    33                 return T;
    34             if (typeSpecifier == Symbol.SEQUENCE)
    35                 return T;
    36             if (typeSpecifier == Symbol.SIMPLE_VECTOR)
    37                 return isSimpleVector() ? T : NIL;
    38             if (typeSpecifier == Symbol.SIMPLE_ARRAY)
    39                 return fillPointer < 0 ? T : NIL;
    40         } else if (typeSpecifier instanceof LispClass) {
    41             final String name = typeSpecifier.getName();
    42             if (name.equals("VECTOR"))
    43                 return T;
    44             if (name.equals("ARRAY"))
    45                 return T;
    46         }
    47         return super.typep(typeSpecifier);
     29        if (type == Symbol.VECTOR)
     30            return T;
     31        if (type == LispClass.VECTOR)
     32            return T;
     33        if (type == Symbol.SEQUENCE)
     34            return T;
     35        if (type == LispClass.SEQUENCE)
     36            return T;
     37        if (type == Symbol.SIMPLE_VECTOR)
     38            return isSimpleVector() ? T : NIL;
     39        if (type == Symbol.SIMPLE_ARRAY)
     40            return fillPointer < 0 ? T : NIL;
     41        return super.typep(type);
    4842    }
    4943
  • trunk/j/src/org/armedbear/lisp/Array.java

    r3841 r3848  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: Array.java,v 1.10 2003-09-17 14:55:59 piso Exp $
     5 * $Id: Array.java,v 1.11 2003-09-17 18:00:54 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    131131    public LispObject typep(LispObject typeSpecifier) throws LispError
    132132    {
    133         if (typeSpecifier == Symbol.ARRAY)
    134             return T;
    135133        if (typeSpecifier == Symbol.SIMPLE_ARRAY)
    136             return T;
    137         if (typeSpecifier == LispClass.ARRAY)
    138134            return T;
    139135        return super.typep(typeSpecifier);
  • trunk/j/src/org/armedbear/lisp/DisplacedArray.java

    r3832 r3848  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: DisplacedArray.java,v 1.9 2003-09-16 19:01:07 piso Exp $
     5 * $Id: DisplacedArray.java,v 1.10 2003-09-17 18:01:17 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    5757    }
    5858
    59     public LispObject typep(LispObject typeSpecifier) throws LispError
     59    public LispObject typep(LispObject type) throws LispError
    6060    {
    61         if (typeSpecifier == Symbol.ARRAY)
    62             return T;
    63         if (typeSpecifier == Symbol.VECTOR)
     61        if (type == Symbol.VECTOR || type == LispClass.VECTOR)
    6462            return VECTORP();
    65         if (typeSpecifier == Symbol.BIT_VECTOR)
     63        if (type == Symbol.BIT_VECTOR || type == LispClass.BIT_VECTOR)
    6664            return BIT_VECTOR_P();
    67         if (typeSpecifier == Symbol.SEQUENCE)
     65        if (type == Symbol.SEQUENCE || type == LispClass.SEQUENCE)
    6866            return VECTORP();
    69         if (typeSpecifier instanceof LispClass) {
    70             final String name = typeSpecifier.getName();
    71             if (name.equals("ARRAY"))
    72                 return T;
    73         }
    74         return super.typep(typeSpecifier);
     67        return super.typep(type);
    7568    }
    7669
Note: See TracChangeset for help on using the changeset viewer.