[cfe-dev] Message send to super
Steve Naroff
snaroff at apple.com
Mon May 5 11:22:40 PDT 2008
Hi David,
As Chris said, this isn't great. The AST reflects a "quick hack" to
avoid making API changes (which required more thought). I should have
put a FIXME in the code.
Are you going to clean this up? If not, I am happy to put it on my
todo list.
Let me know,
snaroff
On May 2, 2008, at 5:15 PM, David Chisnall wrote:
> Hi,
>
> It appears that, in generating the AST, the following expression:
>
> [super msg];
>
> is being translated to:
>
> [(superclass*)self msg];
>
> Running clang -ast-print confirms this. These two expressions have
> completely different semantics in Objective-C, and since there appears
> to be no way of determining whether the user actually performed a cast
> on self (which is uncommon, but does happen in real code) or sent a
> message to super (which happens a lot more frequently).
>
> Can anyone suggest a way of distinguishing these two? If not, is it
> possible to introduce a separate kind of AST node, or a flag in the
> ObjCMessageExpr indicating if super is the receiver? I have now
> written the code to produce the correct output for the GNU runtime
> with this kind of expression, but am currently unable to connect it to
> anything.
>
> David
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
More information about the cfe-dev
mailing list