Changeset 14092
- Timestamp:
- 08/15/12 07:12:24 (13 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/abcl/src/org/armedbear/lisp/Layout.java ¶
r13444 r14092 266 266 final LispObject lispClass = arg; 267 267 LispObject oldLayout; 268 if (lispClass instanceof LispClass) 269 oldLayout = ((LispClass)lispClass).getClassLayout(); 270 else 271 oldLayout = Symbol.CLASS_LAYOUT.execute(lispClass); 268 // Non-finalized classes might not have a valid layout, but they do 269 // not have instances either so we can abort. 270 if (lispClass instanceof LispClass) { 271 if (!((LispClass)lispClass).isFinalized()) 272 return arg; 273 oldLayout = ((LispClass)lispClass).getClassLayout(); 274 } else if (lispClass instanceof StandardObject) { 275 if (((StandardObject)arg) 276 .getInstanceSlotValue(StandardClass.symFinalizedP) == NIL) 277 return arg; 278 oldLayout = Symbol.CLASS_LAYOUT.execute(lispClass); 279 } else { 280 return error(new TypeError(arg, Symbol.CLASS)); 281 } 272 282 273 283 Layout newLayout = new Layout((Layout)oldLayout); -
TabularUnified trunk/abcl/src/org/armedbear/lisp/clos.lisp ¶
r14080 r14092 3126 3126 (remf all-keys :metaclass) 3127 3127 (unless (classp metaclass) (setf metaclass (find-class metaclass))) 3128 ( change-class class metaclass)3128 (apply #'change-class class metaclass all-keys) 3129 3129 (apply #'reinitialize-instance class 3130 3130 :name name
Note: See TracChangeset
for help on using the changeset viewer.