probablycorey/wax

Using a waxClass as superclass leads to infinite recursion

ryanschneider opened this issue · 0 comments

Basically it's an infinite recursion in wax_class.m::methodSignatureForSelector

I have something like so:

-- GenericTableViewController.lua
waxClass{"GenericTableViewController", UITableViewController, protocols = { ... } }

function init(self)
self.super:initWithStyle(UITableViewStylePlain)

...
end

-- NewAlbumsViewController.lua
waxClass{"NewAlbumsViewController", GenericViewController, protocols = { ... } }

function init(self)
self.super:init() -- <-- infinite recursion here
...
end

Basically it keeps calling methodSignatureForSelector infinitely.

The problem is this line:

signature = objc_msgSendSuper(&super, _cmd, selector);

In turn generates a call to methodSignatureForSelector(...), hence the infinite recursion.