Changeset 10303


Ignore:
Timestamp:
11/01/05 00:58:02 (16 years ago)
Author:
piso
Message:

public SlotDefinition?(LispObject name, LispObject readers, LispObject initForm)

File:
1 edited

Legend:

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

    r9507 r10303  
    33 *
    44 * Copyright (C) 2005 Peter Graves
    5  * $Id: SlotDefinition.java,v 1.4 2005-06-23 15:47:53 piso Exp $
     5 * $Id: SlotDefinition.java,v 1.5 2005-11-01 00:58:02 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    4141                new Cons(PACKAGE_KEYWORD.intern(((Symbol)name).getName()));
    4242            slots[SlotDefinitionClass.SLOT_INDEX_READERS] = readers;
    43             slots[SlotDefinitionClass.SLOT_INDEX_ALLOCATION] = PACKAGE_KEYWORD.intern("INSTANCE");
     43            slots[SlotDefinitionClass.SLOT_INDEX_ALLOCATION] = Keyword.INSTANCE;
    4444        }
    4545        catch (Throwable t) {
     
    4848    }
    4949
     50    public SlotDefinition(LispObject name, LispObject readers,
     51                          LispObject initForm)
     52    {
     53        this();
     54        try {
     55            Debug.assertTrue(name instanceof Symbol);
     56            slots[SlotDefinitionClass.SLOT_INDEX_NAME] = name;
     57            slots[SlotDefinitionClass.SLOT_INDEX_INITFUNCTION] = NIL;
     58            slots[SlotDefinitionClass.SLOT_INDEX_INITFORM] = initForm;
     59            slots[SlotDefinitionClass.SLOT_INDEX_INITARGS] =
     60                new Cons(PACKAGE_KEYWORD.intern(((Symbol)name).getName()));
     61            slots[SlotDefinitionClass.SLOT_INDEX_READERS] = readers;
     62            slots[SlotDefinitionClass.SLOT_INDEX_ALLOCATION] = Keyword.INSTANCE;
     63        }
     64        catch (Throwable t) {
     65            Debug.trace(t);
     66        }
     67    }
     68
    5069    public final LispObject getName()
    5170    {
     
    6079    public String writeToString() throws ConditionThrowable
    6180    {
    62         StringBuffer sb = new StringBuffer(Symbol.SLOT_DEFINITION.writeToString());
     81        FastStringBuffer sb =
     82            new FastStringBuffer(Symbol.SLOT_DEFINITION.writeToString());
    6383        LispObject name = slots[SlotDefinitionClass.SLOT_INDEX_NAME];
    6484        if (name != null && name != NIL) {
     
    90110            }
    91111            catch (ClassCastException e) {
    92                 return signal(new TypeError(arg, Symbol.SLOT_DEFINITION));
     112                return signalTypeError(arg, Symbol.SLOT_DEFINITION);
    93113            }
    94114        }
     
    108128            }
    109129            catch (ClassCastException e) {
    110                 return signal(new TypeError(first, Symbol.SLOT_DEFINITION));
     130                return signalTypeError(first, Symbol.SLOT_DEFINITION);
    111131            }
    112132        }
     
    124144            }
    125145            catch (ClassCastException e) {
    126                 return signal(new TypeError(arg, Symbol.SLOT_DEFINITION));
     146                return signalTypeError(arg, Symbol.SLOT_DEFINITION);
    127147            }
    128148        }
     
    142162            }
    143163            catch (ClassCastException e) {
    144                 return signal(new TypeError(first, Symbol.SLOT_DEFINITION));
     164                return signalTypeError(first, Symbol.SLOT_DEFINITION);
    145165            }
    146166        }
     
    158178            }
    159179            catch (ClassCastException e) {
    160                 return signal(new TypeError(arg, Symbol.SLOT_DEFINITION));
     180                return signalTypeError(arg, Symbol.SLOT_DEFINITION);
    161181            }
    162182        }
     
    176196            }
    177197            catch (ClassCastException e) {
    178                 return signal(new TypeError(first, Symbol.SLOT_DEFINITION));
     198                return signalTypeError(first, Symbol.SLOT_DEFINITION);
    179199            }
    180200        }
     
    192212            }
    193213            catch (ClassCastException e) {
    194                 return signal(new TypeError(arg, Symbol.SLOT_DEFINITION));
     214                return signalTypeError(arg, Symbol.SLOT_DEFINITION);
    195215            }
    196216        }
     
    210230            }
    211231            catch (ClassCastException e) {
    212                 return signal(new TypeError(first, Symbol.SLOT_DEFINITION));
     232                return signalTypeError(first, Symbol.SLOT_DEFINITION);
    213233            }
    214234        }
     
    226246            }
    227247            catch (ClassCastException e) {
    228                 return signal(new TypeError(arg, Symbol.SLOT_DEFINITION));
     248                return signalTypeError(arg, Symbol.SLOT_DEFINITION);
    229249            }
    230250        }
     
    244264            }
    245265            catch (ClassCastException e) {
    246                 return signal(new TypeError(first, Symbol.SLOT_DEFINITION));
     266                return signalTypeError(first, Symbol.SLOT_DEFINITION);
    247267            }
    248268        }
     
    260280            }
    261281            catch (ClassCastException e) {
    262                 return signal(new TypeError(arg, Symbol.SLOT_DEFINITION));
     282                return signalTypeError(arg, Symbol.SLOT_DEFINITION);
    263283            }
    264284        }
     
    278298            }
    279299            catch (ClassCastException e) {
    280                 return signal(new TypeError(first, Symbol.SLOT_DEFINITION));
     300                return signalTypeError(first, Symbol.SLOT_DEFINITION);
    281301            }
    282302        }
     
    294314            }
    295315            catch (ClassCastException e) {
    296                 return signal(new TypeError(arg, Symbol.SLOT_DEFINITION));
     316                return signalTypeError(arg, Symbol.SLOT_DEFINITION);
    297317            }
    298318        }
     
    312332            }
    313333            catch (ClassCastException e) {
    314                 return signal(new TypeError(first, Symbol.SLOT_DEFINITION));
     334                return signalTypeError(first, Symbol.SLOT_DEFINITION);
    315335            }
    316336        }
     
    328348            }
    329349            catch (ClassCastException e) {
    330                 return signal(new TypeError(arg, Symbol.SLOT_DEFINITION));
     350                return signalTypeError(arg, Symbol.SLOT_DEFINITION);
    331351            }
    332352        }
     
    346366            }
    347367            catch (ClassCastException e) {
    348                 return signal(new TypeError(first, Symbol.SLOT_DEFINITION));
     368                return signalTypeError(first, Symbol.SLOT_DEFINITION);
    349369            }
    350370        }
     
    361381            }
    362382            catch (ClassCastException e) {
    363                 return signal(new TypeError(arg, Symbol.SLOT_DEFINITION));
     383                return signalTypeError(arg, Symbol.SLOT_DEFINITION);
    364384            }
    365385        }
     
    378398            }
    379399            catch (ClassCastException e) {
    380                 return signal(new TypeError(first, Symbol.SLOT_DEFINITION));
     400                return signalTypeError(first, Symbol.SLOT_DEFINITION);
    381401            }
    382402        }
Note: See TracChangeset for help on using the changeset viewer.