<div dir="ltr"><div><div>+  if (TE && SemaRef.getLangOpts().CPlusPlus) {</div><div>+    // TODO: C cannot handle TypoExpr nodes because the C code paths do not know</div><div>+    // what to do with dependent types e.g. on the LHS of an assigment.</div>
</div><div>+    *TE = SemaRef.CorrectTypoDelayed(<br></div><div><br></div><div>Does this recover correctly if CorrectTypoDelayed returns nullptr? I'd have expected that you should carry on and produce an error in this case.</div>
<div><br></div><div><br></div><div>+        SemaRef.AddMethodCandidate(</div><div>+            DeclAccessPair::make(ND, AS_none), BaseType.getNonReferenceType(),</div><div>+            /*MemberRef.get()->Classify(SemaRef.Context)*/Expr::Classification::makeSimpleLValue(), Args, CandidateSet);</div>
<div><br></div><div>Commented-out code?</div><div><br></div><div><br></div><div><div>+      // Perform overload resolution.</div><div>+      OverloadCandidateSet::iterator Best;</div><div>+      auto result = CandidateSet.BestViableFunction(</div>
<div>+          SemaRef, CE->getLocStart(), Best);</div></div><div><br></div><div>Do you need to do this here? Can you instead simply build an unresolved overload set and allow the TreeTransform to do overload resolution when it transforms the parent, or is there some subtlety that makes this necessary?</div>
<div><br></div><div><br></div><div><div>+  something(obj.toobat,   // expected-error {{did you mean 'foobar'?}}</div><div>+            obj.toobat);  // expected-error {{did you mean 'toobad'?}}</div></div>
<div><br></div><div>I love this testcase =)</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 14, 2014 at 4:55 PM, Kaelyn Takata <span dir="ltr"><<a href="mailto:rikka@google.com" target="_blank">rikka@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
This includes adding the new TypoExpr-based lazy typo correction to<br>
LookupMemberExprInRecord as an alternative to the existing eager typo<br>
correction.<br>
---<br>
 lib/Sema/SemaExprMember.cpp              | 149 +++++++++++++++++++++++++++++--<br>
 test/SemaCXX/arrow-operator.cpp          |   5 +-<br>
 test/SemaCXX/typo-correction-delayed.cpp |  32 +++++++<br>
 test/SemaCXX/typo-correction-pt2.cpp     |   2 +-<br>
 test/SemaCXX/typo-correction.cpp         |  10 +--<br>
 5 files changed, 182 insertions(+), 16 deletions(-)<br>
 create mode 100644 test/SemaCXX/typo-correction-delayed.cpp<br>
<br>
<br>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div><br></div>