Projects

Ticket #660 (closed defect: fixed)

Opened 22 months ago

Last modified 22 months ago

ER: Pointer needs a #cast for untyped pointers

Reported by: joshua.ballanco@… Owned by: lsansonetti@…
Priority: blocker Milestone: MacRuby 0.6
Component: MacRuby Keywords:
Cc:

Description

We need a method to change the type of a Pointer object. For example:

framework 'CoreData'

NSPersistentStoreCoordinator.alloc.init
ptr = NSPersistentStoreCoordinator.registeredStoreTypes[NSSQLiteStoreType].pointerValue
puts ptr.inspect
klass = ptr[0].migrationManagerClass
puts klass.inspect

...results in:

#<Pointer:0x40074e420>
undefined method `migrationManagerClass' for 40:Fixnum (NoMethodError)

Change History

Changed 22 months ago by lsansonetti@…

  • status changed from new to closed
  • resolution set to fixed
  • milestone set to MacRuby 0.6

I added the Pointer#cast! method in r3945 + specs in r3946. However in your case, I recommend using the following instead:

framework 'CoreData'

val = NSPersistentStoreCoordinator.registeredStoreTypes[NSSQLiteStoreType]
klass = val.nonretainedObjectValue
klass.migrationManagerClass
Note: See TracTickets for help on using tickets.