Made the error recovering more robust.

This commit is contained in:
Roberto Raggi
2010-01-28 16:29:45 +01:00
parent da81d59e24
commit 6fe1f5b96c
3 changed files with 17 additions and 30 deletions

View File

@@ -397,27 +397,29 @@ protected:
virtual bool visit(AST::UiObjectBinding *ast)
{
_ranges.append(createRange(ast));
if (ast->initializer)
_ranges.append(createRange(ast, ast->initializer));
return true;
}
virtual bool visit(AST::UiObjectDefinition *ast)
{
_ranges.append(createRange(ast));
if (ast->initializer)
_ranges.append(createRange(ast, ast->initializer));
return true;
}
Range createRange(AST::UiObjectMember *ast)
Range createRange(AST::UiObjectMember *member, AST::UiObjectInitializer *ast)
{
Range range;
range.ast = ast;
range.ast = member;
range.begin = QTextCursor(_textDocument);
range.begin.setPosition(ast->firstSourceLocation().begin());
range.begin.setPosition(ast->lbraceToken.begin());
range.end = QTextCursor(_textDocument);
range.end.setPosition(ast->lastSourceLocation().end());
range.end.setPosition(ast->rbraceToken.end());
return range;
}
};