More refactorings that might be interesting to implement:
- Convert checked exception to Either
- Refactoring into pattern matching, e.g. from if-then-else
- Convert between for and map/flatMap/filter
- Convert a java file into its scala equivalent
- this is useful also for really simple Java files (that contain only a class definition and method declarations) since such classes are many times generated automatically by the RCP facilities
- Automatically add unimplemented methods when extending a trait
Code Analyzers that could be implemented:
- Package structure does not match filesystem structure
- Shadowing of values, types, etc.
- Not easily doable because the relevant information is only available in the presentation compiler
-
Usage of the Application trait (it has been deprecated; no need for an additional warning)
- Usage of the any2string conversion
- Comparisons that will never succeed (e.g. Option[T] == T)