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
for (int i= 0; i < declaredMethods.length; i++) {
			IMethodBinding curr= declaredMethods[i];
			if (curr.isConstructor() && curr.getParameterTypes().length == arguments.size()) {
				return curr;
			}
		}
		return null;
	}
	public static Type guessTypeForReference(AST ast, ASTNode node) {
		ASTNode parent= node.getParent();
		while (parent != null) {
			switch (parent.getNodeType()) {
				case ASTNode.VARIABLE_DECLARATION_FRAGMENT:
					if (((VariableDeclarationFragment) parent).getInitializer() == node) {
						return ASTNodeFactory.newType(ast, (VariableDeclaration) parent);
					}
					return null;
				case ASTNode.SINGLE_VARIABLE_DECLARATION:
					if (((VariableDeclarationFragment) parent).getInitializer() == node) {
						return ASTNodeFactory.newType(ast, (VariableDeclaration) parent);
					}
					return null;
				case ASTNode.ARRAY_ACCESS:
					if (!((ArrayAccess) parent).getIndex().equals(node)) {
						Type type= guessTypeForReference(ast, parent);
						if (type != null) {
							return ast.newArrayType(type);
						}
					}
					return null;