C++: fixed completion in braceless statements following a control statement.

- Changed generator to generate:
- Changed AST::lastToken to return 1 if there is none
- Changed Bind.cpp to set the scope of the block following a control
  statement to extend upto (and not including) the first token after
  the block. So basically, including any whitespace after the control
  statement.

Reviewed-by: Roberto Raggi
This commit is contained in:
Erik Verbruggen
2010-09-09 15:18:17 +02:00
parent 6afb8d4077
commit cacb0db0eb
5 changed files with 183 additions and 181 deletions

View File

@@ -67,7 +67,9 @@ bool ASTPath::preVisit(AST *ast)
unsigned firstToken = ast->firstToken();
unsigned lastToken = ast->lastToken();
if (firstToken > 0 && lastToken > firstToken) {
if (firstToken > 0) {
Q_ASSERT(lastToken > firstToken);
unsigned startLine, startColumn;
getTokenStartPosition(firstToken, &startLine, &startColumn);