diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java index bcfcff91e39..a8111ee3ed5 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java @@ -354,7 +354,10 @@ public class ClassTypeHelper { } public static ICPPMethod[] getImplicitMethods(ICPPClassType classType, IASTNode point) { - IScope scope = classType.getCompositeScope(); + return getImplicitMethods(classType.getCompositeScope(), point); + } + + public static ICPPMethod[] getImplicitMethods(IScope scope, IASTNode point) { if (scope instanceof ICPPClassSpecializationScope) { return ((ICPPClassSpecializationScope) scope).getImplicitMethods(point); } else if (scope instanceof ICPPClassScope) { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java index 48b114c94db..452733fd3f6 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java @@ -648,7 +648,7 @@ class PDOMCPPLinkage extends PDOMLinkage implements IIndexCPPBindingConstants { if (type instanceof ICPPClassType) { ArrayUtil.addAll(old, ClassTypeHelper.getImplicitMethods((ICPPClassType) type, point)); } - ICPPMethod[] implicit= ((ICPPClassScope) scope).getImplicitMethods(); + ICPPMethod[] implicit= ClassTypeHelper.getImplicitMethods(scope, point); for (ICPPMethod method : implicit) { if (!(method instanceof IProblemBinding)) { PDOMBinding pdomBinding= adaptBinding(method);