Hi Niels, Le 6 mai 2011 à 20:33, Niels Grewe a écrit :
> Hello Quentin, > > On Fri, May 06, 2011 at 06:33:22PM +0200, Quentin Mathé wrote: >> Do you have an idea to get this working on both Mac OS X and GNUstep in the >> same correct way? > > I had another look and I think I know what the problem is. In > -primitiveMethodSignatureForSelector: (line 1036), we are calling > +instanceMethodSignatureForSelector: on NSObject. Hence, the method > declared on ETCollectionMutationFilterProxy is not considered. > > So the funny question is not why it doesn't work on OS X, but why it > works on GNUstep. Or rather, why it did work, because the empty > collection test is failing for me with a fresh checkout. I finally worked out a fix for this issue. I was hoping to figure out a better solution than a category on NSObject, but it's more tricky than I expected as explained in the code comment. See http://svn.gna.org/viewcvs/etoile?rev=7064&view=rev The thing I don't understand though is why the method body is not empty for - (uintptr_t)pointerSizedProxyNull { if ([collection isEmpty]) { return 0; } NSInvocation *inv = [NSInvocation invocationWithTarget: self selector: _cmd arguments: nil]; uintptr_t retValue = 0; [self forwardInvocation: inv]; [inv getReturnValue: &retValue]; return retValue; } Because when I run the test suite, this code is never executed. Cheers, Quentin. _______________________________________________ Etoile-dev mailing list Etoile-dev@gna.org https://mail.gna.org/listinfo/etoile-dev