<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Apr 16, 2008, at 11:48 AM, Fariborz Jahanian wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div>On Apr 15, 2008, at 8:24 PM, Chris Lattner wrote:<br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Apr 15, 2008, at 5:17 PM, Steve Naroff wrote:</div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Apr 15, 2008, at 4:47 PM, Chris Lattner wrote:</div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div>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?</div><div><br class="webkit-block-placeholder"></div><div>I admit I'm out of my league here, Steve what do you think?</div><div><br class="webkit-block-placeholder"></div></div></blockquote><div><br class="webkit-block-placeholder"></div><div>I don't think it makes sense for ObjCPropertyDecl to inherit from FieldDecl (BitWidth doesn't make sense).</div><div><br class="webkit-block-placeholder"></div>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).</div></div></blockquote><br></div><div>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.  <span class="Apple-style-span" style="font-family: Monaco; font-size: 10px; ">ObjCInterfaceDecl has a lot of stuff in it :)</span></div></div></blockquote><div><br></div>I would say no. They are distinct and unrelated entities and IMO, belong on separate lists.</div><div></div></div></blockquote></div><br><div>Ok!  Thanks for humoring me :)</div><div><br class="webkit-block-placeholder"></div><div>-Chris</div></body></html>