now we uniformly increment the read pointer only if we encountered a
terminator (which also implies that we were not at non-eol yet).
Task-number: QTCREATORBUG-5022
Change-Id: If4a4e7aec7423684297393fa10e50a69773b2048
Reviewed-on: http://codereview.qt.nokia.com/222
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
as far as possible, anyway. and suppress messages after the first one.
this avoids that scope nesting gets thrown off and thus spurious
followup-errors crop up.
as a "side effect", this fixes a crash resulting from us rewinding the
token stream but ignoring the block stack on the way.
Task-number: QTCREATORBUG-4368
this makes the value list sizehints more correct: instead of the number
of literals and expansions, it's now the number of actual words, and
that only if the expression starts with a literal (otherwise the
pre-allocation is discarded anyway).
the performance impact seems negligible, with qt being a tad slower and
creator a tad faster.
as a side effect, complaining about excess words in a test expression
does not immediately terminate the current line's parsing.
instead of erroring out the parse, only error out the evaluation in
exact mode. that way we can do cumulative evaluation even on broken
files.
Task-number: QTCREATORBUG-3093