From 725a53f6da8884f7a2047036fa94af2d05315a1a Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Mon, 28 Mar 2011 14:56:45 +0000 Subject: [PATCH] Bug 339501: NPE in Call Hierarchy. --- .../eclipse/cdt/internal/ui/callhierarchy/CHQueries.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/callhierarchy/CHQueries.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/callhierarchy/CHQueries.java index 0bbfa8ed39d..d4565918266 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/callhierarchy/CHQueries.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/callhierarchy/CHQueries.java @@ -28,6 +28,7 @@ import org.eclipse.cdt.core.index.IIndexName; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.core.model.ISourceReference; +import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.internal.core.dom.parser.cpp.ClassTypeHelper; import org.eclipse.cdt.internal.core.model.ext.ICElementHandle; @@ -57,7 +58,11 @@ public class CHQueries { boolean done= false; int linkageID= node.getLinkageID(); if (linkageID == -1) { - final String ct = ((ISourceReference) callee).getTranslationUnit().getContentTypeId(); + final ITranslationUnit tu = ((ISourceReference) callee).getTranslationUnit(); + if (tu == null) + return EMPTY_NODES; + + final String ct = tu.getContentTypeId(); if (ct.equals(CCorePlugin.CONTENT_TYPE_CXXHEADER)) { // bug 260262: in a header file we need to consider c and c++ findCalledBy(callee, ILinkage.C_LINKAGE_ID, index, result);