KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > armedbear > lisp > CellError


1 /*
2  * CellError.java
3  *
4  * Copyright (C) 2003 Peter Graves
5  * $Id: CellError.java,v 1.1 2003/09/21 01:38:25 piso Exp $
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20  */

21
22 package org.armedbear.lisp;
23
24 public class CellError extends LispError
25 {
26     private final LispObject cellName;
27
28     public CellError(LispObject initArgs) throws ConditionThrowable
29     {
30         LispObject cellName = NIL;
31         LispObject first, second;
32         while (initArgs != NIL) {
33             first = initArgs.car();
34             initArgs = initArgs.cdr();
35             second = initArgs.car();
36             initArgs = initArgs.cdr();
37             if (first == Keyword.NAME)
38                 cellName = second;
39         }
40         this.cellName = cellName;
41     }
42
43     public final LispObject getCellName()
44     {
45         return cellName;
46     }
47
48     public LispObject typeOf()
49     {
50         return Symbol.CELL_ERROR;
51     }
52
53     public LispClass classOf()
54     {
55         return BuiltInClass.CELL_ERROR;
56     }
57
58     public LispObject typep(LispObject type) throws ConditionThrowable
59     {
60         if (type == Symbol.CELL_ERROR)
61             return T;
62         if (type == BuiltInClass.CELL_ERROR)
63             return T;
64         return super.typep(type);
65     }
66 }
67
Popular Tags