From 02d30a64cb72583336d0c5abb2a1bd01b1073546 Mon Sep 17 00:00:00 2001 From: Andrew Niefer Date: Tue, 10 May 2005 17:30:50 +0000 Subject: [PATCH] types of class template implicit methods template A{}; gets a constructor A( const A & ); this was part of bug 71827 --- .../cdt/internal/core/dom/parser/cpp/CPPClassScope.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java index 05d9e2fd39a..33ff0e460c1 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java @@ -31,6 +31,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTOperatorName; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId; import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassScope; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassTemplate; import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPConstructor; import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod; @@ -73,7 +74,12 @@ public class CPPClassScope extends CPPScope implements ICPPClassScope { implicits = new ICPPMethod[4]; ICPPClassType clsType = (ICPPClassType) binding; - + if( clsType instanceof ICPPClassTemplate ){ + try { + clsType = (ICPPClassType) CPPTemplates.instantiateWithinClassTemplate( (ICPPClassTemplate) clsType ); + } catch ( DOMException e ) { + } + } char [] className = name.toCharArray(); //default constructor: A()