Index: TypeBinding.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeBinding.java,v retrieving revision 1.64 diff -u -r1.64 TypeBinding.java --- TypeBinding.java 19 Nov 2004 14:10:39 -0000 1.64 +++ TypeBinding.java 19 Nov 2004 20:08:34 -0000 @@ -327,13 +327,17 @@ if (this.binding == null || this.binding.isArrayType() || this.binding.isBaseType()) return null; ReferenceBinding referenceBinding = (ReferenceBinding) this.binding; if (referenceBinding.isBinaryBinding()) { - ClassFile classFile = (ClassFile) getClassFile(referenceBinding.getFileName()); + final char[] fileName = referenceBinding.getFileName(); + if (fileName == null) return null; + ClassFile classFile = (ClassFile) getClassFile(fileName); if (classFile == null) return null; return classFile.getType(); } if (referenceBinding.isLocalType() || referenceBinding.isAnonymousType()) { // local or anonymous type - ICompilationUnit cu = getCompilationUnit(referenceBinding.getFileName()); + final char[] fileName = referenceBinding.getFileName(); + if (fileName == null) return null; + ICompilationUnit cu = getCompilationUnit(fileName); if (cu == null) return null; if (!(this.resolver instanceof DefaultBindingResolver)) return null; DefaultBindingResolver bindingResolver = (DefaultBindingResolver) this.resolver; @@ -350,7 +354,9 @@ ITypeBinding declaringTypeBinding = getDeclaringClass(); if (declaringTypeBinding == null) { // top level type - ICompilationUnit cu = getCompilationUnit(referenceBinding.getFileName()); + final char[] fileName = referenceBinding.getFileName(); + if (fileName == null) return null; + ICompilationUnit cu = getCompilationUnit(fileName); if (cu == null) return null; return cu.getType(new String(referenceBinding.sourceName())); } else {