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