Bug 117477 [clean up] add 'remove this qualifier' clean up
There is 'add this qualifier' clean up, but there are no 'remove this qualifier'. But what if I have CU with such code style and don't like it? About this code: private int i; void foo(int i) {this.i= i;} May be just check that there are no SingleVariableDeclaration with same identifier in parent method(s)? Plus such code is also possible: public class Test { private int field; private class Inner { private int field; public void foo(int i) { Test.this.field = i; } } } So, probably we should also check that there are no field hiding in parent classes.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/fix/CodeStyleCleanUp.java
*   public static int i;
	 *   void foo() {i= 10;} -> void foo() {E.i= 10;}
	 * }</code></pre>
	 */
	public static final int QUALIFY_STATIC_FIELD_ACCESS= 4;
	
	/**
	 * Changes indirect accesses to static members to direct ones.<p>
	 * i.e.:<pre><code>
	 * class E {public static int i;}
	 * class ESub extends E {
	 *   void foo() {ESub.i= 10;} -> void foo() {E.i= 10;}
	 * }</code></pre>
	 */
	public static final int CHANGE_INDIRECT_STATIC_ACCESS_TO_DIRECT= 8;
	/**
	 * Adds a 'this' qualifier to method accesses.<p>
	 * i.e.:<pre><code>
	 *   int method(){};
	 *   void foo() {method()} -> void foo() {this.method();}</pre></code>
	 */
	public static final int QUALIFY_METHOD_ACCESS= 16;
	
	/**
	 * Qualifies static method accesses with declaring type.<p>
	 * i.e.:<pre><code>
	 * class E {
	 *   public static int m();
	 *   void foo() {m();} -> void foo() {E.m();}
	 * }</code></pre>