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
if (node instanceof BodyDeclaration) {
				return null;
			}
		}
		return (Statement) node;
	}
	public static TryStatement findParentTryStatement(ASTNode node) {
		while ((node != null) && (!(node instanceof TryStatement))) {
			node= node.getParent();
			if (node instanceof BodyDeclaration) {
				return null;
			}
		}
		return (TryStatement) node;
	}
	public static boolean isInsideConstructorInvocation(MethodDeclaration methodDeclaration, ASTNode node) {
		if (methodDeclaration.isConstructor()) {
			Statement statement= ASTResolving.findParentStatement(node);
			if (statement instanceof ConstructorInvocation || statement instanceof SuperConstructorInvocation) {
				return true; 
			}
		}
		return false;
	}
	public static boolean isInStaticContext(ASTNode selectedNode) {
		BodyDeclaration decl= ASTResolving.findParentBodyDeclaration(selectedNode);
		if (decl instanceof MethodDeclaration) {
			if (isInsideConstructorInvocation((MethodDeclaration) decl, selectedNode)) {
				return true;
			}