<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Jordan,<div class=""><br class=""></div><div class="">Does the attached patch look OK?</div><div class=""><br class=""><div class=""><div><blockquote type="cite" class=""><div class="">On Mar 18, 2016, at 1:19 PM, Jordan Rose <<a href="mailto:jordan_rose@apple.com" class="">jordan_rose@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">No, that case worked already. The case you fixed is the one where Base is 'foo' and Property is 'prop'…and actually, thinking more about it, this should <i class="">not</i> be considered "exact". *sigh* The point of "exact" is "if you see this Base and Property again, are you sure it's really the same Base?". I thought the answer was yes because the receiver is a class and the property identifies the class, but unfortunately it could be a subclass (i.e. "NSResponder.classProp.prop" vs. "NSView.classProp.prop"). These might use the same declaration (and even definition) for 'classProp' but nonetheless return different values.</div><div class=""><br class=""></div><div class="">We could ignore this whole thing if we stored an arbitrary-length key, but there's diminishing returns there and this is already not a cheap check.</div><div class=""><br class=""></div><div class="">Please change it to set IsExact to false (and update the table).</div><div class=""><br class=""></div><div class="">Jordan</div><div class=""><br class=""></div><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Mar 18, 2016, at 12:21 , Akira Hatanaka <<a href="mailto:ahatanaka@apple.com" class="">ahatanaka@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Thanks Jordan. I’ve committed the patch in r263818.<br class=""><br class="">I didn’t understand your comment on WeakObjectProfileTy’s table (I’m assuming you are talking about the table in ScopeInfo.h:183). It looks like the entry MyClass.prop in the table already covers the case this patch fixed (in the test case I added, Base is NSBundle and Property is the method “foo”)?<br class=""><br class=""><blockquote type="cite" class="">On Mar 18, 2016, at 9:55 AM, Jordan Rose via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" class="">cfe-commits@lists.llvm.org</a>> wrote:<br class=""><br class="">jordan_rose accepted this revision.<br class="">jordan_rose added a comment.<br class="">This revision is now accepted and ready to land.<br class=""><br class="">Ah, of course! Thanks for catching this, Akira. Can you add this case to the table in the doc comment for WeakObjectProfileTy? (That's how I convinced myself it was correct.)<br class=""><br class=""><br class=""><a href="http://reviews.llvm.org/D18268" class="">http://reviews.llvm.org/D18268</a><br class=""><br class=""><br class=""><br class="">_______________________________________________<br class="">cfe-commits mailing list<br class=""><a href="mailto:cfe-commits@lists.llvm.org" class="">cfe-commits@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits<br class=""></blockquote><br class=""></div></div></blockquote></div><br class=""></div></div></blockquote></div></div></div></body></html>