tree 68708a5d8d70459bcb10e707afe3ee3bf0ccfa3c
parent f49f45c8f9f2047db09e89802fa658a0b50d589c
author Jeff Johnston <jjohnstn@redhat.com> 1527547795 -0400
committer Kalyan Prasad Tatavarthi <kalyan_prasad@in.ibm.com> 1530693203 -0400

Bug 535242 - Refactor CompilationUnitRewriteOperationsFix

- split CompilationUnitRewriteOperationsFix into
  CompilationUnitRewriteOperationsFixCore in jdt.core.manipulation
  and have CompilationUnitRewriteOperationsFix extend it and
  implement ILinkedFix
- move AbstractFix, and IProposableFix as well, but
  change IProposableFix to depend on new
  ICleanUpFixCore class (essentially copy of ICleanUpFix)
- create a core version of ILinkedFix called ILinkedFixCore
  in jdt.core.manipulation and have AbstractFix refer to it
  instead of ILinkedFix
- create new ICleanUpFixCore and ICleanUpCore interfaces to be
  used in place of ICleanUpFix and ICleanUp public interfaces
- move CompilationUnitChange, CompilationUnitRewrite,
  ContextSensitiveImportRewriteContext, FixMessages,
  ImportRemover, RedundantNullnessTypeAnnotationsFilter,
  RefactoringASTParser, and RefactoringCoreMessages
- split CleanUpConstants into two classes: CleanUpConstants
  which resides in jdt.core.manipulation and only contains
  static constant values and CleanUpConstantsOptions which
  extends CleanUpConstants and implements methods that manipulate
  the IPreferenceStore
- copy CleanUpRequirements, CleanUpOptions, and CleanUpContext
  to jdt.core.manipulation/corext and have the jdt.ui public
  versions use an instance of their internal counterpart
  to perform the logic
- modify the various users of above classes in jdt.ui

Change-Id: Iaf63c45d282c6902bc230a56bbad590bea66bb47
Signed-off-by: Jeff Johnston <jjohnstn@redhat.com>
