diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-03-31 13:56:28 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-03-31 13:56:28 +0200 |
commit | 8f84f81e6d319404ef549726c62fdbef1d699df0 (patch) | |
tree | cc741aefc751704c881ed196f17e2d5bf40a7a2d /src/shared/cplusplus/CheckDeclaration.cpp | |
parent | 3b04247689df6bb39c24497adda228ba93866dea (diff) | |
download | qt-creator-8f84f81e6d319404ef549726c62fdbef1d699df0.tar.gz |
Introduced startOffset(), endOffset(), getPosition(), getStartPosition(), and getEndPosition().
Diffstat (limited to 'src/shared/cplusplus/CheckDeclaration.cpp')
-rw-r--r-- | src/shared/cplusplus/CheckDeclaration.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/shared/cplusplus/CheckDeclaration.cpp b/src/shared/cplusplus/CheckDeclaration.cpp index c6de2cf4aa..c508110167 100644 --- a/src/shared/cplusplus/CheckDeclaration.cpp +++ b/src/shared/cplusplus/CheckDeclaration.cpp @@ -55,6 +55,7 @@ #include "CoreTypes.h" #include "Symbols.h" #include "Control.h" +#include "Literals.h" #include <cassert> CPLUSPLUS_BEGIN_NAMESPACE @@ -186,6 +187,9 @@ bool CheckDeclaration::visit(SimpleDeclarationAST *ast) } Declaration *symbol = control()->newDeclaration(location, name); + symbol->setStartOffset(tokenAt(ast->firstToken()).offset); + symbol->setEndOffset(tokenAt(ast->lastToken()).offset); + symbol->setType(control()->integerType(IntegerType::Int)); symbol->setType(declTy); @@ -259,6 +263,8 @@ bool CheckDeclaration::visit(FunctionDefinitionAST *ast) } Function *fun = funTy->asFunctionType(); + fun->setStartOffset(tokenAt(ast->firstToken()).offset); + fun->setEndOffset(tokenAt(ast->lastToken()).offset); if (ast->declarator) fun->setSourceLocation(ast->declarator->firstToken()); fun->setName(name); @@ -335,6 +341,8 @@ bool CheckDeclaration::visit(NamespaceAST *ast) sourceLocation = ast->identifier_token; Namespace *ns = control()->newNamespace(sourceLocation, namespaceName); + ns->setStartOffset(tokenAt(ast->firstToken()).offset); + ns->setEndOffset(tokenAt(ast->lastToken()).offset); ast->symbol = ns; _scope->enterSymbol(ns); semantic()->check(ast->linkage_body, ns->members()); // ### we'll do the merge later. |