diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-06-25 11:02:02 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-06-25 12:48:55 +0200 |
commit | 27f92695cff70da2f6cb3effb5a8e12682bf3a37 (patch) | |
tree | 118502c10f127509c3450513c4c7085e94c94141 /src/shared/cplusplus/CheckStatement.cpp | |
parent | 44d8b28a9f444e7cd29a5575e7b2fdabcbad815f (diff) | |
download | qt-creator-27f92695cff70da2f6cb3effb5a8e12682bf3a37.tar.gz |
Initial work on smart highlight of local symbols. For-statements and symbols genarated from a macro expansion are not yet highlighted.
Diffstat (limited to 'src/shared/cplusplus/CheckStatement.cpp')
-rw-r--r-- | src/shared/cplusplus/CheckStatement.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/shared/cplusplus/CheckStatement.cpp b/src/shared/cplusplus/CheckStatement.cpp index 433dc5c873..0d7bced86e 100644 --- a/src/shared/cplusplus/CheckStatement.cpp +++ b/src/shared/cplusplus/CheckStatement.cpp @@ -144,6 +144,8 @@ bool CheckStatement::visit(ExpressionStatementAST *ast) bool CheckStatement::visit(ForStatementAST *ast) { Block *block = control()->newBlock(ast->for_token); + block->setStartOffset(tokenAt(ast->firstToken()).offset); + block->setEndOffset(tokenAt(ast->lastToken()).offset); ast->symbol = block; _scope->enterSymbol(block); Scope *previousScope = switchScope(block->members()); @@ -158,6 +160,8 @@ bool CheckStatement::visit(ForStatementAST *ast) bool CheckStatement::visit(IfStatementAST *ast) { Block *block = control()->newBlock(ast->if_token); + block->setStartOffset(tokenAt(ast->firstToken()).offset); + block->setEndOffset(tokenAt(ast->lastToken()).offset); ast->symbol = block; _scope->enterSymbol(block); Scope *previousScope = switchScope(block->members()); @@ -198,6 +202,8 @@ bool CheckStatement::visit(ReturnStatementAST *ast) bool CheckStatement::visit(SwitchStatementAST *ast) { Block *block = control()->newBlock(ast->switch_token); + block->setStartOffset(tokenAt(ast->firstToken()).offset); + block->setEndOffset(tokenAt(ast->lastToken()).offset); ast->symbol = block; _scope->enterSymbol(block); Scope *previousScope = switchScope(block->members()); @@ -219,6 +225,8 @@ bool CheckStatement::visit(TryBlockStatementAST *ast) bool CheckStatement::visit(CatchClauseAST *ast) { Block *block = control()->newBlock(ast->catch_token); + block->setStartOffset(tokenAt(ast->firstToken()).offset); + block->setEndOffset(tokenAt(ast->lastToken()).offset); ast->symbol = block; _scope->enterSymbol(block); Scope *previousScope = switchScope(block->members()); @@ -231,6 +239,8 @@ bool CheckStatement::visit(CatchClauseAST *ast) bool CheckStatement::visit(WhileStatementAST *ast) { Block *block = control()->newBlock(ast->while_token); + block->setStartOffset(tokenAt(ast->firstToken()).offset); + block->setEndOffset(tokenAt(ast->lastToken()).offset); ast->symbol = block; _scope->enterSymbol(block); Scope *previousScope = switchScope(block->members()); |