Changeset 12831 for trunk/abcl/src/org/armedbear/lisp/java.lisp
- Timestamp:
- 07/28/10 22:13:15 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/java.lisp
r12774 r12831 149 149 method implementation))))) 150 150 lisp-this)) 151 152 (defun jequal (obj1 obj2) 153 "Compares obj1 with obj2 using java.lang.Object.equals()" 154 (jcall (jmethod "java.lang.Object" "equals" "java.lang.Object") 155 obj1 obj2)) 151 156 152 157 (defun jobject-class (obj) … … 364 369 :java-class +java-lang-object+))) 365 370 371 (defun jclass-additional-superclasses (jclass) 372 "Extension point to put additional CLOS classes on the CPL of a CLOS Java class." 373 (let ((supers nil)) 374 (when (jclass-interface-p jclass) 375 (push (find-class 'java-object) supers)) 376 (when (jequal jclass (jclass "java.util.List")) 377 (push (find-class 'sequence) supers)) 378 supers)) 379 366 380 (defun ensure-java-class (jclass) 367 381 (let ((class (%find-java-class jclass))) … … 379 393 (list (jclass-superclass jclass)) 380 394 (jclass-interfaces jclass)))))) 381 (if (jclass-interface-p jclass) 382 (append supers (list (find-class 'java-object))) 383 supers)) 395 (append supers (jclass-additional-superclasses jclass))) 384 396 :java-class jclass))))) 385 397
Note: See TracChangeset
for help on using the changeset viewer.