diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2011-03-28 13:21:37 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2011-05-17 11:45:47 +0200 |
commit | 9608af7ad2c7a234f2665d70487edcdad17925e8 (patch) | |
tree | a9307ce7d36189470c57f00377c8551f0707c67b /src/libs/3rdparty/cplusplus/Symbol.cpp | |
parent | 670d241288d1ec5e4560e90c5b548ea4021d9acb (diff) | |
download | qt-creator-9608af7ad2c7a234f2665d70487edcdad17925e8.tar.gz |
Added support to C++ symbols rewriting.
This should simplify full C++ template instantiations.
Reviewed-by: Christian Kamm
Diffstat (limited to 'src/libs/3rdparty/cplusplus/Symbol.cpp')
-rw-r--r-- | src/libs/3rdparty/cplusplus/Symbol.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libs/3rdparty/cplusplus/Symbol.cpp b/src/libs/3rdparty/cplusplus/Symbol.cpp index 3810357670..b7caa001c9 100644 --- a/src/libs/3rdparty/cplusplus/Symbol.cpp +++ b/src/libs/3rdparty/cplusplus/Symbol.cpp @@ -28,6 +28,7 @@ #include "SymbolVisitor.h" #include "NameVisitor.h" #include "Scope.h" +#include "Templates.h" #include <cassert> using namespace CPlusPlus; @@ -102,6 +103,24 @@ Symbol::Symbol(TranslationUnit *translationUnit, unsigned sourceLocation, const setName(name); } +Symbol::Symbol(Clone *clone, Subst *subst, Symbol *original) + : _name(clone->name(original->_name, subst)), + _scope(0), + _next(0), + _fileId(clone->control()->stringLiteral(original->fileName(), original->fileNameLength())), + _sourceLocation(original->_sourceLocation), + _hashCode(original->_hashCode), + _storage(original->_storage), + _visibility(original->_visibility), + _index(0), + _line(original->_line), + _column(original->_column), + _isGenerated(original->_isGenerated), + _isDeprecated(original->_isDeprecated), + _isUnavailable(original->_isUnavailable) +{ +} + Symbol::~Symbol() { } |