diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java index ae55002ba98..9d1cf787526 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java @@ -303,9 +303,11 @@ public class EvalID extends CPPEvaluation { if (templateArgs == fTemplateArgs && fieldOwner == fFieldOwner && nameOwner == fNameOwner) return this; - ICPPEvaluation eval = resolveName((ICPPClassType) nameOwner, templateArgs, point); - if (eval != null) - return eval; + if (nameOwner instanceof ICPPClassType) { + ICPPEvaluation eval = resolveName((ICPPClassType) nameOwner, templateArgs, point); + if (eval != null) + return eval; + } return new EvalID(fieldOwner, nameOwner, fName, fAddressOf, fQualified, templateArgs); }