diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassSpecialization.java index 572af360ee1..49b08a96e45 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassSpecialization.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassSpecialization.java @@ -85,7 +85,7 @@ public class CPPClassSpecialization extends CPPSpecialization implements ICPPBase specBinding = (ICPPBase) ((ICPPInternalBase)binding).clone(); IBinding base = binding.getBaseClass(); if (base instanceof IType) { - IType specBase = CPPTemplates.instantiateType((IType) base, argumentMap, getScope()); + IType specBase = CPPTemplates.instantiateType((IType) base, argumentMap, specScope); specBase = SemanticUtil.getUltimateType(specBase, false); if (specBase instanceof IBinding && !(specBase instanceof IProblemBinding)) { ((ICPPInternalBase)specBinding).setBaseClass((IBinding)specBase); @@ -105,7 +105,7 @@ public class CPPClassSpecialization extends CPPSpecialization implements bindings[i] = new CPPBaseClause(bases[i]); IBinding base = bindings[i].getBaseClass(); if (base instanceof IType) { - IType specBase = CPPTemplates.instantiateType((IType) base, argumentMap, null); + IType specBase = CPPTemplates.instantiateType((IType) base, argumentMap, specScope); if (specBase instanceof ICPPClassType) { ((CPPBaseClause) bindings[i]).setBaseClass((ICPPClassType) specBase); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java index f3df5aa737e..1fa4da23953 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java @@ -165,7 +165,7 @@ class PDOMCPPClassSpecialization extends PDOMCPPSpecialization implements ICPPBase specBase = (ICPPBase) ((ICPPInternalBase)origBase).clone(); IBinding origClass = origBase.getBaseClass(); if (origClass instanceof IType) { - IType specClass = CPPTemplates.instantiateType((IType) origClass, getArgumentMap(), getScope()); + IType specClass = CPPTemplates.instantiateType((IType) origClass, getArgumentMap(), this); specClass = SemanticUtil.getUltimateType(specClass, true); if (specClass instanceof IBinding) { ((ICPPInternalBase)specBase).setBaseClass((IBinding) specClass);