Opened 8 years ago

Closed 8 years ago

#974 closed defect (fixed)

r15381 and objc bridge

Reported by: rme Owned by:
Priority: normal Milestone:
Component: Compiler Version: trunk
Keywords: Cc:


As of r15381, doing (require 'objc-support) will produce

> Error: Can't find slot definition for NS:ISA in #<OBJC:OBJC-CLASS NS:NS-CELL (#x7FFF7816B740)>
> While executing: DETERMINE-FOREIGN-SLOT-LOCATION, in process listener(1).

This appears to be because (typep thing 'obj:objc-class) is now transformed to use STD-INSTANCE-CLASS-CELL-TYPEP here.

Change History (1)

comment:1 Changed 8 years ago by gb

  • Resolution set to fixed
  • Status changed from new to closed

(In [15394]) Play whack-a-mole with OPTIMIZE-TYPEP (in the case where the type names a standard class): we need to check in both directions (that the class is neither a subclass or a superclass of a class whose instances aren't STANDARD-INSTANCEs.) More accurately, we care about whether STD-INSTANCE-CLASS-CELL-TYPEP - which also handles BASIC-STREAMs - can be used for TYPEP, and this whole thing would go away if we made CLASS-CELL-TYPEP a little smarter about finding the object's class wrapper when it's easy to do so - when the object's a STANDARD-INSTANCE or BASIC-STREAM, for ... uh ... instance.

Fixes ticket:974 .

Note: See TracTickets for help on using tickets.