Some guy from PathScale told me that AMP headers doesn't contain subscriptable property. And I looked at ATL headers, neither do they. So for these purposed, subscriptable property is not necessary.<div>And I still think that subscriptable property is kind of messy...</div>
<div>So I only implement non-subscriptable property.</div><div><br></div><div>Brief:</div><div>- Add a MSPropertyDecl, parallel to FieldDecl. Now property is separated from Field.</div><div>- Add a MSPropertyRefExpr. It seems to be necessary, because we can't just create a PseudoObjectExpr.</div>
<div><br></div><div>Current status:</div><div>- Non-subscriptable property only.</div><div>- Property can be inherited.</div><div>- Get, Set, =, +=/-=/..., ++/-- works correctly.</div><div>- Property type can be incomplete type, as function return type.</div>
<div><br></div><div>Patch, and a "difficult" testcase attached.</div><div>I'm quite happy with this version, because it's much simpler and cleaner.</div><div>John - Thank you very much, for the MSPropertyDecl and PseudoObjectExpr tips. They are really crucial to this patch.</div>
<div><div><br></div>-- <br>Best Regards, Tong Shen (沈彤)
</div>