From 84add6a4bd5a60cc006aeb2f589180f8e8dd6273 Mon Sep 17 00:00:00 2001 From: Michi Date: Tue, 30 Dec 2014 14:09:24 +0100 Subject: [PATCH] Bug 456340 ClassCastException when typedef refers to basic type Change-Id: If1a65f6160e9398e1c40df194281414a4e422036 Signed-off-by: Michi Reviewed-on: https://git.eclipse.org/r/38845 Reviewed-by: Sergey Prigogin Tested-by: Sergey Prigogin --- .../internal/core/dom/parser/cpp/CPPASTQualifiedName.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java index b04a84a8b1f..9cddedfafe7 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java @@ -333,7 +333,12 @@ public class CPPASTQualifiedName extends CPPASTNameBase while (binding instanceof ITypedef) { ITypedef typedef = (ITypedef) binding; - binding = (IBinding) typedef.getType(); + IType type = typedef.getType(); + if (type instanceof IBinding) { + binding = (IBinding) type; + } else { + binding = null; + } } if (binding instanceof ICPPClassType) {