From 3b113a2d7449344ef51e908c5a7d85e5a9eecdcc Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Thu, 20 May 2010 13:44:38 +0200 Subject: [PATCH] Deprecate the old template instantiation. --- ...e.cpp => DeprecatedGenTemplateInstance.cpp} | 18 +++++++++--------- ...tance.h => DeprecatedGenTemplateInstance.h} | 10 +++++----- src/libs/cplusplus/LookupContext.cpp | 2 +- src/libs/cplusplus/ResolveExpression.cpp | 6 +++--- src/libs/cplusplus/cplusplus-lib.pri | 4 ++-- tests/auto/cplusplus/semantic/tst_semantic.cpp | 4 ++-- 6 files changed, 22 insertions(+), 22 deletions(-) rename src/libs/cplusplus/{GenTemplateInstance.cpp => DeprecatedGenTemplateInstance.cpp} (93%) rename src/libs/cplusplus/{GenTemplateInstance.h => DeprecatedGenTemplateInstance.h} (86%) diff --git a/src/libs/cplusplus/GenTemplateInstance.cpp b/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp similarity index 93% rename from src/libs/cplusplus/GenTemplateInstance.cpp rename to src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp index a9191461e13..760d8bce4ec 100644 --- a/src/libs/cplusplus/GenTemplateInstance.cpp +++ b/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp @@ -27,7 +27,7 @@ ** **************************************************************************/ -#include "GenTemplateInstance.h" +#include "DeprecatedGenTemplateInstance.h" #include "Overview.h" #include <Control.h> @@ -47,7 +47,7 @@ namespace { class ApplySubstitution { public: - ApplySubstitution(Control *control, Symbol *symbol, const GenTemplateInstance::Substitution &substitution); + ApplySubstitution(Control *control, Symbol *symbol, const DeprecatedGenTemplateInstance::Substitution &substitution); ~ApplySubstitution(); inline Control *control() const { return _control; } @@ -311,13 +311,13 @@ private: public: // attributes Control *_control; Symbol *symbol; - GenTemplateInstance::Substitution substitution; + DeprecatedGenTemplateInstance::Substitution substitution; ApplyToType applyToType; ApplyToName applyToName; }; ApplySubstitution::ApplySubstitution(Control *control, Symbol *symbol, - const GenTemplateInstance::Substitution &substitution) + const DeprecatedGenTemplateInstance::Substitution &substitution) : _control(control), symbol(symbol), substitution(substitution), applyToType(this), applyToName(this) @@ -363,24 +363,24 @@ FullySpecifiedType ApplySubstitution::applySubstitution(int index) const } // end of anonymous namespace -GenTemplateInstance::GenTemplateInstance(Control *control, const Substitution &substitution) +DeprecatedGenTemplateInstance::DeprecatedGenTemplateInstance(Control *control, const Substitution &substitution) : _symbol(0), _control(control), _substitution(substitution) { } -FullySpecifiedType GenTemplateInstance::gen(Symbol *symbol) +FullySpecifiedType DeprecatedGenTemplateInstance::gen(Symbol *symbol) { ApplySubstitution o(_control, symbol, _substitution); return o.apply(symbol->type()); } -FullySpecifiedType GenTemplateInstance::instantiate(const Name *className, Symbol *candidate, Control *control) +FullySpecifiedType DeprecatedGenTemplateInstance::instantiate(const Name *className, Symbol *candidate, Control *control) { if (className) { if (const TemplateNameId *templId = className->asTemplateNameId()) { if (Class *klass = candidate->enclosingSymbol()->asClass()) { - GenTemplateInstance::Substitution subst; + DeprecatedGenTemplateInstance::Substitution subst; for (unsigned i = 0; i < templId->templateArgumentCount(); ++i) { FullySpecifiedType templArgTy = templId->templateArgumentAt(i); @@ -395,7 +395,7 @@ FullySpecifiedType GenTemplateInstance::instantiate(const Name *className, Symbo } } - GenTemplateInstance inst(control, subst); + DeprecatedGenTemplateInstance inst(control, subst); return inst.gen(candidate); } } diff --git a/src/libs/cplusplus/GenTemplateInstance.h b/src/libs/cplusplus/DeprecatedGenTemplateInstance.h similarity index 86% rename from src/libs/cplusplus/GenTemplateInstance.h rename to src/libs/cplusplus/DeprecatedGenTemplateInstance.h index 8d186341dcb..5d19b807b9f 100644 --- a/src/libs/cplusplus/GenTemplateInstance.h +++ b/src/libs/cplusplus/DeprecatedGenTemplateInstance.h @@ -27,8 +27,8 @@ ** **************************************************************************/ -#ifndef GENTEMPLATEINSTANCE_H -#define GENTEMPLATEINSTANCE_H +#ifndef CPLUSPLUS_DEPRECATEDGENTEMPLATEINSTANCE_H +#define CPLUSPLUS_DEPRECATEDGENTEMPLATEINSTANCE_H #include <TypeVisitor.h> #include <NameVisitor.h> @@ -41,7 +41,7 @@ namespace CPlusPlus { -class CPLUSPLUS_EXPORT GenTemplateInstance +class CPLUSPLUS_EXPORT DeprecatedGenTemplateInstance { public: typedef QList< QPair<const Identifier *, FullySpecifiedType> > Substitution; @@ -50,7 +50,7 @@ public: static FullySpecifiedType instantiate(const Name *className, Symbol *candidate, Control *control); private: - GenTemplateInstance(Control *control, const Substitution &substitution); + DeprecatedGenTemplateInstance(Control *control, const Substitution &substitution); FullySpecifiedType gen(Symbol *symbol); private: @@ -61,4 +61,4 @@ private: } // end of namespace CPlusPlus -#endif // GENTEMPLATEINSTANCE_H +#endif // CPLUSPLUS_DEPRECATEDGENTEMPLATEINSTANCE_H diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index 29016a0d0a9..ec1a086b454 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -31,7 +31,7 @@ #include "ResolveExpression.h" #include "Overview.h" #include "CppBindings.h" -#include "GenTemplateInstance.h" +#include "DeprecatedGenTemplateInstance.h" #include <CoreTypes.h> #include <Symbols.h> diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index be0d0739b0f..dc7ccbf04c8 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -30,7 +30,7 @@ #include "ResolveExpression.h" #include "LookupContext.h" #include "Overview.h" -#include "GenTemplateInstance.h" +#include "DeprecatedGenTemplateInstance.h" #include <Control.h> #include <AST.h> @@ -604,7 +604,7 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &bas foreach (Symbol *overload, binding->find(arrowOp)) { if (overload->type()->isFunctionType()) { - FullySpecifiedType overloadTy = GenTemplateInstance::instantiate(binding->templateId(), overload, control()); + FullySpecifiedType overloadTy = DeprecatedGenTemplateInstance::instantiate(binding->templateId(), overload, control()); Function *instantiatedFunction = overloadTy->asFunctionType(); Q_ASSERT(instantiatedFunction != 0); @@ -641,7 +641,7 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &bas FullySpecifiedType ResolveExpression::instantiate(const Name *className, Symbol *candidate) const { - return GenTemplateInstance::instantiate(className, candidate, _context.control()); + return DeprecatedGenTemplateInstance::instantiate(className, candidate, _context.control()); } bool ResolveExpression::visit(PostIncrDecrAST *) diff --git a/src/libs/cplusplus/cplusplus-lib.pri b/src/libs/cplusplus/cplusplus-lib.pri index cdd03b7b4f0..07bf9493419 100644 --- a/src/libs/cplusplus/cplusplus-lib.pri +++ b/src/libs/cplusplus/cplusplus-lib.pri @@ -39,7 +39,7 @@ HEADERS += \ $$PWD/DeprecatedLookupContext.h \ $$PWD/CppBindings.h \ $$PWD/ASTParent.h \ - $$PWD/GenTemplateInstance.h \ + $$PWD/DeprecatedGenTemplateInstance.h \ $$PWD/FindUsages.h \ $$PWD/CheckUndefinedSymbols.h \ $$PWD/DependencyTable.h \ @@ -66,7 +66,7 @@ SOURCES += \ $$PWD/DeprecatedLookupContext.cpp \ $$PWD/CppBindings.cpp \ $$PWD/ASTParent.cpp \ - $$PWD/GenTemplateInstance.cpp \ + $$PWD/DeprecatedGenTemplateInstance.cpp \ $$PWD/FindUsages.cpp \ $$PWD/CheckUndefinedSymbols.cpp \ $$PWD/DependencyTable.cpp \ diff --git a/tests/auto/cplusplus/semantic/tst_semantic.cpp b/tests/auto/cplusplus/semantic/tst_semantic.cpp index 1fe9dc18394..85e7004eb72 100644 --- a/tests/auto/cplusplus/semantic/tst_semantic.cpp +++ b/tests/auto/cplusplus/semantic/tst_semantic.cpp @@ -15,7 +15,7 @@ #include <Names.h> #include <Literals.h> #include <DiagnosticClient.h> -#include <GenTemplateInstance.h> +#include <DeprecatedGenTemplateInstance.h> #include <Overview.h> #include <ExpressionUnderCursor.h> #include <Names.h> @@ -436,7 +436,7 @@ void tst_Semantic::template_instance_1() FullySpecifiedType templArgs[] = { control.integerType(IntegerType::Int) }; const Name *templId = control.templateNameId(control.findOrInsertIdentifier("QList"), templArgs, 1); - FullySpecifiedType genTy = GenTemplateInstance::instantiate(templId, decl, &control); + FullySpecifiedType genTy = DeprecatedGenTemplateInstance::instantiate(templId, decl, &control); Overview oo; oo.setShowReturnTypes(true); -- GitLab