[armedbear-cvs] r13773 - trunk/abcl/src/org/armedbear/lisp
rschlatte at common-lisp.net
rschlatte at common-lisp.net
Sat Jan 14 16:37:33 UTC 2012
Author: rschlatte
Date: Sat Jan 14 08:37:32 2012
New Revision: 13773
Log:
introduce funcallable-standard-object.
Modified:
trunk/abcl/src/org/armedbear/lisp/StandardClass.java
trunk/abcl/src/org/armedbear/lisp/Symbol.java
Modified: trunk/abcl/src/org/armedbear/lisp/StandardClass.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/StandardClass.java Thu Jan 12 12:18:19 2012 (r13772)
+++ trunk/abcl/src/org/armedbear/lisp/StandardClass.java Sat Jan 14 08:37:32 2012 (r13773)
@@ -421,9 +421,13 @@
// BuiltInClass.FUNCTION is also null here (see previous comment).
+ public static final StandardClass FUNCALLABLE_STANDARD_OBJECT =
+ addStandardClass(Symbol.FUNCALLABLE_STANDARD_OBJECT,
+ list(STANDARD_OBJECT, BuiltInClass.FUNCTION));
+
public static final StandardClass GENERIC_FUNCTION =
- addStandardClass(Symbol.GENERIC_FUNCTION, list(METAOBJECT,
- BuiltInClass.FUNCTION));
+ addStandardClass(Symbol.GENERIC_FUNCTION,
+ list(METAOBJECT, FUNCALLABLE_STANDARD_OBJECT));
public static final StandardClass METHOD_COMBINATION =
addStandardClass(Symbol.METHOD_COMBINATION, list(METAOBJECT));
@@ -581,8 +585,9 @@
// STANDARD_OBJECT).
STANDARD_CLASS.setDirectSuperclass(CLASS);
STANDARD_OBJECT.setDirectSuperclass(BuiltInClass.CLASS_T);
+ FUNCALLABLE_STANDARD_OBJECT.setDirectSuperclasses(list(STANDARD_OBJECT, BuiltInClass.FUNCTION));
GENERIC_FUNCTION.setDirectSuperclasses(list(METAOBJECT,
- BuiltInClass.FUNCTION));
+ FUNCALLABLE_STANDARD_OBJECT));
ARITHMETIC_ERROR.setCPL(ARITHMETIC_ERROR, ERROR, SERIOUS_CONDITION,
CONDITION, STANDARD_OBJECT, BuiltInClass.CLASS_T);
@@ -646,7 +651,9 @@
STANDARD_OBJECT, BuiltInClass.CLASS_T);
FORWARD_REFERENCED_CLASS.setCPL(FORWARD_REFERENCED_CLASS, CLASS,
SPECIALIZER, METAOBJECT, STANDARD_OBJECT, BuiltInClass.CLASS_T);
- GENERIC_FUNCTION.setCPL(GENERIC_FUNCTION, METAOBJECT, STANDARD_OBJECT,
+ FUNCALLABLE_STANDARD_OBJECT.setCPL(FUNCALLABLE_STANDARD_OBJECT, STANDARD_OBJECT, BuiltInClass.FUNCTION, BuiltInClass.CLASS_T);
+ GENERIC_FUNCTION.setCPL(GENERIC_FUNCTION, METAOBJECT,
+ FUNCALLABLE_STANDARD_OBJECT, STANDARD_OBJECT,
BuiltInClass.FUNCTION,
BuiltInClass.CLASS_T);
JAVA_EXCEPTION.setCPL(JAVA_EXCEPTION, ERROR, SERIOUS_CONDITION, CONDITION,
@@ -765,7 +772,9 @@
// Condition classes.
STANDARD_CLASS.finalizeClass();
STANDARD_OBJECT.finalizeClass();
+ FUNCALLABLE_STANDARD_OBJECT.finalizeClass();
CLASS.finalizeClass();
+ GENERIC_FUNCTION.finalizeClass();
ARITHMETIC_ERROR.finalizeClass();
CELL_ERROR.finalizeClass();
COMPILER_ERROR.finalizeClass();
@@ -855,6 +864,7 @@
Debug.assertTrue(STANDARD_GENERIC_FUNCTION.isFinalized());
STANDARD_GENERIC_FUNCTION.setCPL(STANDARD_GENERIC_FUNCTION,
GENERIC_FUNCTION, METAOBJECT,
+ FUNCALLABLE_STANDARD_OBJECT,
STANDARD_OBJECT,
BuiltInClass.FUNCTION,
BuiltInClass.CLASS_T);
Modified: trunk/abcl/src/org/armedbear/lisp/Symbol.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Symbol.java Thu Jan 12 12:18:19 2012 (r13772)
+++ trunk/abcl/src/org/armedbear/lisp/Symbol.java Sat Jan 14 08:37:32 2012 (r13773)
@@ -2971,6 +2971,8 @@
PACKAGE_MOP.addExternalSymbol("EQL-SPECIALIZER");
public static final Symbol EQL_SPECIALIZER_OBJECT =
PACKAGE_MOP.addExternalSymbol("EQL-SPECIALIZER-OBJECT");
+ public static final Symbol FUNCALLABLE_STANDARD_OBJECT =
+ PACKAGE_MOP.addExternalSymbol("FUNCALLABLE-STANDARD-OBJECT");
public static final Symbol SHORT_METHOD_COMBINATION =
PACKAGE_MOP.addInternalSymbol("SHORT-METHOD-COMBINATION");
public static final Symbol LONG_METHOD_COMBINATION =
@@ -3016,6 +3018,7 @@
PACKAGE_MOP.addInternalSymbol("LONG-METHOD-COMBINATION-DECLARATIONS");
public static final Symbol LONG_METHOD_COMBINATION_FORMS =
PACKAGE_MOP.addInternalSymbol("LONG-METHOD-COMBINATION-FORMS");
+ // slot names of (long-|short-)method-combination classes
public static final Symbol OPERATOR =
PACKAGE_MOP.addInternalSymbol("OPERATOR");
public static final Symbol IDENTITY_WITH_ONE_ARGUMENT =
More information about the armedbear-cvs
mailing list