Index: compiler/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java,v retrieving revision 1.139 diff -u -r1.139 ReferenceBinding.java --- compiler/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java 3 Feb 2010 06:34:21 -0000 1.139 +++ compiler/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java 25 Oct 2010 14:42:28 -0000 @@ -329,9 +329,19 @@ return invocationType.fPackage == this.fPackage; } +// refactored for deeptest bugfix #837 +private boolean isMemberOfGeneric() +{ + return isMemberType() && ( + (enclosingType().modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0 + || enclosingType().isMemberOfGeneric() // deeptest bugfix #837 + ); +} +// end of refactored code + public char[] computeGenericTypeSignature(TypeVariableBinding[] typeVariables) { - boolean isMemberOfGeneric = isMemberType() && (enclosingType().modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0; + boolean isMemberOfGeneric = isMemberOfGeneric(); // refactored for deeptest bugfix #837 if (typeVariables == Binding.NO_TYPE_VARIABLES && !isMemberOfGeneric) { return signature(); }