[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
Fariborz Jahanian
fjahanian at apple.com
Wed Apr 16 11:48:07 PDT 2008
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.
- Fariborz
>
> -Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20080416/572a559e/attachment.html>
More information about the cfe-commits
mailing list