From 883aa17ba0de8466b537fc5b03040d231a8c6914 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Wed, 14 May 2008 10:54:30 +0000 Subject: [PATCH] Bindings for method-definitions of class templates with non-type parameters, bug 231868. --- .../core/dom/parser/cpp/semantics/CPPSemantics.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java index 27af75bb0f9..c0c3f58bd7a 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java @@ -308,9 +308,13 @@ public class CPPSemantics { final ObjectMap argMap = deferred.getArgumentMap(); if (argMap != null) { for (int i = 0; useOriginal && i < argMap.size(); i++) { - if (!argMap.keyAt(i).equals(argMap.getAt(i))) { - useOriginal= false; - break; + final Object key = argMap.keyAt(i); + if (!key.equals(argMap.getAt(i))) { + // bug 231868 non type parameters are modeled via their type :-( + if (key instanceof ICPPTemplateNonTypeParameter == false) { + useOriginal= false; + break; + } } } }