Package Declaration |
- Add missing package declaration or correct package declaration
- Move compilation unit to package that corresponds to the package declaration
|
Imports |
- Remove unused, unresolvable or non-visible import
- Invoke 'Organize imports' on problems in imports
|
Types |
- Create new class, interface, enum, annotation or type variable for references to types that can not be resolved
- Change visibility for types that are accessed but not visible
- Rename to a similar type for references to types that can not be resolved
- Add import statement for types that can not be resolved but exist in the project
- Add explicit import statement for ambiguous type references (two import-on-demands for the same type)
- If the type name is not matching with the compilation unit name either rename the type or rename the compilation unit
- Remove unused private types
|
Constructors |
- Create new constructor for references to constructors that can not be resolved (this, super or new class creation)
- Reorder, add or remove arguments for constructor references that mismatch parameters
- Change method with constructor name to constructor (remove return type)
- Change visibility for constructors that are accessed but not visible
- Remove unused private constructor
- Create constructor when super call of the implicit default constructor is undefined, not visible or throws an exception
- If type contains unimplemented methods, change type modifier to 'abstract' or add the method to implement
|
Methods |
- Create new method for references to methods that can not be resolved
- Rename to a similar method for references to methods that can not be resolved
- Reorder or remove arguments for method references that mismatch parameters
- Correct access (visibility, static) of referenced methods
- Remove unused private methods
- Correct return type for methods that have a missing return type or where the return type does not match the return statement
- Add return statement if missing
- For non-abstract methods with no body change to 'abstract' or add body
- For an abstract method in a non-abstract type remove abstract modifier of the method or make type abstract
- For an abstract/native method with body remove the abstract or native modifier or remove body
- Change method access to 'static' if method is invoked inside a constructor invocation (super, this)
- Change method access to default access to avoid emulated method access
|
Fields and variables |
- Correct access (visibility, static) of referenced fields
- Create new fields, parameters, local variables or constants for references to variables that can not be resolved
- Rename to a variable with similar name for references that can not be resolved
- Remove unused private fields
- Correct non-static access of static fields
- Add 'final' modifier to local variables accessed in outer types
- Change field access to default access to avoid emulated method access
- Change local variable type to fix a type mismatch
- Initialize a variable that has not been initialized
|
Exception Handling |
- Remove unneeded catch block
- Handle uncaught exception by surrounding with try/catch or adding catch block to a surrounding try block
- Handle uncaught exception by adding a throw declaration to the parent method or by generalize an existing throw declaration
|
Build Path Problems |
- Add a missing JAR or library for an unresolvable type
- Open the build path dialog for access restriction problems or missing binary classes.
- Change project compliance and JRE to 5.0
- Change workspace compliance and JRE to 5.0
|
Others |
- Add cast or change cast to fix type mismatches
- Let a type implement an interface to fix type mismatches
- For non-NLS strings open the NLS wizard or mark as non-NLS
- Add missing @Override, @Deprecated annotations
- Suppress a warning using @SuppressWarning
|