Index: TypeBinding.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeBinding.java,v retrieving revision 1.63 diff -u -r1.63 TypeBinding.java --- TypeBinding.java 15 Nov 2004 19:22:24 -0000 1.63 +++ TypeBinding.java 19 Nov 2004 02:03:38 -0000 @@ -481,13 +481,15 @@ 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(); + 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(); + ICompilationUnit cu = getCompilationUnit(fileName); if (cu == null) return null; if (!(this.resolver instanceof DefaultBindingResolver)) return null; DefaultBindingResolver bindingResolver = (DefaultBindingResolver) this.resolver; @@ -504,7 +506,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 {