Index: compiler/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.java,v retrieving revision 1.34 diff -u -r1.34 LocalTypeBinding.java --- compiler/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.java 29 Apr 2005 15:56:21 -0000 1.34 +++ compiler/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.java 14 Jun 2005 16:40:22 -0000 @@ -98,6 +98,21 @@ return localArrayBindings[length] = new ArrayBinding(this, dimensionCount, scope.environment()); } +/* + * Overriden for code assist. In this case, the constantPoolName() has not been computed yet. + * Slam the source name so that the signature is syntactically correct. + * (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=99686) + */ +public char[] genericTypeSignature() { + if (this.genericReferenceTypeSignature == null && constantPoolName() == null) { + if (isAnonymousType()) + setConstantPoolName(superclass().sourceName()); + else + setConstantPoolName(sourceName()); + } + return super.genericTypeSignature(); +} + public char[] readableName() /*java.lang.Object, p.X */ { char[] readableName; if (isAnonymousType()) {