Bug 29161 Quickfix can't fix a simple fix [quick fix]
If I have a class like this: public class Foo { private static final String BAR = "bar"; public Foo () { System.out.println(this.BAR); } } There's a light bulb on the 'this.BAR' line, which says "The static field Foo.BAR should be accessed in a static way", but says "No corrections available" when I click on it. The fix is simply removing 'this', ie "this.BAR" becomes only "BAR". It's a very simple correction, I think quick fix should know about it.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/LocalCorrectionsSubProcessor.java
}
		{
			ASTRewrite rewrite= new ASTRewrite(nodeToCast.getParent());
			
			String label;
			Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);
			ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal("", cu, rewrite, 1, image);
			String simpleCastType= proposal.addImport(castType);
			
			if (nodeToCast.getNodeType() == ASTNode.CAST_EXPRESSION) {
				label= CorrectionMessages.getFormattedString("LocalCorrectionsSubProcessor.changecast.description", castType); 
				CastExpression expression= (CastExpression) nodeToCast;
				rewrite.markAsReplaced(expression.getType(), rewrite.createPlaceholder(simpleCastType, ASTRewrite.TYPE));
			} else {
				label= CorrectionMessages.getFormattedString("LocalCorrectionsSubProcessor.addcast.description", castType); 
				
				Expression expressionCopy= (Expression) rewrite.createCopy(nodeToCast);
				Type typeCopy= (Type) rewrite.createPlaceholder(simpleCastType, ASTRewrite.TYPE);
				CastExpression castExpression= astRoot.getAST().newCastExpression();
				castExpression.setExpression(expressionCopy);
				castExpression.setType(typeCopy);
				
				rewrite.markAsReplaced(nodeToCast, castExpression);
			}
			proposal.setDisplayName(label);
			proposal.ensureNoModifications();
			
			proposals.add(proposal);
		}