<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 31, 2014 at 11:19 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=dblaikie@gmail.com&cc=&bcc=&su=&body=','_blank');return false;" class="cremed">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Fri, Oct 31, 2014 at 11:17 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=dblaikie@gmail.com&cc=&bcc=&su=&body=','_blank');return false;" class="cremed">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Again reminds me that maybe an iterator idiom for typo corrections might be nice<br><br>(then peaking would be "std::next(i)->...")</div></blockquote></span><div><br>But that's up to you when/how you want to address that - given the current design, this looks plausible.<br><br>If there's a nice way to implement this function without having to change the object's internal state and then change it back, that'd be great (can the guts of getNextCorrection be factored in such a way as you could call "nextCorrectionIndex" as a non-mutating operation, then just use that to lookup the ValidatedCorrections array? Then the original getNextCorrection function could be something like CurrentTCIndex = nextCorrectionIndex(... ))<br></div></div></div></div></blockquote><div><br></div><div>This kind of thing (discovering a new piece of functionality that is needed, or that something has to be done differently) is exactly why I wanted to get most of the delayed typo correction usage fleshed out and working before refactoring the Consumer. ;) Though peeking would be necessity change the Consumer's state because generating the next correction candidate is done lazily, at least the first time through the correction stream... and since multiple passes through the correction stream are only ever necessary when there are multiple TypoExprs within the same expression (and even then, not always needed), I'd prefer keeping the laziness as much as possible.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Wed, Oct 29, 2014 at 12:49 PM, Kaelyn Takata <span dir="ltr"><<a href="mailto:rikka@google.com" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=rikka@google.com&cc=&bcc=&su=&body=','_blank');return false;" class="cremed">rikka@google.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>---<br>
 include/clang/Sema/SemaInternal.h | 15 +++++++++++++++<br>
 1 file changed, 15 insertions(+)<br>
<br>
<br></div></div>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=cfe-commits@cs.uiuc.edu&cc=&bcc=&su=&body=','_blank');return false;" class="cremed">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank" class="cremed">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div><br></div>
</blockquote></span></div><br></div></div>
</blockquote></div><br></div></div>