Bug 94302 [Quick fix] on A.class offers odd generic replacement
Probably related to 93643. Against I20050509-2010. Given code: import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; public class FlashcardTests { public static Test suite() { TestSuite suite = new TestSuite(); add(suite, ParserTest.class); return suite; } private static void add(TestSuite suite, Class<? extends TestCase> clazz) { suite.addTestSuite(clazz); } } Since ParserTest doesn't exist, there's a compiler error. Using quick fix offers "Change to Class<? extends junit.framework.TestCase>", which is no closer to compiling code.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ASTResolving.java
public static boolean isUseableTypeInContext(ITypeBinding type, IBinding context, boolean noWildcards) {
		if (type.isArray()) {
			type= type.getElementType();
		}
		if (type.isAnonymous()) {
			return false;
		}
		if (type.isRawType() || type.isPrimitive()) {
			return true;
		}
		if (type.isTypeVariable()) {
			return isVariableDefinedInContext(context, type);
		}
		if (type.isGenericType()) {
			ITypeBinding[] typeParameters= type.getTypeParameters();
			for (int i= 0; i < typeParameters.length; i++) {
				if (!isUseableTypeInContext(typeParameters[i], context, noWildcards)) {
					return false;
				}
			}
			return true;
		}
		if (type.isParameterizedType()) {
			ITypeBinding[] typeArguments= type.getTypeArguments();
			for (int i= 0; i < typeArguments.length; i++) {
				if (!isUseableTypeInContext(typeArguments[i], context, noWildcards)) {
					return false;
				}
			}
			return true;