Changeset 14476
- Timestamp:
- 04/24/13 12:51:08 (10 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/StandardClass.java
r14475 r14476 109 109 } 110 110 }; 111 112 static Layout layoutStandardGenericFunction =113 new Layout(null,114 list(Symbol.NAME,115 Symbol.LAMBDA_LIST,116 Symbol.REQUIRED_ARGS,117 Symbol.OPTIONAL_ARGS,118 Symbol.INITIAL_METHODS,119 Symbol.METHODS,120 Symbol.METHOD_CLASS,121 Symbol._METHOD_COMBINATION,122 Symbol.ARGUMENT_PRECEDENCE_ORDER,123 Symbol.DECLARATIONS,124 Symbol.CLASSES_TO_EMF_TABLE,125 Symbol._DOCUMENTATION),126 NIL)127 {128 @Override129 public LispClass getLispClass()130 {131 return STANDARD_GENERIC_FUNCTION;132 }133 };134 135 136 111 137 112 public StandardClass() … … 849 824 850 825 // STANDARD-GENERIC-FUNCTION 851 STANDARD_GENERIC_FUNCTION.setClassLayout(layoutStandardGenericFunction);852 826 STANDARD_GENERIC_FUNCTION.setCPL(STANDARD_GENERIC_FUNCTION, 853 827 GENERIC_FUNCTION, METAOBJECT, -
trunk/abcl/src/org/armedbear/lisp/StandardObject.java
r14475 r14476 677 677 // working yet. allocate-funcallable-instance takes over later. 678 678 return new StandardGenericFunction(); 679 } else if (arg instanceof FuncallableStandardClass) {680 FuncallableStandardClass cls = (FuncallableStandardClass)arg;681 Layout layout = cls.getClassLayout();682 if (layout == null) {683 program_error("No layout for funcallable class " + cls.princToString() + ".");679 } else if (arg.typep(StandardClass.FUNCALLABLE_STANDARD_CLASS) != NIL) { 680 LispObject l = Symbol.CLASS_LAYOUT.execute(arg); 681 if (! (l instanceof Layout)) { 682 program_error("Invalid class layout for funcallable class " 683 + arg.princToString() + "."); 684 684 } 685 return new FuncallableStandardObject( cls, layout.getLength());685 return new FuncallableStandardObject((Layout)l); 686 686 } else if (arg instanceof StandardClass) { 687 687 StandardClass cls = (StandardClass)arg;
Note: See TracChangeset
for help on using the changeset viewer.