summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/CheckDeclaration.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-03-31 13:56:28 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2009-03-31 13:56:28 +0200
commit8f84f81e6d319404ef549726c62fdbef1d699df0 (patch)
treecc741aefc751704c881ed196f17e2d5bf40a7a2d /src/shared/cplusplus/CheckDeclaration.cpp
parent3b04247689df6bb39c24497adda228ba93866dea (diff)
downloadqt-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.cpp8
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.