diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CVisitor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CVisitor.java index 088f42bf4d7..691b4897143 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CVisitor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CVisitor.java @@ -1906,10 +1906,13 @@ public class CVisitor { } } - IPDOM pdom = name.getTranslationUnit().getPDOM(); - if (pdom != null) - result = (IBinding[])ArrayUtil.addAll(IBinding.class, result, pdom.resolvePrefix(name)); - + IASTTranslationUnit tu = name.getTranslationUnit(); + if (tu != null) { + IPDOM pdom = tu.getPDOM(); + if (pdom != null) + result = (IBinding[])ArrayUtil.addAll(IBinding.class, result, pdom.resolvePrefix(name)); + } + return (IBinding[]) ArrayUtil.trim( IBinding.class, result ); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java index 6c27dfbbf00..b6679617de3 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java @@ -1878,7 +1878,7 @@ public class CPPSemantics { return ( pointOfDecl < ((ASTNode)node).getOffset() ); } - return false; + return true; // TODO - I changed this to true } static private IBinding resolveAmbiguities( CPPSemantics.LookupData data, IASTName name ) throws DOMException { @@ -3272,9 +3272,12 @@ public class CPPSemantics { } } - IPDOM pdom = name.getTranslationUnit().getPDOM(); - if (pdom != null) - result = (IBinding[])ArrayUtil.addAll(IBinding.class, result, pdom.resolvePrefix(name)); + IASTTranslationUnit tu = name.getTranslationUnit(); + if (tu != null) { + IPDOM pdom = tu.getPDOM(); + if (pdom != null) + result = (IBinding[])ArrayUtil.addAll(IBinding.class, result, pdom.resolvePrefix(name)); + } return (IBinding[]) ArrayUtil.trim( IBinding.class, result ); }