Changeset 9351


Ignore:
Timestamp:
May 3, 2008, 12:02:41 PM (11 years ago)
Author:
gb
Message:

Don't worry about forward-refrenced-classes in the SUBTYPEP method
for classes; %INITED-CLASS-CPL will worry about that if it has to,
and we can detect the unfinalized class case if that function
returns NIL.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/level-1/l1-typesys.lisp

    r9338 r9351  
    34383438      (if (memq class2 (class-direct-superclasses class1))
    34393439        (values t t)
    3440         (if (or (class-has-a-forward-referenced-superclass-p class1)
    3441                 (typep class1 'compile-time-class))
    3442           (values nil nil)
    3443           (let ((supers (%inited-class-cpl class1)))
    3444             (if (memq class2 supers)
    3445               (values t t)
    3446               (values nil t)))))
     3440        ;; %INITED-CLASS-CPL will return NIL if class1 can't
     3441        ;; be finalized; in that case, we don't know the answer.
     3442        (let ((supers (%inited-class-cpl class1)))
     3443          (if (memq class2 supers)
     3444            (values t t)
     3445            (values nil (not (null supers))))))
    34473446      (values nil t))))
    34483447
Note: See TracChangeset for help on using the changeset viewer.