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 ITypeBinding guessBindingForReference(ASTNode node) {
		return Bindings.normalizeTypeBinding(getPossibleReferenceBinding(node));
	}
	private static ITypeBinding getPossibleReferenceBinding(ASTNode node) {
		ASTNode parent= node.getParent();
		switch (parent.getNodeType()) {
		case ASTNode.ASSIGNMENT:
			Assignment assignment= (Assignment) parent;
			if (node.equals(assignment.getLeftHandSide())) {
				
				return assignment.getRightHandSide().resolveTypeBinding();
			}
			
			return assignment.getLeftHandSide().resolveTypeBinding();
		case ASTNode.INFIX_EXPRESSION:
			InfixExpression infix= (InfixExpression) parent;
			InfixExpression.Operator op= infix.getOperator();
			if (op == InfixExpression.Operator.CONDITIONAL_AND || op == InfixExpression.Operator.CONDITIONAL_OR) {
				
				return infix.getAST().resolveWellKnownType("boolean"); 
			} else if (op == InfixExpression.Operator.LEFT_SHIFT || op == InfixExpression.Operator.RIGHT_SHIFT_UNSIGNED || op == InfixExpression.Operator.RIGHT_SHIFT_SIGNED) {
				
				return infix.getAST().resolveWellKnownType("int"); 
			}
			if (node.equals(infix.getLeftOperand())) {