[cfe-commits] r49699 - in /cfe/trunk: Driver/ASTConsumers.cpp include/clang/AST/DeclObjC.h include/clang/Parse/Action.h include/clang/Parse/Parser.h lib/AST/DeclObjC.cpp lib/Parse/ParseObjc.cpp lib/Sema/Sema.h lib/Sema/SemaDeclObjC.cpp
Chris Lattner
clattner at apple.com
Wed Apr 16 13:24:52 PDT 2008
On Apr 16, 2008, at 11:48 AM, Fariborz Jahanian wrote:
>
> On Apr 15, 2008, at 8:24 PM, Chris Lattner wrote:
>>
>> On Apr 15, 2008, at 5:17 PM, Steve Naroff wrote:
>>> On Apr 15, 2008, at 4:47 PM, Chris Lattner wrote:
>>>>
>>>> Ok, I guess what I'm getting at is that it would be nice for
>>>> interfaces to have a single list of "stuff in them", which would
>>>> include ivars and properties. Maybe there should be a class
>>>> below FieldDecl that PropertyDecl and FieldDecl both inherit from?
>>>>
>>>> I admit I'm out of my league here, Steve what do you think?
>>>>
>>>
>>> I don't think it makes sense for ObjCPropertyDecl to inherit from
>>> FieldDecl (BitWidth doesn't make sense).
>>>
>>> To some degree, I think the AST's reflect ObjC's adhoc syntax.
>>> Instance variables are modeled directly after structure fields
>>> (which is reflected in the hierarchy). On the other hand, methods
>>> are modeled loosely after Smalltalk...no relation to C-style decls
>>> (so they inherit from Decl). Properties are somewhere in the
>>> middle...they use C-style naming to access setter/getter methods
>>> (largely syntactic sugar). The only common super type is Decl,
>>> which I don't see a problem with (for the moment, at least).
>>
>> Ok, fair enough! Thanks. Next (potentially silly) question:
>> ObjCInterfaceDecl currently has a list of ivars and a list of
>> properties, should it be changed to have a list of Decl*'s that can
>> be either ivars or properties? I don't have an opinion either way,
>> I just want to know what you guys think. ObjCInterfaceDecl has a
>> lot of stuff in it :)
>
> I would say no. They are distinct and unrelated entities and IMO,
> belong on separate lists.
Ok! Thanks for humoring me :)
-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20080416/31ab039b/attachment.html>
More information about the cfe-commits
mailing list