Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2010-04-02 00:37:26 +0000
committerStephan Herrmann2010-04-02 00:37:26 +0000
commitad9196228a6d6781b950429669ff6a4d29996809 (patch)
tree321d7e0fc2e6c16a3acc160d1f3435f5da707f8d /testplugins/org.eclipse.jdt.ui.tests.refactoring/resources
parent1a8cab8e0c0864b6118bb7a8071b1a92acd2d5a2 (diff)
downloadorg.eclipse.objectteams-ad9196228a6d6781b950429669ff6a4d29996809.tar.gz
org.eclipse.objectteams-ad9196228a6d6781b950429669ff6a4d29996809.tar.xz
org.eclipse.objectteams-ad9196228a6d6781b950429669ff6a4d29996809.zip
initial commit in accordance with CQ 3784
Diffstat (limited to 'testplugins/org.eclipse.jdt.ui.tests.refactoring/resources')
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_out.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_out.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_in.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_out.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/cannot/A_testFail0.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/.cvsignore1
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.classpath7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.project17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.classpath9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.project17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/src/ref/ReferenceClass.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/src/ref/SubClass.java27
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.classpath6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.cvsignore1
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.project17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/BaseClass.java29
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/Color.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/sub/InSubPack.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test0_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test0_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test10_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test10_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test11_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test11_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test12_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test12_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test13_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test13_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test14_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test14_out.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test15_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test15_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test16_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test16_out.java27
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test17_in.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test17_out.java36
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test18_in.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test18_out.java44
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test19_in.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test19_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test1_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test1_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test20_in.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test20_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test21_in.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test21_out.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test22_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test22_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test23_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test23_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test24_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test24_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test25_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test25_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test26_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test26_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test27_in.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test27_out.java31
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test2_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test2_out.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test3_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test3_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test4_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test4_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test5_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test5_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test6_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test6_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test7_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test7_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test8_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test8_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test9_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test9_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd28_in.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd28_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd29_in.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd29_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd30_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd30_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd31_in.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd31_out.java27
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd32_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd32_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd33_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd33_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddRecursive1_in.java33
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddRecursive1_out.java81
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddReorderRename34_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddReorderRename34_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_Ref_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_Ref_out.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_in.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_out.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll35_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll35_out.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll36_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll36_out.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll37_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll37_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll38_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll38_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll39_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll39_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll40_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll40_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll41_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll41_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll42_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll42_out.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll43_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll43_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll44_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll44_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll45_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll45_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll46_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll46_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll47_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll47_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll48_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll48_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll49_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll49_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll50_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll50_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll51_in.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll51_out.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll52_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll52_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll53_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll53_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll54_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll54_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll55_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll55_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll56_in.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll56_out.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll57_in.java22
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll57_out.java22
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll58_in.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll58_out.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll59_in.java36
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll59_out.java37
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll60_in.java44
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll60_out.java46
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll61_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll61_out.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll62_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll62_out.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll63_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll63_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll64_in.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll64_out.java22
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate01_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate01_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate02_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate02_out.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate03_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate03_out.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate04_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate04_out.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate05_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate05_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum01_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum01_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum02_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum02_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum03_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum03_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum04_in.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum04_out.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException01_in.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException01_out.java26
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException04_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException04_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException05_in.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException05_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics01_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics01_out.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics02_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics02_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics03_in.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics03_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics04_in.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics04_out.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics05_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics05_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics06_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics06_out.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport01_in.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport01_out.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport02_in.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport02_out.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport03_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport03_out.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport04_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport04_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport05_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport05_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport06_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport06_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport07_in.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport07_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport08_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport08_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic01_in.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic01_out.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic02_in.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic02_out.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName01_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName01_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName02_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName02_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder26_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder26_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder27_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder27_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport01_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport01_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport02_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport02_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg01_in.java33
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg01_out.java33
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg02_in.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg02_out.java39
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg04_in.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg04_out.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg05_in.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg05_out.java28
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg06_in.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg06_out.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg07_in.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg07_out.java33
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_in.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_out.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_in.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_out.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_in.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_out.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFail0.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFail1.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd2.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd3.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd4.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAnnotation1.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll5.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll6.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll7.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll8.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailGenerics01.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailImport01.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg01.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg02.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg03.java22
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg04.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg05.java22
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testArray2_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testArray_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testBogusSelection_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testEnum_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testFieldOfLocalType_in.java35
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testInvalidSelection_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testMultiDeclaration_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testObjectReturnType_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testOverriddenBinaryMethod_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testPrimitive_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testQualifiedFieldRef_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testTypeParameter_in.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testUpdateNotPossible_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_test4TypeParameters_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_test4TypeParameters_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testArray_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testCatchClause_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testCatchClause_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDeclSubtypesOfList_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDeclSubtypesOfList_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDecl_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDecl_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldName_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldName_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldType_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldType_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldUseSubtypesOfList_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldUseSubtypesOfList_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess2.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess_out.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testHashMap_in.java71
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testHashMap_out.java72
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testImport_in.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testImport_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testInterfaceTypes_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testInterfaceTypes_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalSuperTypesOfArrayList_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalSuperTypesOfArrayList_out.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarCast_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarCast_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarDecl_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarDecl_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarName_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarName_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarType_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarType_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarUse_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarUse_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUClass1.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUClass2.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUInterface1.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUInterface2.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCU_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCU_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricHashtable_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricHashtable_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricType_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricType_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedRawParametricHashtable_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedRawParametricHashtable_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonParametricTypeWithParametricSuperType_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonParametricTypeWithParametricSuperType_out.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonRawComment_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonRawComment_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDeclWithOverride_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDeclWithOverride_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDecl_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDecl_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterNameWithOverride_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterNameWithOverride_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterName_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterName_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverride_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverride_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding2.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding2_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterType_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterType_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricEmptySelection_in.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricEmptySelection_out.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricField_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricField_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricHashtable_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricHashtable_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricLocalVar_in.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricLocalVar_out.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricParameter_in.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricParameter_out.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricReturnType_in.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricReturnType_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithNonParametricSuperType_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithNonParametricSuperType_out.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithParametricSuperType_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithParametricSuperType_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testQualifiedNameEmptySelection_in.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testQualifiedNameEmptySelection_out.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawComment_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawComment_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawSubType_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawSubType_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReorderTypeParameters_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReorderTypeParameters_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType2.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnTypeWithCall_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnTypeWithCall_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testString_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testString_out.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnboundTypeParameter_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnboundTypeParameter_out.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnrelatedTypeParameters_in.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnrelatedTypeParameters_out.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg2_in.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test0_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test0_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test10_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test10_out.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test11_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test11_out.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test12_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test12_out.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test13_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test13_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test14_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test14_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test15_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test15_out.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test16_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test16_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test17_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test17_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test18_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test18_out.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test19_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test19_out.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test1_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test1_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test20_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test20_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test21_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test21_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test22_in.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test22_out.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test23_in.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test23_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test24_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test24_out.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test25_in.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test25_out.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test26_in.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test26_out.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test27_in.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test27_out.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test28_in.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test28_out.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test29_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test29_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test2_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test2_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test30_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test30_out.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test31_in.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test31_out.java23
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test32_in.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test32_out.java23
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test3_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test3_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test4_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test4_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test5_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test5_out.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test6_in.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test6_out.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test7_in.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test7_out.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test8_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test8_out.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test9_in.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test9_out.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics0_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics0_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics1_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics1_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics2_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics2_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics3_in.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics3_out.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics4_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics4_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics5_in.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics5_out.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics6_in.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics6_out.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail0.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail1.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail2.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail3.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail4.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_declared_in_multi_yes_type/in/A.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_declared_in_multi_yes_type/out/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field/out/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field_back/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field_back/out/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type/in/A.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type/out/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type_1/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type_1/out/A.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/in/C.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/out/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/out/C.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/in/C.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/out/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/out/C.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/in/C.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/out/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/out/C.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method_back/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method_back/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_type/in/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_type/out/A.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/in/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/in/C.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/out/C.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/in/C.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/out/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/out/C.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field/in/A.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field/out/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field_back/in/A.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field_back/out/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer_back/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer_back/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_itself/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_itself/out/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method_back/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method_back/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_type/in/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_type/out/A.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/in/C.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/out/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/out/C.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/CopyPackageChange/A.java0
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf01/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf01/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf02/in/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf02/out/A.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf03/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf03/out/A.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf04/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf04/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/in/B.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/in/B.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf07/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf07/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/in/E.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/out/A.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf09/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf09/out/A.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm01/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm01/out/A.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm02/in/A.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm02/out/A.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm03/in/A.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm03/out/A.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm04/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm04/out/A.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/in/B.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/out/A.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/in/B.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/out/A.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm07/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm07/out/A.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/in/E.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/out/A.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm09/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm09/out/A.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm10/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm10/out/A.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm11/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm11/out/A.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu0/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu0/out/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu1/in/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu1/out/A.java1
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu10/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu10/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu11/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu11/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu12/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu12/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu13/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu13/out/A.java1
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu14/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu14/out/A.java0
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu15/in/A.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu15/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu16/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu16/out/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu17/in/A.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu17/out/A.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu18/in/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu18/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu19/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu19/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu2/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu2/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu20/in/A.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu20/out/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu21/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu21/out/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu22/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu22/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu23/in/A.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu23/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu24/in/A.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu24/out/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu25/in/A.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu25/out/A.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu26/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu26/out/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu3/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu3/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu4/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu4/out/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu5/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu5/out/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu6/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu6/out/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu7/in/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu7/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu8/in/A.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu8/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu9/in/A.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu9/out/A.java3
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/in/ArrayInitializer.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/out/ArrayInitializer.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/out/ArrayInitializerParameter.java22
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/in/ArrayLengthAccess.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/out/ArrayLengthAccess.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/out/ArrayLengthAccessParameter.java14
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/in/ComplexExtract.java23
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/out/ComplexExtract.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/out/ComplexExtractParameter.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/in/ComplexExtractGetterSetter.java23
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/out/ComplexExtractGetterSetter.java21
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/out/ComplexExtractGetterSetterParameter.java36
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractNested/in/ComplexExtractNested.java23
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractNested/out/ComplexExtractNested.java32
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/in/ControlBodyUpdates.java42
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/out/ControlBodyUpdates.java40
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/out/ControlBodyUpdatesParameter.java29
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/in/CopyModifierAnnotations.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/out/CopyModifierAnnotations.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/out/CopyModifierAnnotationsParameter.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/in/DuplicateParamName.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/out/DuplicateParamName.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/out/DuplicateParamNameParameter.java22
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/in/FieldsWithJavadoc.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/out/FieldsWithJavadoc.java6
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/out/FieldsWithJavadocData.java24
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/in/ImportRemove.java17
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/out/ImportRemove.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/out/ImportRemoveParameter.java9
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/in/InheritanceUpdate.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/in/InheritanceUpdateImpl.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdate.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdateImpl.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdateParameter.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/in/InheritanceUpdateGetterSetter.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/in/InheritanceUpdateImplGetterSetter.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateGetterSetter.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateGetterSetterParameter.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateImplGetterSetter.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/in/InitializerProblem.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/out/InitializerProblem.java23
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/out/InitializerProblemParameter.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/in/InnerDocumentedClass.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/out/InnerClassParameter.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/out/InnerDocumentedClass.java11
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/in/LowestVisibility.java5
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/out/LowestVisibility.java4
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/out/LowestVisibilityParameter.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/in/MethodUpdate.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/out/MethodUpdate.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/out/MethodUpdateParameter.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testPackageReferences/in/PackEx.java7
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testPackageReferences/in/PackageReferences.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/in/QualifiedIncrements.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/out/QualifiedIncrements.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/out/QualifiedIncrementsParameter.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testStaticInstanceFields/in/StaticInstanceFields.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testStaticInstanceFields/out/StaticInstanceFields.java18
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/in/SwitchCase.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/out/SwitchCase.java25
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/out/SwitchCaseParameter.java8
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/in/SwitchCaseUpdates.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/out/SwitchCaseUpdates.java12
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/out/SwitchCaseUpdatesParameter.java13
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/in/UFOGetter.java22
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/out/Position.java27
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/out/UFOGetter.java19
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/in/UpdateSimpleName.java16
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/out/UpdateSimpleName.java15
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/out/UpdateSimpleNameParameter.java20
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/in/VariableDeclarationInitializer.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/out/VariableDeclarationInitializer.java10
-rw-r--r--testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/out/VariableDeclarationInitializerParameter.java14
708 files changed, 8351 insertions, 0 deletions
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_in.java
new file mode 100644
index 000000000..0a3795588
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_in.java
@@ -0,0 +1,7 @@
+package p;
+class A{
+ private int f;
+ void m(){
+ int g= f;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_out.java
new file mode 100644
index 000000000..2c4600846
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test0_out.java
@@ -0,0 +1,10 @@
+package p;
+class A{
+ private int f;
+ void m(){
+ int g= getF();
+ }
+ private int getF(){
+ return f;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_in.java
new file mode 100644
index 000000000..b00dd07dc
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_in.java
@@ -0,0 +1,7 @@
+package p;
+class A{
+ private int f;
+ void m(){
+ f= 3;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_out.java
new file mode 100644
index 000000000..f16676811
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test1_out.java
@@ -0,0 +1,10 @@
+package p;
+class A{
+ private int f;
+ void m(){
+ setF(3);
+ }
+ private void setF(int f){
+ this.f= f;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_in.java
new file mode 100644
index 000000000..a0f3096f1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_in.java
@@ -0,0 +1,8 @@
+//abstract and make private
+package p;
+class A{
+ public int f;
+ void m(){
+ int g= f;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_out.java
new file mode 100644
index 000000000..3ec4bc372
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test2_out.java
@@ -0,0 +1,11 @@
+//abstract and make private
+package p;
+class A{
+ private int f;
+ void m(){
+ int g= f;
+ }
+ public int getF(){
+ return f;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_in.java
new file mode 100644
index 000000000..08a9cad4e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_in.java
@@ -0,0 +1,14 @@
+//abstract and make private
+package p;
+class A{
+ public int f;
+ void m(){
+ int g= f;
+ }
+}
+class B{
+ int m(){
+ A a= new A();
+ return a.f;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_out.java
new file mode 100644
index 000000000..ce9a78a1e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test3_out.java
@@ -0,0 +1,17 @@
+//abstract and make private
+package p;
+class A{
+ private int f;
+ void m(){
+ int g= getF();
+ }
+ public int getF(){
+ return f;
+ }
+}
+class B{
+ int m(){
+ A a= new A();
+ return a.getF();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_in.java
new file mode 100644
index 000000000..af410b10f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_in.java
@@ -0,0 +1,14 @@
+//abstract and make private (do not abstract private accesses)
+package p;
+class A{
+ public int f;
+ void m(){
+ int g= f;
+ }
+}
+class B{
+ int m(){
+ A a= new A();
+ return a.f;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_out.java
new file mode 100644
index 000000000..8ccdfa3b8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test4_out.java
@@ -0,0 +1,17 @@
+//abstract and make private (do not abstract private accesses)
+package p;
+class A{
+ private int f;
+ void m(){
+ int g= f;
+ }
+ public int getF(){
+ return f;
+ }
+}
+class B{
+ int m(){
+ A a= new A();
+ return a.getF();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_in.java
new file mode 100644
index 000000000..603871f91
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_in.java
@@ -0,0 +1,15 @@
+//abstract and make private
+package p;
+class A{
+ public int f;
+ void m(){
+ f= f;
+ }
+}
+class B{
+ int m(){
+ A a= new A();
+ a.f= a.f;
+ return a.f;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_out.java
new file mode 100644
index 000000000..65c77097c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/can/A_test5_out.java
@@ -0,0 +1,21 @@
+//abstract and make private
+package p;
+class A{
+ private int f;
+ void m(){
+ setF(getF());
+ }
+ public int getF(){
+ return f;
+ }
+ public void setF(int f){
+ this.f= f;
+ }
+}
+class B{
+ int m(){
+ A a= new A();
+ a.setF(a.getF());
+ return a.getF();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/cannot/A_testFail0.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/cannot/A_testFail0.java
new file mode 100644
index 000000000..308c8bd02
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/AbstractField/cannot/A_testFail0.java
@@ -0,0 +1,15 @@
+//abstract and make private, only getter
+package p;
+class A{
+ public int f;
+ void m(){
+ f= f;
+ }
+}
+class B{
+ int m(){
+ A a= new A();
+ a.f= a.f;
+ return a.f;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/.cvsignore b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/.cvsignore
new file mode 100644
index 000000000..1ff03788d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/.cvsignore
@@ -0,0 +1 @@
+.metadata
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.classpath b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.classpath
new file mode 100644
index 000000000..762b48088
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="lib" path="/Reference/bin" sourcepath="/Reference/src"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/Source"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.project b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.project
new file mode 100644
index 000000000..a7706acb8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>BinaryReference</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.settings/org.eclipse.jdt.core.prefs b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..a5f7ddb8f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/BinaryReference/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Tue Apr 01 17:35:12 CEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.classpath b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.classpath
new file mode 100644
index 000000000..bcacccfe5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/Source"/>
+<!-- first 2 entries commented out: to run like in tests; active: to write new test code
+-->
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.project b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.project
new file mode 100644
index 000000000..6f8513b23
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Reference</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.settings/org.eclipse.jdt.core.prefs b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..a1e5739c9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Tue Apr 01 17:29:12 CEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/src/ref/ReferenceClass.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/src/ref/ReferenceClass.java
new file mode 100644
index 000000000..391ed12e9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/src/ref/ReferenceClass.java
@@ -0,0 +1,18 @@
+package ref;
+
+import source.BaseClass;
+import source.Color;
+import static source.Color.*;
+
+public class ReferenceClass {
+ public static void main(String[] args) {
+ new BaseClass(1).referencedMethod(Color.TURQUOISE);
+ BaseClass.referencedStaticMethod();
+ new BaseClass(1).referencedVirtualMethod();
+ new SubClass(1).referencedVirtualMethod();
+ BaseClass baseClass = new BaseClass(BaseClass.CONST);
+ baseClass.paintColor(true ? Color.RED : GREEN);
+ System.out.println(baseClass.fPublic);
+ new source.sub.InSubPack();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/src/ref/SubClass.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/src/ref/SubClass.java
new file mode 100644
index 000000000..8519e6304
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Reference/src/ref/SubClass.java
@@ -0,0 +1,27 @@
+package ref;
+
+import source.BaseClass;
+import source.Color;
+import source.sub.InSubPack;
+
+public class SubClass extends BaseClass {
+ public SubClass(int count) {
+ super(count + 1);
+ fProtected= 42;
+ }
+
+ protected void baseMethod() {
+ super.baseMethod();
+ referencedVirtualMethod();
+ new InSubPack();
+ }
+
+ protected int compareTo(BaseClass other) {
+ return +1;
+ }
+
+ @Override
+ public void paintColor(Color color) {
+ // don't paint
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.classpath b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.classpath
new file mode 100644
index 000000000..872791733
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.cvsignore b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.cvsignore
new file mode 100644
index 000000000..ba077a403
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.project b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.project
new file mode 100644
index 000000000..f45ee9128
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Source</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.settings/org.eclipse.jdt.core.prefs b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..a85c223de
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Tue Apr 01 17:28:55 CEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/BaseClass.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/BaseClass.java
new file mode 100644
index 000000000..c95f58628
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/BaseClass.java
@@ -0,0 +1,29 @@
+package source;
+
+import source.sub.InSubPack;
+
+public class BaseClass {
+ protected int fProtected;
+ public int fPublic;
+ public static final int CONST= 42;
+ public BaseClass(int count) {
+
+ }
+
+ protected void baseMethod() {
+ referencedMethod(Color.RED); // keep as first
+ new InSubPack();
+ }
+
+ protected int compareTo(BaseClass other) {
+ return -1;
+ }
+
+ public final void referencedMethod(Color c) { }
+ public static int referencedStaticMethod() { return 0; }
+ public void referencedVirtualMethod() { }
+
+ public void paintColor(Color color) {
+ color.hashCode();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/Color.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/Color.java
new file mode 100644
index 000000000..5f7b493b3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/Color.java
@@ -0,0 +1,5 @@
+package source;
+
+public enum Color {
+ RED, GREEN, TURQUOISE
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/sub/InSubPack.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/sub/InSubPack.java
new file mode 100644
index 000000000..d416ad468
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/BinaryReferencesWorkspace/Source/src/source/sub/InSubPack.java
@@ -0,0 +1,5 @@
+package source.sub;
+
+public class InSubPack {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test0_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test0_in.java
new file mode 100644
index 000000000..95a0fe55e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test0_in.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ private void m(int i, int j){
+ }
+ private void foo(){
+ m(1, 2);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test0_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test0_out.java
new file mode 100644
index 000000000..6b86b7522
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test0_out.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ private void m(int j, int i){
+ }
+ private void foo(){
+ m(2, 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test10_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test10_in.java
new file mode 100644
index 000000000..996a053b2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test10_in.java
@@ -0,0 +1,9 @@
+//change to j k i
+package p;
+class A{
+ private void m(int i, int j, int k){
+ }
+ private void foo(){
+ m(1, 2, 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test10_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test10_out.java
new file mode 100644
index 000000000..d05050223
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test10_out.java
@@ -0,0 +1,9 @@
+//change to j k i
+package p;
+class A{
+ private void m(int j, int k, int i){
+ }
+ private void foo(){
+ m(2, 3, 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test11_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test11_in.java
new file mode 100644
index 000000000..361a676a2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test11_in.java
@@ -0,0 +1,11 @@
+//change to j k i
+package p;
+class A{
+ private void m(int i, int j, int k){
+ }
+ private void foo(){
+ m(3+ 1,
+ 2,
+ 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test11_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test11_out.java
new file mode 100644
index 000000000..6abf7f66d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test11_out.java
@@ -0,0 +1,11 @@
+//change to j k i
+package p;
+class A{
+ private void m(int j, int k, int i){
+ }
+ private void foo(){
+ m(2,
+ 3,
+ 3+ 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test12_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test12_in.java
new file mode 100644
index 000000000..f1d6726cf
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test12_in.java
@@ -0,0 +1,11 @@
+//change to j k i
+package p;
+class A{
+ private void m(int i, int j, int k){
+ }
+ private void foo(){
+ m(19,
+ /*comment*/2000,
+ 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test12_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test12_out.java
new file mode 100644
index 000000000..2cc123692
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test12_out.java
@@ -0,0 +1,11 @@
+//change to j k i
+package p;
+class A{
+ private void m(int j, int k, int i){
+ }
+ private void foo(){
+ m(/*comment*/2000,
+ 3,
+ 19);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test13_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test13_in.java
new file mode 100644
index 000000000..963f2ea89
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test13_in.java
@@ -0,0 +1,11 @@
+//change to j k i
+package p;
+class A{
+ private void m(int i, int j, int k){
+ }
+ private void foo(){
+ m(19,
+ /*comment*/2000,
+ 3/*comment2*/);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test13_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test13_out.java
new file mode 100644
index 000000000..3a830120b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test13_out.java
@@ -0,0 +1,11 @@
+//change to j k i
+package p;
+class A{
+ private void m(int j, int k, int i){
+ }
+ private void foo(){
+ m(/*comment*/2000,
+ 3/*comment2*/,
+ 19);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test14_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test14_in.java
new file mode 100644
index 000000000..b3beea338
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test14_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private int m(int i, int j){
+ return m(m(1, 2), 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test14_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test14_out.java
new file mode 100644
index 000000000..1d856cc07
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test14_out.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private int m(int j, int i){
+ return m(3, m(2, 1));
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test15_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test15_in.java
new file mode 100644
index 000000000..6c68ffb67
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test15_in.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ private void m(int i, boolean b){
+ }
+ private void foo(){
+ m(2, true);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test15_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test15_out.java
new file mode 100644
index 000000000..b32ad57c1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test15_out.java
@@ -0,0 +1,14 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ private void m(int i, boolean b){
+ m(b, i);
+ }
+ private void m(boolean b, int i){
+ }
+ private void foo(){
+ m(true, 2);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test16_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test16_in.java
new file mode 100644
index 000000000..bd03d2f4d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test16_in.java
@@ -0,0 +1,14 @@
+package p;
+class A{
+ protected void m(int i, boolean b){
+ }
+ private void foo(){
+ m(2, true);
+ }
+}
+class B extends A{
+ protected void m(int j, boolean b){
+ m(6, false);
+ super.m(4, true);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test16_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test16_out.java
new file mode 100644
index 000000000..9a842e230
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test16_out.java
@@ -0,0 +1,27 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ protected void m(int i, boolean b){
+ m(b, i);
+ }
+ protected void m(boolean b, int i){
+ }
+ private void foo(){
+ m(true, 2);
+ }
+}
+class B extends A{
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ protected void m(int j, boolean b){
+ m(b, j);
+ }
+
+ protected void m(boolean b, int j){
+ m(false, 6);
+ super.m(true, 4);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test17_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test17_in.java
new file mode 100644
index 000000000..8515e6cae
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test17_in.java
@@ -0,0 +1,18 @@
+package p;
+
+class A1 implements A{
+ public void m(int i, boolean b){
+ }
+ private void foo(){
+ m(2, true);
+ }
+}
+class B extends A1{
+ public void m(int j, boolean b){
+ m(6, false);
+ super.m(4, true);
+ }
+}
+interface A {
+ public void m(int i, boolean b);
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test17_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test17_out.java
new file mode 100644
index 000000000..7cbd52128
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test17_out.java
@@ -0,0 +1,36 @@
+package p;
+
+class A1 implements A{
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ public void m(int i, boolean b){
+ m(b, i);
+ }
+ public void m(boolean b, int i){
+ }
+ private void foo(){
+ m(true, 2);
+ }
+}
+class B extends A1{
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ public void m(int j, boolean b){
+ m(b, j);
+ }
+
+ public void m(boolean b, int j){
+ m(false, 6);
+ super.m(true, 4);
+ }
+}
+interface A {
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ public void m(int i, boolean b);
+
+ public void m(boolean b, int i);
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test18_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test18_in.java
new file mode 100644
index 000000000..38c79309d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test18_in.java
@@ -0,0 +1,21 @@
+package p;
+
+class A1 implements A{
+ public void m(int i, boolean b){
+ }
+ private void foo(){
+ m(2, true);
+ }
+}
+class B extends A1 implements AA{
+ public void m(int j, boolean b){
+ m(6, false);
+ super.m(4, true);
+ }
+}
+interface A {
+ public void m(int i, boolean b);
+}
+interface AA {
+ public void m(int xxx, boolean yyy);
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test18_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test18_out.java
new file mode 100644
index 000000000..f58351ed4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test18_out.java
@@ -0,0 +1,44 @@
+package p;
+
+class A1 implements A{
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ public void m(int i, boolean b){
+ m(b, i);
+ }
+ public void m(boolean b, int i){
+ }
+ private void foo(){
+ m(true, 2);
+ }
+}
+class B extends A1 implements AA{
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ public void m(int j, boolean b){
+ m(b, j);
+ }
+
+ public void m(boolean b, int j){
+ m(false, 6);
+ super.m(true, 4);
+ }
+}
+interface A {
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ public void m(int i, boolean b);
+
+ public void m(boolean b, int i);
+}
+interface AA {
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ public void m(int xxx, boolean yyy);
+
+ public void m(boolean yyy, int xxx);
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test19_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test19_in.java
new file mode 100644
index 000000000..204f3ef59
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test19_in.java
@@ -0,0 +1,5 @@
+package p;
+
+class A {
+ public void m(int i, final boolean b){}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test19_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test19_out.java
new file mode 100644
index 000000000..22962a763
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test19_out.java
@@ -0,0 +1,12 @@
+package p;
+
+class A {
+ /**
+ * @deprecated Use {@link #m(boolean,int)} instead
+ */
+ public void m(int i, final boolean b){
+ m(b, i);
+ }
+
+ public void m(final boolean b, int i){}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test1_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test1_in.java
new file mode 100644
index 000000000..014a77c8a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test1_in.java
@@ -0,0 +1,9 @@
+package p;
+class A{
+ private void m(int i, int j){
+ }
+ private void foo(){
+ m(1,
+ 2);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test1_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test1_out.java
new file mode 100644
index 000000000..a94f00c4e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test1_out.java
@@ -0,0 +1,9 @@
+package p;
+class A{
+ private void m(int j, int i){
+ }
+ private void foo(){
+ m(2,
+ 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test20_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test20_in.java
new file mode 100644
index 000000000..73a860d7d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test20_in.java
@@ -0,0 +1,5 @@
+package p;
+
+class A {
+ void m(int a, int b[]){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test20_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test20_out.java
new file mode 100644
index 000000000..e8c2db26c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test20_out.java
@@ -0,0 +1,12 @@
+package p;
+
+class A {
+ /**
+ * @deprecated Use {@link #m(int[],int)} instead
+ */
+ void m(int a, int b[]){
+ m(b, a);
+ }
+
+ void m(int b[], int a){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test21_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test21_in.java
new file mode 100644
index 000000000..57f3cf76b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test21_in.java
@@ -0,0 +1,5 @@
+package p;
+
+class A {
+ A(int a, int b){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test21_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test21_out.java
new file mode 100644
index 000000000..8e163ed84
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test21_out.java
@@ -0,0 +1,5 @@
+package p;
+
+class A {
+ A(int b, int a){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test22_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test22_in.java
new file mode 100644
index 000000000..5973c8242
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test22_in.java
@@ -0,0 +1,8 @@
+package p;
+
+class A {
+ A(int a, int b){}
+ A(){
+ this(3, 2);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test22_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test22_out.java
new file mode 100644
index 000000000..27b8cd41b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test22_out.java
@@ -0,0 +1,8 @@
+package p;
+
+class A {
+ A(int b, int a){}
+ A(){
+ this(2, 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test23_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test23_in.java
new file mode 100644
index 000000000..9f19fe657
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test23_in.java
@@ -0,0 +1,10 @@
+package p;
+
+class A {
+ A(int a, int b){}
+}
+class B extends A{
+ B(){
+ super(4, 6);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test23_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test23_out.java
new file mode 100644
index 000000000..0238f0180
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test23_out.java
@@ -0,0 +1,10 @@
+package p;
+
+class A {
+ A(int b, int a){}
+}
+class B extends A{
+ B(){
+ super(6, 4);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test24_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test24_in.java
new file mode 100644
index 000000000..60bcb158a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test24_in.java
@@ -0,0 +1,10 @@
+package p;
+
+class A {
+ A(int a, int b){}
+
+ void f(){
+ new A(1, 4){
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test24_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test24_out.java
new file mode 100644
index 000000000..c1f8b6e86
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test24_out.java
@@ -0,0 +1,10 @@
+package p;
+
+class A {
+ A(int b, int a){}
+
+ void f(){
+ new A(4, 1){
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test25_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test25_in.java
new file mode 100644
index 000000000..b55e8ad9b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test25_in.java
@@ -0,0 +1,12 @@
+package p;
+
+class Outer{
+ class A {
+ A(int a, int b){}
+ }
+}
+class Outer2 extends Outer.A{
+ Outer2(){
+ new Outer().super(4, 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test25_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test25_out.java
new file mode 100644
index 000000000..f0db90042
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test25_out.java
@@ -0,0 +1,12 @@
+package p;
+
+class Outer{
+ class A {
+ A(int b, int a){}
+ }
+}
+class Outer2 extends Outer.A{
+ Outer2(){
+ new Outer().super(1, 4);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test26_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test26_in.java
new file mode 100644
index 000000000..a3467df86
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test26_in.java
@@ -0,0 +1,9 @@
+package p;
+
+class A {
+ A(int a, int b){}
+
+ void f(){
+ new A(1, 4);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test26_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test26_out.java
new file mode 100644
index 000000000..14b9c226a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test26_out.java
@@ -0,0 +1,9 @@
+package p;
+
+class A {
+ A(int b, int a){}
+
+ void f(){
+ new A(4, 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test27_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test27_in.java
new file mode 100644
index 000000000..4a0f6df74
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test27_in.java
@@ -0,0 +1,24 @@
+package p;
+
+class Query {
+ void doit() {
+ Listen listener= null;
+ String msg= "m";
+ Object xml= new Object();;
+ int id= 12;
+ listener.handlePoolMessage( new PoolMessageEvent( msg, xml, id ) );
+ }
+
+ class PoolMessageEvent {
+ PoolMessageEvent( String msg, Object xml, int id ) {
+ //empty
+ }
+ }
+}
+
+class Listen {
+ public void handlePoolMessage(Query.PoolMessageEvent evt) {
+ Query q= new Query();
+ q.new PoolMessageEvent( null, null, 0 ) ;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test27_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test27_out.java
new file mode 100644
index 000000000..9508692a4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test27_out.java
@@ -0,0 +1,31 @@
+package p;
+
+class Query {
+ void doit() {
+ Listen listener= null;
+ String msg= "m";
+ Object xml= new Object();;
+ int id= 12;
+ listener.handlePoolMessage( new PoolMessageEvent( msg, xml, id, null ) );
+ }
+
+ class PoolMessageEvent {
+ /**
+ * @deprecated Use {@link #PoolMessageEvent(String,Object,int,Object)} instead
+ */
+ PoolMessageEvent( String msg, Object xml, int id ) {
+ this(msg, xml, id, null);
+ }
+
+ PoolMessageEvent( String msg, Object xml, int id, Object newParam ) {
+ //empty
+ }
+ }
+}
+
+class Listen {
+ public void handlePoolMessage(Query.PoolMessageEvent evt) {
+ Query q= new Query();
+ q.new PoolMessageEvent( null, null, 0, null ) ;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test2_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test2_in.java
new file mode 100644
index 000000000..fe19e396c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test2_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private void m(int i, int j){
+ m(i, j);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test2_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test2_out.java
new file mode 100644
index 000000000..083b2b8c3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test2_out.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private void m(int j, int i){
+ m(j, i);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test3_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test3_in.java
new file mode 100644
index 000000000..4d7f0c192
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test3_in.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ private void m(
+ int i,
+ int j){
+ m(i, j);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test3_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test3_out.java
new file mode 100644
index 000000000..9822034f5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test3_out.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ private void m(
+ int j,
+ int i){
+ m(j, i);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test4_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test4_in.java
new file mode 100644
index 000000000..50b1283db
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test4_in.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ private int m(
+ int i,
+ int j){
+ return m(m(i, j), 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test4_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test4_out.java
new file mode 100644
index 000000000..e37883ad0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test4_out.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ private int m(
+ int j,
+ int i){
+ return m(1, m(j, i));
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test5_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test5_in.java
new file mode 100644
index 000000000..891cabe81
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test5_in.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ private void m(
+ int i,
+ int j){
+ m(i, 1 + 2);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test5_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test5_out.java
new file mode 100644
index 000000000..5d1b0bcd9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test5_out.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ private void m(
+ int j,
+ int i){
+ m(1 + 2, i);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test6_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test6_in.java
new file mode 100644
index 000000000..02bf8cd76
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test6_in.java
@@ -0,0 +1,9 @@
+//change to k i j
+package p;
+class A{
+ private void m(int i, int j, int k){
+ }
+ private void foo(){
+ m(1, 2, 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test6_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test6_out.java
new file mode 100644
index 000000000..14f2b6906
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test6_out.java
@@ -0,0 +1,9 @@
+//change to k i j
+package p;
+class A{
+ private void m(int k, int i, int j){
+ }
+ private void foo(){
+ m(3, 1, 2);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test7_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test7_in.java
new file mode 100644
index 000000000..35017b4a9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test7_in.java
@@ -0,0 +1,9 @@
+//change to i k j
+package p;
+class A{
+ private void m(int i, int j, int k){
+ }
+ private void foo(){
+ m(1, 2, 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test7_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test7_out.java
new file mode 100644
index 000000000..76e96b61a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test7_out.java
@@ -0,0 +1,9 @@
+//change to i k j
+package p;
+class A{
+ private void m(int i, int k, int j){
+ }
+ private void foo(){
+ m(1, 3, 2);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test8_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test8_in.java
new file mode 100644
index 000000000..4038ea3b1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test8_in.java
@@ -0,0 +1,9 @@
+//change to k j i
+package p;
+class A{
+ private void m(int i, int j, int k){
+ }
+ private void foo(){
+ m(1, 2, 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test8_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test8_out.java
new file mode 100644
index 000000000..2bf338b20
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test8_out.java
@@ -0,0 +1,9 @@
+//change to k j i
+package p;
+class A{
+ private void m(int k, int j, int i){
+ }
+ private void foo(){
+ m(3, 2, 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test9_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test9_in.java
new file mode 100644
index 000000000..2234f3071
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test9_in.java
@@ -0,0 +1,9 @@
+//change to j i k
+package p;
+class A{
+ private void m(int i, int j, int k){
+ }
+ private void foo(){
+ m(1, 2, 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test9_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test9_out.java
new file mode 100644
index 000000000..20fac3e2f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_test9_out.java
@@ -0,0 +1,9 @@
+//change to j i k
+package p;
+class A{
+ private void m(int j, int i, int k){
+ }
+ private void foo(){
+ m(2, 1, 3);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd28_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd28_in.java
new file mode 100644
index 000000000..dbda6a792
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd28_in.java
@@ -0,0 +1,5 @@
+package p;
+class A{
+ private void m(int i){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd28_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd28_out.java
new file mode 100644
index 000000000..029f99b7c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd28_out.java
@@ -0,0 +1,12 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(int,int)} instead
+ */
+ private void m(int i){
+ m(i, 0);
+ }
+
+ private void m(int i, int x){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd29_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd29_in.java
new file mode 100644
index 000000000..dbda6a792
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd29_in.java
@@ -0,0 +1,5 @@
+package p;
+class A{
+ private void m(int i){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd29_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd29_out.java
new file mode 100644
index 000000000..73840a19b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd29_out.java
@@ -0,0 +1,12 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(int,int)} instead
+ */
+ private void m(int i){
+ m(0, i);
+ }
+
+ private void m(int x, int i){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd30_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd30_in.java
new file mode 100644
index 000000000..ab989d87b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd30_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private void m(int i){
+ m(i);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd30_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd30_out.java
new file mode 100644
index 000000000..73b2fae46
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd30_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(int,int)} instead
+ */
+ private void m(int i){
+ m(i, 0);
+ }
+
+ private void m(int i, int x){
+ m(i, x);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd31_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd31_in.java
new file mode 100644
index 000000000..203fe157f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd31_in.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ void m(int i){
+ m(i);
+ }
+}
+class B extends A{
+ void m(int j){
+ super.m(j);
+ this.m(j);
+ m(j);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd31_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd31_out.java
new file mode 100644
index 000000000..778200fa1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd31_out.java
@@ -0,0 +1,27 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(int,int)} instead
+ */
+ void m(int i){
+ m(i, 0);
+ }
+
+ void m(int i, int x){
+ m(i, x);
+ }
+}
+class B extends A{
+ /**
+ * @deprecated Use {@link #m(int,int)} instead
+ */
+ void m(int j){
+ m(j, 0);
+ }
+
+ void m(int j, int x){
+ super.m(j, x);
+ this.m(j, x);
+ m(j, x);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd32_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd32_in.java
new file mode 100644
index 000000000..ab989d87b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd32_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private void m(int i){
+ m(i);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd32_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd32_out.java
new file mode 100644
index 000000000..25dcf2969
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd32_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(int,int)} instead
+ */
+ private void m(int i){
+ m(0, i);
+ }
+
+ private void m(int x, int i){
+ m(x, i);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd33_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd33_in.java
new file mode 100644
index 000000000..ca119d591
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd33_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private void m(){
+ m();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd33_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd33_out.java
new file mode 100644
index 000000000..cf5508980
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAdd33_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(int)} instead
+ */
+ private void m(){
+ m(0);
+ }
+
+ private void m(int x){
+ m(x);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddRecursive1_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddRecursive1_in.java
new file mode 100644
index 000000000..c80f69dee
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddRecursive1_in.java
@@ -0,0 +1,33 @@
+package p;
+
+class A {
+ int i;
+ void m(int i) {this.i = i;}
+}
+class Super extends A {
+ void m(int i) { super.m(1); }
+}
+class Recursive extends A {
+ void m(int i) { if (true) m(i); }
+}
+class ThisRecursive extends A {
+ void m(int i) { this.m(i); }
+}
+class AlmostRecursive extends A {
+ void m(int i) { new A().m(i); }
+}
+class RecursiveOrNot extends A {
+ void m(int i) { new RecursiveOrNot().m(i); }
+}
+class NonRecursive extends A {
+ void m(int i) { int k= i; }
+}
+class Calling extends A {
+ void bar() { m(17); }
+}
+class Calling2 {
+ void bar() { new A().m(17); }
+}
+class Calling3 {
+ void bar() { new Recursive().m(17); }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddRecursive1_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddRecursive1_out.java
new file mode 100644
index 000000000..4a843ec76
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddRecursive1_out.java
@@ -0,0 +1,81 @@
+package p;
+
+class A {
+ int i;
+ /**
+ * @deprecated Use {@link #m(int,boolean)} instead
+ */
+ void m(int i) {
+ m(i, true);
+ }
+ void m(int i, boolean bool) {this.i = i;}
+}
+class Super extends A {
+ /**
+ * @deprecated Use {@link #m(int,boolean)} instead
+ */
+ void m(int i) {
+ m(i, true);
+ }
+
+ void m(int i, boolean bool) { super.m(1, bool); }
+}
+class Recursive extends A {
+ /**
+ * @deprecated Use {@link #m(int,boolean)} instead
+ */
+ void m(int i) {
+ m(i, true);
+ }
+
+ void m(int i, boolean bool) { if (true) m(i, bool); }
+}
+class ThisRecursive extends A {
+ /**
+ * @deprecated Use {@link #m(int,boolean)} instead
+ */
+ void m(int i) {
+ m(i, true);
+ }
+
+ void m(int i, boolean bool) { this.m(i, bool); }
+}
+class AlmostRecursive extends A {
+ /**
+ * @deprecated Use {@link #m(int,boolean)} instead
+ */
+ void m(int i) {
+ m(i, true);
+ }
+
+ void m(int i, boolean bool) { new A().m(i, true); }
+}
+class RecursiveOrNot extends A {
+ /**
+ * @deprecated Use {@link #m(int,boolean)} instead
+ */
+ void m(int i) {
+ m(i, true);
+ }
+
+ void m(int i, boolean bool) { new RecursiveOrNot().m(i, bool); }
+}
+class NonRecursive extends A {
+ /**
+ * @deprecated Use {@link #m(int,boolean)} instead
+ */
+ void m(int i) {
+ m(i, true);
+ }
+
+ void m(int i, boolean bool) { int k= i; }
+}
+class Calling extends A {
+ void bar() { m(17, true); }
+}
+class Calling2 {
+ void bar() { new A().m(17, true); }
+}
+class Calling3 {
+ void bar() { new Recursive().m(17, true); }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddReorderRename34_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddReorderRename34_in.java
new file mode 100644
index 000000000..dd3f8c24a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddReorderRename34_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddReorderRename34_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddReorderRename34_out.java
new file mode 100644
index 000000000..02504982d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddReorderRename34_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(boolean,Object,int)} instead
+ */
+ private int m(int iii, boolean j){
+ return m(j, null, iii);
+ }
+
+ private int m(boolean jj, Object x, int i){
+ return m(false, x, m(jj, x, i));
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_Ref_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_Ref_in.java
new file mode 100644
index 000000000..61c50b76f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_Ref_in.java
@@ -0,0 +1,7 @@
+package p;
+
+class Ref {
+ void m() {
+ new A().m(("a"); // missing )
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_Ref_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_Ref_out.java
new file mode 100644
index 000000000..5b04d3296
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_Ref_out.java
@@ -0,0 +1,7 @@
+package p;
+
+class Ref {
+ void m() {
+ new A().m(("a"), null; // missing )
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_in.java
new file mode 100644
index 000000000..9513cf579
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_in.java
@@ -0,0 +1,5 @@
+package p;
+
+class A {
+ public void m(String node) {}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_out.java
new file mode 100644
index 000000000..e9ab8c621
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAddSyntaxError01_out.java
@@ -0,0 +1,5 @@
+package p;
+
+class A {
+ public void m(String node, Object newParam) {}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll35_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll35_in.java
new file mode 100644
index 000000000..2a9c8b40a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll35_in.java
@@ -0,0 +1,7 @@
+package p;
+//only visibility change - to public
+class A{
+ private int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll35_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll35_out.java
new file mode 100644
index 000000000..cc2fa7b99
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll35_out.java
@@ -0,0 +1,7 @@
+package p;
+//only visibility change - to public
+class A{
+ public int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll36_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll36_in.java
new file mode 100644
index 000000000..7ee41c89b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll36_in.java
@@ -0,0 +1,7 @@
+package p;
+//only visibility change - to private
+class A{
+ public int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll36_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll36_out.java
new file mode 100644
index 000000000..2ef5a2983
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll36_out.java
@@ -0,0 +1,7 @@
+package p;
+//only visibility change - to private
+class A{
+ private int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll37_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll37_in.java
new file mode 100644
index 000000000..a84743964
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll37_in.java
@@ -0,0 +1,12 @@
+package p;
+//to protected
+class A{
+ public int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+}
+class B extends A{
+ public int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll37_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll37_out.java
new file mode 100644
index 000000000..df49d8557
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll37_out.java
@@ -0,0 +1,12 @@
+package p;
+//to protected
+class A{
+ protected int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+}
+class B extends A{
+ protected int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll38_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll38_in.java
new file mode 100644
index 000000000..1fb09e836
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll38_in.java
@@ -0,0 +1,12 @@
+package p;
+//to protected
+class A{
+ int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+}
+class B extends A{
+ public int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll38_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll38_out.java
new file mode 100644
index 000000000..00f60b672
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll38_out.java
@@ -0,0 +1,12 @@
+package p;
+//to protected
+class A{
+ protected int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+}
+class B extends A{
+ public int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll39_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll39_in.java
new file mode 100644
index 000000000..f4e05096f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll39_in.java
@@ -0,0 +1,12 @@
+package p;
+//to public
+class A{
+ protected int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+}
+class B extends A{
+ protected int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll39_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll39_out.java
new file mode 100644
index 000000000..2f3c01608
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll39_out.java
@@ -0,0 +1,12 @@
+package p;
+//to public
+class A{
+ public int m(boolean jj, Object x, int i){
+ return m(false, x, m(jj, x, i));
+ }
+}
+class B extends A{
+ public int m(boolean jj, Object x, int i){
+ return m(false, x, m(jj, x, i));
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll40_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll40_in.java
new file mode 100644
index 000000000..f4e05096f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll40_in.java
@@ -0,0 +1,12 @@
+package p;
+//to public
+class A{
+ protected int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+}
+class B extends A{
+ protected int m(int iii, boolean j){
+ return m(m(iii, j), false);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll40_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll40_out.java
new file mode 100644
index 000000000..33960fed7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll40_out.java
@@ -0,0 +1,12 @@
+package p;
+//to public
+class A{
+ public int m(boolean jj, int[] x, int i){
+ return m(false, x, m(jj, x, i));
+ }
+}
+class B extends A{
+ public int m(boolean jj, int[] x, int i){
+ return m(false, x, m(jj, x, i));
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll41_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll41_in.java
new file mode 100644
index 000000000..1b30b8916
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll41_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ void m(int i){
+ m(0);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll41_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll41_out.java
new file mode 100644
index 000000000..d4565c71d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll41_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m()} instead
+ */
+ void m(int i){
+ m();
+ }
+
+ void m(){
+ m();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll42_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll42_in.java
new file mode 100644
index 000000000..1b30b8916
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll42_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ void m(int i){
+ m(0);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll42_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll42_out.java
new file mode 100644
index 000000000..6935d8ca0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll42_out.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ void m(int i){
+ m(i);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll43_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll43_in.java
new file mode 100644
index 000000000..9e423224b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll43_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ void m(int i, int j){
+ m(0, 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll43_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll43_out.java
new file mode 100644
index 000000000..33c9ec92b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll43_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(int)} instead
+ */
+ void m(int i, int j){
+ m(j);
+ }
+
+ void m(int j){
+ m(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll44_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll44_in.java
new file mode 100644
index 000000000..9e423224b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll44_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ void m(int i, int j){
+ m(0, 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll44_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll44_out.java
new file mode 100644
index 000000000..4981e574a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll44_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ boolean m(int j){
+ m(1);
+ }
+
+ /**
+ * @deprecated use instead m(int j)
+ */
+ public void m(int i, int j) {
+ m(j);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll45_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll45_in.java
new file mode 100644
index 000000000..9e423224b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll45_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ void m(int i, int j){
+ m(0, 1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll45_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll45_out.java
new file mode 100644
index 000000000..7090598b1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll45_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ void m(boolean j){
+ m(1);
+ }
+
+ /**
+ * @deprecated use instead m(boolean j)
+ */
+ public void m(int i, int j) {
+ m(j); // but what if the other direction - was value, now void?
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll46_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll46_in.java
new file mode 100644
index 000000000..8a28c5e0b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll46_in.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ A(){
+ }
+ void f(){
+ new A();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll46_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll46_out.java
new file mode 100644
index 000000000..00fbc25d9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll46_out.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ A(int i){
+ }
+ void f(){
+ new A(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll47_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll47_in.java
new file mode 100644
index 000000000..9badbb3c3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll47_in.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ A(){
+ }
+ void f(){
+ new A(){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll47_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll47_out.java
new file mode 100644
index 000000000..3d941b8a0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll47_out.java
@@ -0,0 +1,8 @@
+package p;
+class A{
+ A(int i){
+ }
+ void f(){
+ new A(1){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll48_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll48_in.java
new file mode 100644
index 000000000..51c75dea3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll48_in.java
@@ -0,0 +1,10 @@
+package p;
+class A{
+ A(){
+ }
+}
+class B extends A{
+ B(){
+ super();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll48_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll48_out.java
new file mode 100644
index 000000000..a475abd0e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll48_out.java
@@ -0,0 +1,10 @@
+package p;
+class A{
+ A(int i){
+ }
+}
+class B extends A{
+ B(){
+ super(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll49_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll49_in.java
new file mode 100644
index 000000000..cac6cfdaf
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll49_in.java
@@ -0,0 +1,9 @@
+package p;
+class A{
+ A(){
+ }
+}
+class B extends A{
+ B(){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll49_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll49_out.java
new file mode 100644
index 000000000..a475abd0e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll49_out.java
@@ -0,0 +1,10 @@
+package p;
+class A{
+ A(int i){
+ }
+}
+class B extends A{
+ B(){
+ super(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll50_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll50_in.java
new file mode 100644
index 000000000..be34b7aed
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll50_in.java
@@ -0,0 +1,7 @@
+package p;
+class A{
+ A(){
+ }
+}
+class B extends A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll50_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll50_out.java
new file mode 100644
index 000000000..acbf6d4ee
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll50_out.java
@@ -0,0 +1,11 @@
+package p;
+class A{
+ A(int i){
+ }
+}
+class B extends A{
+
+ B() {
+ super(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll51_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll51_in.java
new file mode 100644
index 000000000..2d9552307
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll51_in.java
@@ -0,0 +1,15 @@
+package p;
+class F{
+ class A{
+ A(){
+ }
+ }
+}
+class X extends F.A{
+ X(){
+ new F().super();
+ new F().new A();
+ new F().new A(){};
+ new F(){}.new A(){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll51_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll51_out.java
new file mode 100644
index 000000000..8e1711c9b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll51_out.java
@@ -0,0 +1,15 @@
+package p;
+class F{
+ class A{
+ A(int i){
+ }
+ }
+}
+class X extends F.A{
+ X(){
+ new F().super(1);
+ new F().new A(1);
+ new F().new A(1){};
+ new F(){}.new A(1){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll52_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll52_in.java
new file mode 100644
index 000000000..c3d7a1e02
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll52_in.java
@@ -0,0 +1,12 @@
+package p;
+class A{
+ A(){
+ }
+}
+class B extends A{
+ B(){
+ this(3);
+ }
+ B(int y){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll52_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll52_out.java
new file mode 100644
index 000000000..0189181b3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll52_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ A(int i){
+ }
+}
+class B extends A{
+ B(){
+ this(3);
+ }
+ B(int y){
+ super(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll53_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll53_in.java
new file mode 100644
index 000000000..c449e33ab
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll53_in.java
@@ -0,0 +1,7 @@
+//change type of a to HashSet
+package p;
+
+class A {
+ void m(int a){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll53_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll53_out.java
new file mode 100644
index 000000000..343f333ff
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll53_out.java
@@ -0,0 +1,9 @@
+//change type of a to HashSet
+package p;
+
+import java.util.HashSet;
+
+class A {
+ void m(HashSet a){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll54_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll54_in.java
new file mode 100644
index 000000000..6978f8f09
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll54_in.java
@@ -0,0 +1,9 @@
+//change type of a to List
+package p;
+
+import java.util.List;
+
+class A {
+ void m(int a){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll54_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll54_out.java
new file mode 100644
index 000000000..a5d24a574
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll54_out.java
@@ -0,0 +1,9 @@
+//change type of a to List
+package p;
+
+import java.util.List;
+
+class A {
+ void m(List a){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll55_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll55_in.java
new file mode 100644
index 000000000..9752d7560
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll55_in.java
@@ -0,0 +1,8 @@
+package p;//add boolean e before d
+
+class A {
+ public void m(Object[] b, int c, boolean d) {
+ m(new Object[] { }, Integer.MAX_VALUE, false);
+ }
+
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll55_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll55_out.java
new file mode 100644
index 000000000..2a387e1e9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll55_out.java
@@ -0,0 +1,8 @@
+package p;//add boolean e before d
+
+class A {
+ public void m(Object[] b, int c, boolean e, boolean d) {
+ m(new Object[] { }, Integer.MAX_VALUE, e, false);
+ }
+
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll56_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll56_in.java
new file mode 100644
index 000000000..08690e5c2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll56_in.java
@@ -0,0 +1,19 @@
+package p; //remove 'part'
+
+import java.util.Vector;
+
+class HistoryFrame extends Vector {
+
+ public HistoryFrame(EvaViewPart part, int title) {
+
+ super(title);
+
+ }
+}
+class EvaViewPart {
+
+ private void showJFreeChartFrame() {
+ HistoryFrame frame= new HistoryFrame(this, 5);
+ }
+
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll56_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll56_out.java
new file mode 100644
index 000000000..b051dd750
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll56_out.java
@@ -0,0 +1,19 @@
+package p; //remove 'part'
+
+import java.util.Vector;
+
+class HistoryFrame extends Vector {
+
+ public HistoryFrame(int title) {
+
+ super(title);
+
+ }
+}
+class EvaViewPart {
+
+ private void showJFreeChartFrame() {
+ HistoryFrame frame= new HistoryFrame(5);
+ }
+
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll57_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll57_in.java
new file mode 100644
index 000000000..745c60870
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll57_in.java
@@ -0,0 +1,22 @@
+package p; //swap hello and goodbye
+
+class TEST
+{
+ public interface X
+ {
+ public void method(final int i, String hello, final String goodbye);
+ }
+
+ private static X x = new X()
+ {
+ public void method(final int i, String hello, final String goodbye)
+ {
+ System.err.println(hello + goodbye);
+ }
+ };
+
+ public static void main(String[] args)
+ {
+ x.method(1, "hello", "goodbye");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll57_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll57_out.java
new file mode 100644
index 000000000..c7202fb0b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll57_out.java
@@ -0,0 +1,22 @@
+package p; //swap hello and goodbye
+
+class TEST
+{
+ public interface X
+ {
+ public void method(final int i, final String goodbye, String hello);
+ }
+
+ private static X x = new X()
+ {
+ public void method(final int i, final String goodbye, String hello)
+ {
+ System.err.println(hello + goodbye);
+ }
+ };
+
+ public static void main(String[] args)
+ {
+ x.method(1, "goodbye", "hello");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll58_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll58_in.java
new file mode 100644
index 000000000..8c8c4bd79
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll58_in.java
@@ -0,0 +1,25 @@
+package p;
+
+abstract class A {
+ /**
+ * @param a an a
+ * @param b bee
+ * @return the number
+ * @see #m(int, String[][][])
+ */
+ public abstract int m(int a, String[] b[][]);
+}
+class B extends A {
+ public int m(int number, String[] b[][]) {
+ return number + 0;
+ }
+}
+class C extends B {
+ /**
+ * @param a an a
+ * @param b bee
+ */
+ public int m(int a, String[] strings[][]) {
+ return a + 17;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll58_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll58_out.java
new file mode 100644
index 000000000..4b6ae9b1e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll58_out.java
@@ -0,0 +1,25 @@
+package p;
+
+abstract class A {
+ /**
+ * @param bbb bee
+ * @param abb an a
+ * @return the number
+ * @see #m(String[][][], int)
+ */
+ public abstract int m(String[] bbb[][], int abb);
+}
+class B extends A {
+ public int m(String[] bbb[][], int number) {
+ return number + 0;
+ }
+}
+class C extends B {
+ /**
+ * @param bbb bee
+ * @param abb an a
+ */
+ public int m(String[] strings[][], int abb) {
+ return abb + 17;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll59_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll59_in.java
new file mode 100644
index 000000000..9747b217d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll59_in.java
@@ -0,0 +1,36 @@
+package p;
+import java.util.*;
+class A {
+ /**
+ * @param from 1st param of {@link A#getList(int, long) me}
+ * @see getList
+ * @see #getList(int, long)
+ * @see #getList(int from, tho long)
+ * @see #getList(int from, long tho)
+ * @param to
+ * @return list
+ * @param bogus{@link #getList}
+ */
+ public ArrayList getList(int from, long to) {
+ return new ArrayList((int)to-from);
+ }
+
+ /** start here
+ * Doesn't call {@linkplain #getList(int, long)}
+ *
+ * @see getList
+ * @see #getList
+ * @see A#getList(int, long)
+ * @see A#getList(int, long, Object[][])
+ * @see A#getList (
+ * int fro,long tho
+ * )
+ * @see #getList(..)
+ * @see p.A#getList(int, int, boolean)
+ * @see <a href="spec.html#section">Java Spec</a>
+ * @see A# getList(int, long)
+ */
+ public ArrayList getList(int from, long to, Object[] arr[]) {
+ return new ArrayList(Arrays.asList(arr).subList(from, (int)to));
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll59_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll59_out.java
new file mode 100644
index 000000000..5201b8af6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll59_out.java
@@ -0,0 +1,37 @@
+package p;
+import java.util.*;
+class A {
+ /**
+ * @param really TODO
+ * @param f 1st param of {@link A#getList(boolean, int, char) me}
+ * @param t
+ * @see getList
+ * @see #getList(boolean, int, char)
+ * @see #getList(int from, tho long)
+ * @see #getList(boolean really, int f, char t)
+ * @return list
+ * @param bogus{@link #getList}
+ */
+ public List getList(boolean really, int f, char t) {
+ return new ArrayList((int)t-f);
+ }
+
+ /** start here
+ * Doesn't call {@linkplain #getList(boolean, int, char)}
+ *
+ * @see getList
+ * @see #getList
+ * @see A#getList(boolean, int, char)
+ * @see A#getList(int, long, Object[][])
+ * @see A#getList (
+ * boolean really,int f, char t
+ * )
+ * @see #getList(..)
+ * @see p.A#getList(int, int, boolean)
+ * @see <a href="spec.html#section">Java Spec</a>
+ * @see A# getList(boolean, int, char)
+ */
+ public ArrayList getList(int from, long to, Object[] arr[]) {
+ return new ArrayList(Arrays.asList(arr).subList(from, (int)to));
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll60_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll60_in.java
new file mode 100644
index 000000000..19753434d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll60_in.java
@@ -0,0 +1,44 @@
+package p;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+
+class A {
+ /**
+ * @param to {@link #getList}
+ * @version throwaway
+ * @param from 1st param of {@link A#getList(int, long) me}
+ * @see #getList(int, long)
+ * @param from 2nd
+ * @see #getList(int from, long tho)
+ * @param to
+ * @throws java.io.IOException
+ * @return the list
+ * @throws IOException
+ */
+ public ArrayList getList(int from, long to) throws IOException {
+ //change to: java.util.List getList(long tho, List l, int to) throws Exception
+ // (swap parameters, insert new in between, change return type, change Ex.)
+ return new ArrayList((int)to-from);
+ }
+}
+
+interface I {
+ public ArrayList getList(int from, long to) throws java.io.IOException;
+}
+
+interface J {
+ /** Doc: @param t t */
+ public ArrayList getList(int f, long t) throws FileNotFoundException;
+}
+
+class B extends A implements I, J {
+ /**
+ * @return {@inheritDoc}
+ * @see p.A#getList(int, long)
+ */
+ public ArrayList getList(int from, long to) throws FileNotFoundException {
+ return new ArrayList() {};
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll60_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll60_out.java
new file mode 100644
index 000000000..766580129
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll60_out.java
@@ -0,0 +1,46 @@
+package p;
+
+import java.io.FileNotFoundException;
+import java.util.ArrayList;
+import java.util.List;
+
+class A {
+ /**
+ * @param tho {@link #getList}
+ * @param tho
+ * @param l TODO
+ * @param to 1st param of {@link A#getList(long, List, int) me}
+ * @param to 2nd
+ * @version throwaway
+ * @throws Exception TODO
+ * @see #getList(long, List, int)
+ * @see #getList(long tho, List l, int to)
+ * @return the list
+ */
+ public List getList(long tho, List l, int to) throws Exception {
+ //change to: java.util.List getList(long tho, List l, int to) throws Exception
+ // (swap parameters, insert new in between, change return type, change Ex.)
+ return new ArrayList((int)tho-to);
+ }
+}
+
+interface I {
+ public List getList(long tho, List l, int to) throws Exception;
+}
+
+interface J {
+ /** Doc: @param t t
+ * @param l TODO
+ * @throws Exception TODO*/
+ public List getList(long t, List l, int f) throws FileNotFoundException, Exception;
+}
+
+class B extends A implements I, J {
+ /**
+ * @return {@inheritDoc}
+ * @see p.A#getList(long, List, int)
+ */
+ public List getList(long tho, List l, int to) throws FileNotFoundException, Exception {
+ return new ArrayList() {};
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll61_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll61_in.java
new file mode 100644
index 000000000..f1750067d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll61_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ Object m()[]{
+ return null;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll61_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll61_out.java
new file mode 100644
index 000000000..57d6693f1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll61_out.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ Object m(){
+ return null;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll62_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll62_in.java
new file mode 100644
index 000000000..f7baa5599
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll62_in.java
@@ -0,0 +1,7 @@
+package p;
+
+import java.math.BigInteger;
+
+class A {
+ void m(BigInteger/*64*/a/*xxx*/, BigInteger /*64*/b /*xxx*/, BigInteger/*64*/ c/*xxx*/) { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll62_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll62_out.java
new file mode 100644
index 000000000..6d5734579
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll62_out.java
@@ -0,0 +1,6 @@
+package p;
+
+
+class A {
+ void m(long/*64*/x/*xxx*/, long /*64*/y /*xxx*/, long/*64*/ z/*xxx*/) { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll63_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll63_in.java
new file mode 100644
index 000000000..0f8422eca
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll63_in.java
@@ -0,0 +1,12 @@
+package p;
+
+class A {
+ void m() { }
+}
+class Sub extends A {
+ @Override
+ void m() { }
+}
+class Sub2 extends A {
+ @Override @Deprecated void m() { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll63_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll63_out.java
new file mode 100644
index 000000000..0fd8337d2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll63_out.java
@@ -0,0 +1,14 @@
+package p;
+
+class A {
+ protected void m() { }
+}
+class Sub extends A {
+ @Override
+ protected
+ void m() { }
+}
+class Sub2 extends A {
+ @Override @Deprecated
+ protected void m() { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll64_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll64_in.java
new file mode 100644
index 000000000..bdda6c00a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll64_in.java
@@ -0,0 +1,20 @@
+package p;
+
+class A {
+ void m() {
+ new Runnable() {
+ public void run() {
+ new Cloneable() {
+ public Object clone() {
+ nasty("a", new Local());
+ return null;
+ }
+ class Local {}
+ private void nasty(String name, Local i) {
+
+ }
+ };
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll64_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll64_out.java
new file mode 100644
index 000000000..cdbb452f5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testAll64_out.java
@@ -0,0 +1,22 @@
+package p;
+
+import java.util.List;
+
+class A {
+ void m() {
+ new Runnable() {
+ public void run() {
+ new Cloneable() {
+ public Object clone() {
+ nasty(new Local(), null);
+ return null;
+ }
+ class Local {}
+ private void nasty(Local i, List<Local> list) {
+
+ }
+ };
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate01_in.java
new file mode 100644
index 000000000..1fca8b2a5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate01_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private void m(int i, String j) {
+ m(i, j);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate01_out.java
new file mode 100644
index 000000000..3185f11e1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate01_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ /**
+ * @deprecated Use {@link #m(String,int)} instead
+ */
+ private void m(int i, String j) {
+ m(j, i);
+ }
+
+ private void m(String j, int i) {
+ m(j, i);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate02_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate02_in.java
new file mode 100644
index 000000000..de43f428a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate02_in.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ private void m() {
+ m();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate02_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate02_out.java
new file mode 100644
index 000000000..433ec809f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate02_out.java
@@ -0,0 +1,16 @@
+package p;
+
+import java.util.List;
+
+class A{
+ /**
+ * @deprecated Use {@link #m(List)} instead
+ */
+ private void m() {
+ m(null);
+ }
+
+ private void m(List list) {
+ m(list);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate03_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate03_in.java
new file mode 100644
index 000000000..8216e755e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate03_in.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.List;
+
+class A{
+ private void m(int i, String j) {
+ List l;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate03_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate03_out.java
new file mode 100644
index 000000000..4fd1cc1d6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate03_out.java
@@ -0,0 +1,16 @@
+package p;
+
+import java.util.List;
+
+class A{
+ /**
+ * @deprecated Use {@link #m(String,int)} instead
+ */
+ private void m(int i, String j) {
+ m(j, i);
+ }
+
+ private void m(String j, int i) {
+ List l;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate04_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate04_in.java
new file mode 100644
index 000000000..580ca4eb7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate04_in.java
@@ -0,0 +1,8 @@
+package p;
+
+import java.util.List;
+
+class A{
+ private void m(List l) {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate04_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate04_out.java
new file mode 100644
index 000000000..eed2965b1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate04_out.java
@@ -0,0 +1,15 @@
+package p;
+
+import java.util.List;
+
+class A{
+ /**
+ * @deprecated Use {@link #m()} instead
+ */
+ private void m(List l) {
+ m();
+ }
+
+ private void m() {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate05_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate05_in.java
new file mode 100644
index 000000000..38099717f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate05_in.java
@@ -0,0 +1,8 @@
+package p;
+
+class A {
+ void m() {}
+ void ref() {
+ m();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate05_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate05_out.java
new file mode 100644
index 000000000..d6d756920
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testDelegate05_out.java
@@ -0,0 +1,14 @@
+package p;
+
+class A {
+ /**
+ * @deprecated Use {@link #renamed()} instead
+ */
+ void m() {
+ renamed();
+ }
+ void renamed() {}
+ void ref() {
+ renamed();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum01_in.java
new file mode 100644
index 000000000..2d6bdea04
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum01_in.java
@@ -0,0 +1,11 @@
+package p;
+
+/**
+ * @see #A(int)
+ * @see A#A(int)
+ */
+enum A {
+ A(1), B(2) { }
+ ;
+ A(int i) { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum01_out.java
new file mode 100644
index 000000000..6943d286d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum01_out.java
@@ -0,0 +1,11 @@
+package p;
+
+/**
+ * @see #A(int, int)
+ * @see A#A(int, int)
+ */
+enum A {
+ A(1, 17), B(2, 17) { }
+ ;
+ private A(int i, int a) { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum02_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum02_in.java
new file mode 100644
index 000000000..01c185991
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum02_in.java
@@ -0,0 +1,11 @@
+package p;
+
+/**
+ * @see #A_testEnum02_in(int)
+ * @see A_testEnum02_in#A_testEnum02_in(int)
+ */
+enum A_testEnum02_in {
+ A(1), B(2) { }
+ ;
+ A_testEnum02_in(int i) { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum02_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum02_out.java
new file mode 100644
index 000000000..b58968c2a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum02_out.java
@@ -0,0 +1,11 @@
+package p;
+
+/**
+ * @see #A_testEnum02_in(int, int)
+ * @see A_testEnum02_in#A_testEnum02_in(int, int)
+ */
+enum A_testEnum02_in {
+ A(1, 17), B(2, 17) { }
+ ;
+ private A_testEnum02_in(int i, int a) { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum03_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum03_in.java
new file mode 100644
index 000000000..6263a135a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum03_in.java
@@ -0,0 +1,14 @@
+package p;
+
+/**
+ * @see #A
+ * @see #A()
+ * @see A#A
+ * @see A#A()
+ */
+enum A {
+ A(1), B(2) { }, C, D(), E { }, F() { }
+ ;
+ A() {}
+ A(int i) { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum03_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum03_out.java
new file mode 100644
index 000000000..dee6daca8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum03_out.java
@@ -0,0 +1,14 @@
+package p;
+
+/**
+ * @see #A
+ * @see #A(Object)
+ * @see A#A
+ * @see A#A(Object)
+ */
+enum A {
+ A(1), B(2) { }, C(null), D(null), E(null) { }, F(null) { }
+ ;
+ A(Object obj) {}
+ A(int i) { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum04_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum04_in.java
new file mode 100644
index 000000000..82aaccb5f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum04_in.java
@@ -0,0 +1,18 @@
+package p;
+
+class Outer {
+ enum A {
+ GREEN, DARK_GREEN, BLACK;
+ A getNext() {
+ switch (this) {
+ case GREEN : return DARK_GREEN;
+ case DARK_GREEN : return BLACK;
+ case BLACK : return GREEN;
+ default : return null;
+ }
+ }
+ }
+ {
+ A a= A.GREEN.getNext();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum04_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum04_out.java
new file mode 100644
index 000000000..cfc0d21e0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testEnum04_out.java
@@ -0,0 +1,18 @@
+package p;
+
+class Outer {
+ enum A {
+ GREEN, DARK_GREEN, BLACK;
+ public A getNext(boolean forward) {
+ switch (this) {
+ case GREEN : return DARK_GREEN;
+ case DARK_GREEN : return BLACK;
+ case BLACK : return GREEN;
+ default : return null;
+ }
+ }
+ }
+ {
+ A a= A.GREEN.getNext(true);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException01_in.java
new file mode 100644
index 000000000..ff2e8c14e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException01_in.java
@@ -0,0 +1,25 @@
+package p;
+
+import java.io.IOException;
+
+abstract class A {
+ public abstract int m(long l) throws IOException;
+}
+
+class B extends A {
+ public int m(long l) throws IOException {
+ return 17;
+ }
+ public int m(int i) {
+ return i;
+ }
+}
+
+class C extends B {
+}
+
+class D extends A {
+ public int m(long l) {
+ return 0;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException01_out.java
new file mode 100644
index 000000000..fb302a7e1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException01_out.java
@@ -0,0 +1,26 @@
+package p;
+
+import java.io.IOException;
+import java.util.zip.ZipException;
+
+abstract class A {
+ public abstract int m(long l) throws IOException, ZipException;
+}
+
+class B extends A {
+ public int m(long l) throws IOException, ZipException {
+ return 17;
+ }
+ public int m(int i) {
+ return i;
+ }
+}
+
+class C extends B {
+}
+
+class D extends A {
+ public int m(long l) throws ZipException {
+ return 0;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_in.java
new file mode 100644
index 000000000..ad60d6168
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_in.java
@@ -0,0 +1,10 @@
+package p;
+
+abstract class A {
+ public abstract void m();
+}
+
+class B extends A {
+ public int m() throws Illegal {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_out.java
new file mode 100644
index 000000000..afdae8e68
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException02_out.java
@@ -0,0 +1,10 @@
+package p;
+
+abstract class A {
+ public abstract void m() throws RuntimeException;
+}
+
+class B extends A {
+ public int m() throws Illegal, RuntimeException {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_in.java
new file mode 100644
index 000000000..afdae8e68
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_in.java
@@ -0,0 +1,10 @@
+package p;
+
+abstract class A {
+ public abstract void m() throws RuntimeException;
+}
+
+class B extends A {
+ public int m() throws Illegal, RuntimeException {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_out.java
new file mode 100644
index 000000000..ad60d6168
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException03_out.java
@@ -0,0 +1,10 @@
+package p;
+
+abstract class A {
+ public abstract void m();
+}
+
+class B extends A {
+ public int m() throws Illegal {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException04_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException04_in.java
new file mode 100644
index 000000000..8c6e82acb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException04_in.java
@@ -0,0 +1,10 @@
+package p;
+
+abstract class A {
+ public abstract void m();
+}
+
+class B extends A {
+ public int m() throws RuntimeException {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException04_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException04_out.java
new file mode 100644
index 000000000..924aa8943
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException04_out.java
@@ -0,0 +1,12 @@
+package p;
+
+import java.io.IOException;
+
+abstract class A {
+ public abstract void m() throws IOException, ClassNotFoundException;
+}
+
+class B extends A {
+ public int m() throws RuntimeException, IOException, ClassNotFoundException {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException05_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException05_in.java
new file mode 100644
index 000000000..24a972e53
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException05_in.java
@@ -0,0 +1,13 @@
+package org.eclipse.p;
+
+import java.io.IOException;
+
+class A {
+ /**
+ * @throws Exception
+ * @throws IOException
+ * @throws IllegalArgumentException
+ */
+ void m() throws Exception, IOException, IllegalArgumentException {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException05_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException05_out.java
new file mode 100644
index 000000000..6bb544fb3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testException05_out.java
@@ -0,0 +1,10 @@
+package org.eclipse.p;
+
+
+class A {
+ /**
+ * @throws Exception
+ */
+ void m() throws Exception {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics01_in.java
new file mode 100644
index 000000000..548316cdd
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics01_in.java
@@ -0,0 +1,11 @@
+package p;
+
+class A<E> {
+ void m(Integer i, E e) {}
+}
+
+class Sub<Q> extends A<Q> {
+ void m(Integer i, Q q) {
+ super.m(i, q);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics01_out.java
new file mode 100644
index 000000000..a82b706cc
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics01_out.java
@@ -0,0 +1,25 @@
+package p;
+
+class A<E> {
+ /**
+ * @deprecated Use {@link #m(E,Integer)} instead
+ */
+ void m(Integer i, E e) {
+ m(e, i);
+ }
+
+ void m(E e, Integer integer) {}
+}
+
+class Sub<Q> extends A<Q> {
+ /**
+ * @deprecated Use {@link #m(Q,Integer)} instead
+ */
+ void m(Integer i, Q q) {
+ m(q, i);
+ }
+
+ void m(Q q, Integer integer) {
+ super.m(q, integer);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics02_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics02_in.java
new file mode 100644
index 000000000..4ead4c2cb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics02_in.java
@@ -0,0 +1,9 @@
+package p;
+
+class A<E> {
+ <T> void m(T t, E e) {}
+}
+
+class Sub<Q> extends A<Q> {
+ void m(Integer i, Q q) {}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics02_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics02_out.java
new file mode 100644
index 000000000..c00c59825
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics02_out.java
@@ -0,0 +1,12 @@
+package p;
+
+import java.util.HashMap;
+import java.util.List;
+
+class A<E> {
+ <T> void m(E e, T t, List<HashMap> maps) {}
+}
+
+class Sub<Q> extends A<Q> {
+ void m(Integer i, Q q) {}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics03_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics03_in.java
new file mode 100644
index 000000000..25c4c82e3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics03_in.java
@@ -0,0 +1,5 @@
+package p;
+
+class A<E> {
+ <T> void m(T t, E e) {}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics03_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics03_out.java
new file mode 100644
index 000000000..e297fc37b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics03_out.java
@@ -0,0 +1,8 @@
+package p;
+
+import java.util.HashMap;
+import java.util.List;
+
+class A<E> {
+ <T> void m(E e, T t, List<HashMap> maps) {}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics04_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics04_in.java
new file mode 100644
index 000000000..bca352623
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics04_in.java
@@ -0,0 +1,18 @@
+package p;
+
+import java.util.ArrayList;
+import java.util.List;
+
+class A<E> {
+ public <T extends Number> void m(List<Integer> li, A<String> as) {}
+}
+
+class Sub<E> extends A<E> {
+ public <T extends Number> void m(List<Integer> li, A<String> as) {}
+
+ void test() {
+ A<String> as= new A<String>();
+ as.m(new ArrayList<Integer>(1), as);
+ new Sub<Double>().m(new ArrayList<Integer>(2), as);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics04_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics04_out.java
new file mode 100644
index 000000000..00e7b55ce
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics04_out.java
@@ -0,0 +1,17 @@
+package p;
+
+import java.util.List;
+
+class A<E> {
+ public <T extends Number> void m(A<String> as, List<Integer> li) {}
+}
+
+class Sub<E> extends A<E> {
+ public <T extends Number> void m(A<String> as, List<Integer> li) {}
+
+ void test() {
+ A<String> as= new A<String>();
+ as.m(as, null);
+ new Sub<Double>().m(as, null);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics05_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics05_in.java
new file mode 100644
index 000000000..66186e52e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics05_in.java
@@ -0,0 +1,11 @@
+package p;
+
+interface I
+{
+ public void test(Class arg);
+}
+
+class C implements I
+{
+ public void test(Class arg) {}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics05_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics05_out.java
new file mode 100644
index 000000000..73c5bf2b4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics05_out.java
@@ -0,0 +1,11 @@
+package p;
+
+interface I
+{
+ public void test(Class<?> arg);
+}
+
+class C implements I
+{
+ public void test(Class<?> arg) {}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics06_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics06_in.java
new file mode 100644
index 000000000..65cacad6c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics06_in.java
@@ -0,0 +1,6 @@
+package p;
+
+class C {
+ private static <E extends Exception> void foo(final String string) throws E {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics06_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics06_out.java
new file mode 100644
index 000000000..c43ad7a86
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testGenerics06_out.java
@@ -0,0 +1,6 @@
+package p;
+
+class C {
+ private static <E extends Exception> void foo() throws E {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport01_in.java
new file mode 100644
index 000000000..c9b05359d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport01_in.java
@@ -0,0 +1,17 @@
+package p;
+
+import java.security.Permission;
+
+abstract class A {
+ public abstract int m();
+ Permission perm;
+ protected void finalize() {
+ m();
+ }
+}
+
+class B extends A {
+ public int m() {
+ return 17;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport01_out.java
new file mode 100644
index 000000000..56e9a2da9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport01_out.java
@@ -0,0 +1,17 @@
+package p;
+
+import java.security.Permission;
+
+abstract class A {
+ public abstract int m(java.security.acl.Permission acl, Permission p);
+ Permission perm;
+ protected void finalize() {
+ m(null, perm);
+ }
+}
+
+class B extends A {
+ public int m(java.security.acl.Permission acl, Permission p) {
+ return 17;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport02_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport02_in.java
new file mode 100644
index 000000000..c9b05359d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport02_in.java
@@ -0,0 +1,17 @@
+package p;
+
+import java.security.Permission;
+
+abstract class A {
+ public abstract int m();
+ Permission perm;
+ protected void finalize() {
+ m();
+ }
+}
+
+class B extends A {
+ public int m() {
+ return 17;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport02_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport02_out.java
new file mode 100644
index 000000000..a2b1fa1a8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport02_out.java
@@ -0,0 +1,17 @@
+package p;
+
+import java.security.Permission;
+
+abstract class A {
+ public abstract int m(Permission p, java.security.acl.Permission acl);
+ Permission perm;
+ protected void finalize() {
+ m(null, null);
+ }
+}
+
+class B extends A {
+ public int m(Permission p, java.security.acl.Permission acl) {
+ return 17;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport03_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport03_in.java
new file mode 100644
index 000000000..93dd56c5e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport03_in.java
@@ -0,0 +1,14 @@
+package p;
+
+abstract class A {
+ public abstract int m();
+ protected void finalize() {
+ m();
+ }
+}
+
+class B extends A {
+ public int m() {
+ return 17;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport03_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport03_out.java
new file mode 100644
index 000000000..d0b955bb6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport03_out.java
@@ -0,0 +1,16 @@
+package p;
+
+import java.security.acl.Permission;
+
+abstract class A {
+ public abstract int m(Permission p, java.security.Permission pp);
+ protected void finalize() {
+ m(0, 0);
+ }
+}
+
+class B extends A {
+ public int m(Permission p, java.security.Permission pp) {
+ return 17;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport04_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport04_in.java
new file mode 100644
index 000000000..ef048be27
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport04_in.java
@@ -0,0 +1,8 @@
+package p;
+
+abstract class A {
+ public abstract int m();
+ protected void finalize() {
+ m();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport04_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport04_out.java
new file mode 100644
index 000000000..d662b1914
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport04_out.java
@@ -0,0 +1,8 @@
+package p;
+
+abstract class A {
+ public abstract int m(Object o);
+ protected void finalize() {
+ m(null);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport05_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport05_in.java
new file mode 100644
index 000000000..f0b3e4722
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport05_in.java
@@ -0,0 +1,10 @@
+package p;
+
+import java.util.ArrayList;
+import java.util.List;
+
+class A {
+ List m() {
+ return new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport05_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport05_out.java
new file mode 100644
index 000000000..184c050ac
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport05_out.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.ArrayList;
+
+class A {
+ Object m() {
+ return new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport06_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport06_in.java
new file mode 100644
index 000000000..109b9bbc0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport06_in.java
@@ -0,0 +1,11 @@
+package p;
+
+import java.security.Permission;
+
+class A {
+ Cloneable m(Permission perm, java.security.acl.Permission acl) {
+ Object o1= perm;
+ Object o2= acl;
+ return null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport06_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport06_out.java
new file mode 100644
index 000000000..52ead49c7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport06_out.java
@@ -0,0 +1,11 @@
+package p;
+
+import java.security.Permission;
+
+class A {
+ java.security.acl.Permission m(Permission xperm, java.security.acl.Permission[][] xacl) {
+ Object o1= xacl;
+ Object o2= xperm;
+ return null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport07_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport07_in.java
new file mode 100644
index 000000000..a5627d4c4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport07_in.java
@@ -0,0 +1,13 @@
+package p;
+
+import java.util.ArrayList;
+import java.util.List;
+
+class A {
+ void m(List list) {
+
+ }
+ void use() {
+ m(new ArrayList());
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport07_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport07_out.java
new file mode 100644
index 000000000..46edd3c73
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport07_out.java
@@ -0,0 +1,11 @@
+package p;
+
+
+class A {
+ void m() {
+
+ }
+ void use() {
+ m();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport08_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport08_in.java
new file mode 100644
index 000000000..a57346a51
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport08_in.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.Vector;
+
+class A {
+ public static boolean textContains(String text, Vector v) {
+ return v.contains(text);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport08_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport08_out.java
new file mode 100644
index 000000000..1b0bb5d12
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testImport08_out.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.Vector;
+
+class A {
+ public static boolean textContains(Vector v, String text) {
+ return v.contains(text);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic01_in.java
new file mode 100644
index 000000000..32c8495d8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic01_in.java
@@ -0,0 +1,19 @@
+class Example {
+ public static final Example A = new Example("A1", "A2");
+ public static final Example B = Example.getExample("B1", "B2");
+
+ public static final Example C;
+ public static final Example D;
+ static {
+ C = new Example("C1", "C2");
+ D = Example.getExample("D1", "D2");
+ }
+
+ public Example(String arg1, String arg2) {
+
+ }
+
+ public static Example getExample(String arg1, String arg2) {
+ return new Example(arg1, arg2);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic01_out.java
new file mode 100644
index 000000000..490af8b6e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic01_out.java
@@ -0,0 +1,19 @@
+class Example {
+ public static final Example A = new Example("A2", "A1");
+ public static final Example B = Example.getExample("B1", "B2");
+
+ public static final Example C;
+ public static final Example D;
+ static {
+ C = new Example("C2", "C1");
+ D = Example.getExample("D1", "D2");
+ }
+
+ public Example(String b, String a) {
+
+ }
+
+ public static Example getExample(String arg1, String arg2) {
+ return new Example(arg2, arg1);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic02_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic02_in.java
new file mode 100644
index 000000000..32c8495d8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic02_in.java
@@ -0,0 +1,19 @@
+class Example {
+ public static final Example A = new Example("A1", "A2");
+ public static final Example B = Example.getExample("B1", "B2");
+
+ public static final Example C;
+ public static final Example D;
+ static {
+ C = new Example("C1", "C2");
+ D = Example.getExample("D1", "D2");
+ }
+
+ public Example(String arg1, String arg2) {
+
+ }
+
+ public static Example getExample(String arg1, String arg2) {
+ return new Example(arg1, arg2);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic02_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic02_out.java
new file mode 100644
index 000000000..7e5dc4d35
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testInStatic02_out.java
@@ -0,0 +1,19 @@
+class Example {
+ public static final Example A = new Example("A1", "A2");
+ public static final Example B = Example.getExample("B2", "B1");
+
+ public static final Example C;
+ public static final Example D;
+ static {
+ C = new Example("C1", "C2");
+ D = Example.getExample("D2", "D1");
+ }
+
+ public Example(String arg1, String arg2) {
+
+ }
+
+ public static Example getExample(String b, String a) {
+ return new Example(a, b);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName01_in.java
new file mode 100644
index 000000000..f04c1388c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName01_in.java
@@ -0,0 +1,14 @@
+package p;
+
+class A {
+ void m(String y){
+ m(y);
+ }
+}
+
+class B {
+ public int m(String q) {
+ new A().m("x");
+ return m("k");
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName01_out.java
new file mode 100644
index 000000000..2e9844890
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName01_out.java
@@ -0,0 +1,14 @@
+package p;
+
+class A {
+ void newName(String y){
+ newName(y);
+ }
+}
+
+class B {
+ public int m(String q) {
+ new A().newName("x");
+ return m("k");
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName02_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName02_in.java
new file mode 100644
index 000000000..d8ccd4e86
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName02_in.java
@@ -0,0 +1,14 @@
+package p;
+
+class A {
+ void m(String y){
+ m(y);
+ }
+}
+
+class B extends A {
+ public void m(String q) {
+ new A().m("x");
+ return m("k");
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName02_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName02_out.java
new file mode 100644
index 000000000..63e29e5c7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testName02_out.java
@@ -0,0 +1,14 @@
+package p;
+
+class A {
+ void newName(String y){
+ newName(y);
+ }
+}
+
+class B extends A {
+ public void newName(String q) {
+ new A().newName("x");
+ return newName("k");
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder26_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder26_in.java
new file mode 100644
index 000000000..592b8fc08
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder26_in.java
@@ -0,0 +1,7 @@
+package p;
+
+class A{
+ private void m(boolean y, int a){
+ m(y, a);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder26_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder26_out.java
new file mode 100644
index 000000000..e54361c45
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder26_out.java
@@ -0,0 +1,14 @@
+package p;
+
+class A{
+ /**
+ * @deprecated Use {@link #m(int,boolean)} instead
+ */
+ private void m(boolean y, int a){
+ m(a, y);
+ }
+
+ private void m(int bb, boolean zzz){
+ m(bb, zzz);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder27_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder27_in.java
new file mode 100644
index 000000000..592b8fc08
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder27_in.java
@@ -0,0 +1,7 @@
+package p;
+
+class A{
+ private void m(boolean y, int a){
+ m(y, a);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder27_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder27_out.java
new file mode 100644
index 000000000..4875d731d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testRenameReorder27_out.java
@@ -0,0 +1,14 @@
+package p;
+
+class A{
+ /**
+ * @deprecated Use {@link #m(int,boolean)} instead
+ */
+ private void m(boolean y, int a){
+ m(a, y);
+ }
+
+ private void m(int a, boolean yyy){
+ m(a, yyy);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport01_in.java
new file mode 100644
index 000000000..efc0e936a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport01_in.java
@@ -0,0 +1,14 @@
+package p;
+
+import static p.A.m;
+
+class A {
+ public static void m() {}
+}
+
+class User {
+ {
+ A.m();
+ m();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport01_out.java
new file mode 100644
index 000000000..0d6c6091a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport01_out.java
@@ -0,0 +1,14 @@
+package p;
+
+import static p.A.abc;
+
+class A {
+ public static void abc() {}
+}
+
+class User {
+ {
+ A.abc();
+ abc();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport02_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport02_in.java
new file mode 100644
index 000000000..d5821e579
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport02_in.java
@@ -0,0 +1,14 @@
+package p;
+
+import static p.A.m;
+
+class A {
+ public static void m(Integer i) {}
+}
+
+class User {
+ {
+ A.m(1);
+ m(2);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport02_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport02_out.java
new file mode 100644
index 000000000..93103ba80
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testStaticImport02_out.java
@@ -0,0 +1,14 @@
+package p;
+
+import static p.A.m;
+
+class A {
+ public static void m(Integer i, Object o) {}
+}
+
+class User {
+ {
+ A.m(1, null);
+ m(2, null);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg01_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg01_in.java
new file mode 100644
index 000000000..3997848a9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg01_in.java
@@ -0,0 +1,33 @@
+package p;
+
+class A {
+ public void m(int i, String... names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class B extends A {
+ public void m(int i, String[] names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class C extends B {
+ public void m(int i, String... names) {
+ System.out.println(names[i]);
+ names= new String[0];
+ }
+}
+
+class Client {
+ {
+ new A().m(0);
+ new B().m(1, new String[] {"X"});
+ new C().m(2, new String[] {"X", "Y"});
+ new C().m(2, "X", "Y", "Z");
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg01_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg01_out.java
new file mode 100644
index 000000000..019dd22e5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg01_out.java
@@ -0,0 +1,33 @@
+package p;
+
+class A {
+ public void m(int i, String... strings) {
+ for (String name : strings) {
+ System.out.println(name);
+ }
+ }
+}
+
+class B extends A {
+ public void m(int i, String[] strings) {
+ for (String name : strings) {
+ System.out.println(name);
+ }
+ }
+}
+
+class C extends B {
+ public void m(int i, String... strings) {
+ System.out.println(strings[i]);
+ strings= new String[0];
+ }
+}
+
+class Client {
+ {
+ new A().m(0);
+ new B().m(1, new String[] {"X"});
+ new C().m(2, new String[] {"X", "Y"});
+ new C().m(2, "X", "Y", "Z");
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg02_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg02_in.java
new file mode 100644
index 000000000..031ac4c47
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg02_in.java
@@ -0,0 +1,25 @@
+package p;
+
+class A {
+ public void m(int i, String... names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class B extends A {
+ public void m(int i, String[] names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class Client {
+ {
+ new A().m(0);
+ new A().m(2, "X", "Y", "Z");
+ new B().m(1, new String[] {"X"});
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg02_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg02_out.java
new file mode 100644
index 000000000..99fb76a7e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg02_out.java
@@ -0,0 +1,39 @@
+package p;
+
+class A {
+ /**
+ * @deprecated Use {@link #m(Object,int,String...)} instead
+ */
+ public void m(int i, String... names) {
+ m(new Object(), i, names);
+ }
+
+ public void m(Object o, int i, String... names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class B extends A {
+ /**
+ * @deprecated Use {@link #m(Object,int,String[])} instead
+ */
+ public void m(int i, String[] names) {
+ m(new Object(), i, names);
+ }
+
+ public void m(Object o, int i, String[] names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class Client {
+ {
+ new A().m(new Object(), 0);
+ new A().m(new Object(), 2, "X", "Y", "Z");
+ new B().m(new Object(), 1, new String[] {"X"});
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_in.java
new file mode 100644
index 000000000..8dd4b0e49
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_in.java
@@ -0,0 +1,10 @@
+package p;
+
+class A {
+ /**
+ * @see #use(String)
+ * @see #use(String[])
+ * @see #use(String...)
+ */
+ public void use(String... args) { }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_out.java
new file mode 100644
index 000000000..8278a0a28
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_out.java
@@ -0,0 +1,10 @@
+package p;
+
+class A {
+ /**
+ * @see #use(Object[])
+ * @see #use(Object[])
+ * @see #use(Object...)
+ */
+ public void use(Object... args) { }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg04_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg04_in.java
new file mode 100644
index 000000000..ffcdf0dfd
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg04_in.java
@@ -0,0 +1,15 @@
+package p;
+
+class A {
+ public void use(String... args) { }
+
+ public void call() {
+ use();
+ use("one");
+ use("one", "two");
+ use(new String[] {"one", "two"});
+ use(null);
+ use((String[]) null);
+ use((String) null);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg04_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg04_out.java
new file mode 100644
index 000000000..118a3168a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg04_out.java
@@ -0,0 +1,15 @@
+package p;
+
+class A {
+ public void use(int i, String... args) { }
+
+ public void call() {
+ use(1);
+ use(1, "one");
+ use(1, "one", "two");
+ use(1, new String[] {"one", "two"});
+ use(1, null);
+ use(1, (String[]) null);
+ use(1, (String) null);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg05_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg05_in.java
new file mode 100644
index 000000000..a96e0c997
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg05_in.java
@@ -0,0 +1,20 @@
+package p;
+
+class A {
+ /**
+ * @see #use(Object, String[])
+ */
+ public void use(Object first, String... args) {
+ System.out.println(first);
+ }
+
+ public void call() {
+ use(null);
+ use(null, "one");
+ use(null, "one", "two");
+ use(null, new String[] {"one", "two"});
+ use(null, null);
+ use(null, (String[]) null);
+ use(null, (String) null);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg05_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg05_out.java
new file mode 100644
index 000000000..5fba5b590
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg05_out.java
@@ -0,0 +1,28 @@
+package p;
+
+class A {
+ /**
+ * @see #use(Object, String[])
+ * @deprecated Use {@link #use(Object)} instead
+ */
+ public void use(Object first, String... args) {
+ use(first);
+ }
+
+ /**
+ * @see #use(Object)
+ */
+ public void use(Object arg) {
+ System.out.println(arg);
+ }
+
+ public void call() {
+ use(null);
+ use(null);
+ use(null);
+ use(null);
+ use(null);
+ use(null);
+ use(null);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg06_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg06_in.java
new file mode 100644
index 000000000..9fddefc07
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg06_in.java
@@ -0,0 +1,25 @@
+package p;
+
+class A {
+ public void m(int i, String[] names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class B extends A {
+ public void m(int i, String... names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class Client {
+ void test(int i, String... args) {
+ new A().m(1, new String[] {"X"});
+ new B().m(0);
+ new B().m(2, "X", "Y", "Z");
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg06_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg06_out.java
new file mode 100644
index 000000000..c891cdf2c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg06_out.java
@@ -0,0 +1,25 @@
+package p;
+
+class A {
+ public void m(int i, String... names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class B extends A {
+ public void m(int i, String... names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class Client {
+ void test(int i, String... args) {
+ new A().m(1, new String[] {"X"});
+ new B().m(0);
+ new B().m(2, "X", "Y", "Z");
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg07_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg07_in.java
new file mode 100644
index 000000000..634d6daa2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg07_in.java
@@ -0,0 +1,19 @@
+package p;
+
+class A {
+ public void m(int i, String[] names) {
+ }
+}
+
+class B extends A {
+ public void m(int i, String... names) {
+ }
+}
+
+class Client {
+ void test(int i, String... args) {
+ new A().m(1, new String[] {"X"});
+ new B().m(0);
+ new B().m(2, "X", "Y", "Z");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg07_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg07_out.java
new file mode 100644
index 000000000..59a8591d3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg07_out.java
@@ -0,0 +1,33 @@
+package p;
+
+class A {
+ /**
+ * @deprecated Use {@link #m(int,String,Integer)} instead
+ */
+ public void m(int i, String[] names) {
+ m(i, "none", 17);
+ }
+
+ public void m(int i, String j, Integer k) {
+ }
+}
+
+class B extends A {
+ /**
+ * @deprecated Use {@link #m(int,String,Integer)} instead
+ */
+ public void m(int i, String... names) {
+ m(i, "none", 17);
+ }
+
+ public void m(int i, String j, Integer k) {
+ }
+}
+
+class Client {
+ void test(int i, String... args) {
+ new A().m(1, "none", 17);
+ new B().m(0, "none", 17);
+ new B().m(2, "none", 17);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_in.java
new file mode 100644
index 000000000..7e970a20d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_in.java
@@ -0,0 +1,20 @@
+package p;
+
+class A {
+ /**
+ * This is {@link #m()}.
+ */
+ public void m() {
+ if (12 > 12)
+ m();
+ }
+ void x() {
+ m();
+ }
+}
+
+class B {
+ public void b() {
+ new A().m();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_out.java
new file mode 100644
index 000000000..ec693d439
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_out.java
@@ -0,0 +1,21 @@
+package p;
+
+class A {
+ /**
+ * This is {@link #m(String...)}.
+ * @param args TODO
+ */
+ public void m(String... args) {
+ if (12 > 12)
+ m(args);
+ }
+ void x() {
+ m();
+ }
+}
+
+class B {
+ public void b() {
+ new A().m();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_in.java
new file mode 100644
index 000000000..7e970a20d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_in.java
@@ -0,0 +1,20 @@
+package p;
+
+class A {
+ /**
+ * This is {@link #m()}.
+ */
+ public void m() {
+ if (12 > 12)
+ m();
+ }
+ void x() {
+ m();
+ }
+}
+
+class B {
+ public void b() {
+ new A().m();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_out.java
new file mode 100644
index 000000000..f60938617
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_out.java
@@ -0,0 +1,21 @@
+package p;
+
+class A {
+ /**
+ * This is {@link #m(String...)}.
+ * @param args TODO
+ */
+ public void m(String... args) {
+ if (12 > 12)
+ m(args);
+ }
+ void x() {
+ m("Hello");
+ }
+}
+
+class B {
+ public void b() {
+ new A().m("Hello");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_in.java
new file mode 100644
index 000000000..7e970a20d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_in.java
@@ -0,0 +1,20 @@
+package p;
+
+class A {
+ /**
+ * This is {@link #m()}.
+ */
+ public void m() {
+ if (12 > 12)
+ m();
+ }
+ void x() {
+ m();
+ }
+}
+
+class B {
+ public void b() {
+ new A().m();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_out.java
new file mode 100644
index 000000000..1fdabbe40
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_out.java
@@ -0,0 +1,21 @@
+package p;
+
+class A {
+ /**
+ * This is {@link #m(String...)}.
+ * @param args TODO
+ */
+ public void m(String... args) {
+ if (12 > 12)
+ m(args);
+ }
+ void x() {
+ m("Hello", new String());
+ }
+}
+
+class B {
+ public void b() {
+ new A().m("Hello", new String());
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFail0.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFail0.java
new file mode 100644
index 000000000..4d043c404
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFail0.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ private native int m(int i, int j);
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFail1.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFail1.java
new file mode 100644
index 000000000..482ae7b28
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFail1.java
@@ -0,0 +1,5 @@
+package p;
+class A {
+ private void m() throws Integer {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd2.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd2.java
new file mode 100644
index 000000000..abf6cbff3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd2.java
@@ -0,0 +1,10 @@
+package p;
+//name clash in subclass
+class A{
+ int m(int i){
+ }
+}
+class B extends A{
+ int m(int x){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd3.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd3.java
new file mode 100644
index 000000000..0b79febf3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd3.java
@@ -0,0 +1,9 @@
+package p;
+class A{
+ int m(int i){
+ }
+}
+class B extends A{
+ int m(int i){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd4.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd4.java
new file mode 100644
index 000000000..49def5e7f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAdd4.java
@@ -0,0 +1,10 @@
+package p;
+//name clash in subclass
+class A{
+ int m(int i){
+ }
+}
+class B extends A{
+ int m(int i){
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAnnotation1.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAnnotation1.java
new file mode 100644
index 000000000..1f92a01f2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailAnnotation1.java
@@ -0,0 +1,6 @@
+package p;
+
+@A(name="Name")
+@interface A {
+ String name();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll5.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll5.java
new file mode 100644
index 000000000..359bd643e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll5.java
@@ -0,0 +1,10 @@
+package p;
+class A{
+ int m(int i){
+ }
+}
+class B extends A{
+ int m(int i){
+ int o= i;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll6.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll6.java
new file mode 100644
index 000000000..74b0a1f05
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll6.java
@@ -0,0 +1,7 @@
+//cannot change type of i to Certificate (there are 2 Certificates)
+package p;
+class A{
+ int m(int i){
+ return 1;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll7.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll7.java
new file mode 100644
index 000000000..93ffb84eb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll7.java
@@ -0,0 +1,7 @@
+//cannot change type of i to Fred - no such type exists
+package p;
+class A{
+ int m(int i){
+ return 1;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll8.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll8.java
new file mode 100644
index 000000000..46bdbcc63
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailDoAll8.java
@@ -0,0 +1,6 @@
+package p;
+class A {
+ void run(int i) {
+ int k= i;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailGenerics01.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailGenerics01.java
new file mode 100644
index 000000000..dc2893d4a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailGenerics01.java
@@ -0,0 +1,9 @@
+package p;
+
+class A<E> {
+ void m(E e) {}
+}
+
+class Sub<E> extends A<E> {
+ void m(E e) {}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailImport01.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailImport01.java
new file mode 100644
index 000000000..93dd56c5e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailImport01.java
@@ -0,0 +1,14 @@
+package p;
+
+abstract class A {
+ public abstract int m();
+ protected void finalize() {
+ m();
+ }
+}
+
+class B extends A {
+ public int m() {
+ return 17;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg01.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg01.java
new file mode 100644
index 000000000..6a004d4b6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg01.java
@@ -0,0 +1,9 @@
+package p;
+
+class A {
+ public void m(int i, String... names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg02.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg02.java
new file mode 100644
index 000000000..2257c4e11
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg02.java
@@ -0,0 +1,9 @@
+package p;
+
+class A {
+ public void m(int i, String[] names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg03.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg03.java
new file mode 100644
index 000000000..ca55fe5a8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg03.java
@@ -0,0 +1,22 @@
+package p;
+
+class A {
+ public void m(int i, String[] names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class B extends A {
+ public void m(int i, String... names) {
+ }
+}
+
+class Client {
+ void test(int i, String... args) {
+ new A().m(1, new String[] {"X"});
+ new B().m(0);
+ new B().m(2, "X", "Y", "Z");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg04.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg04.java
new file mode 100644
index 000000000..678313100
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg04.java
@@ -0,0 +1,9 @@
+package p;
+
+class A {
+ public void m(int i, String... names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg05.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg05.java
new file mode 100644
index 000000000..ca55fe5a8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/cannotModify/A_testFailVararg05.java
@@ -0,0 +1,22 @@
+package p;
+
+class A {
+ public void m(int i, String[] names) {
+ for (String name : names) {
+ System.out.println(name);
+ }
+ }
+}
+
+class B extends A {
+ public void m(int i, String... names) {
+ }
+}
+
+class Client {
+ void test(int i, String... args) {
+ new A().m(1, new String[] {"X"});
+ new B().m(0);
+ new B().m(2, "X", "Y", "Z");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testArray2_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testArray2_in.java
new file mode 100644
index 000000000..414d1c4a0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testArray2_in.java
@@ -0,0 +1,6 @@
+import java.util.Vector;
+
+class A_testArray_in {
+ public static void main(String args[]) {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testArray_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testArray_in.java
new file mode 100644
index 000000000..7fc62aa8a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testArray_in.java
@@ -0,0 +1,8 @@
+import java.util.Vector;
+
+class A_testArray_in {
+ public static void main(String[] args) {
+ Vector[] vv = new Vector[10];
+ System.out.println("Hello, world!");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testBogusSelection_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testBogusSelection_in.java
new file mode 100644
index 000000000..3b8a96745
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testBogusSelection_in.java
@@ -0,0 +1,8 @@
+import java.util.Hashtable;
+
+class A_testBogusSelection_in {
+ public static void main(String[] args) {
+ Hashtable h = new Hashtable();
+ System.out.println("Hello, world!");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testEnum_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testEnum_in.java
new file mode 100644
index 000000000..ed2093f23
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testEnum_in.java
@@ -0,0 +1,12 @@
+enum E {
+ A(1), B(2), C(3);
+ public E(int i) {
+ }
+}
+
+class Z {
+ E foo() {
+ E e= null; //<=== disable generalize type here.
+ return e;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testFieldOfLocalType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testFieldOfLocalType_in.java
new file mode 100644
index 000000000..da01e6e1c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testFieldOfLocalType_in.java
@@ -0,0 +1,35 @@
+public class A_testFieldOfLocalType_in {
+
+ public void foobar() {
+ class Listener3 {
+ private A_testFieldOfLocalType_in fTest;
+
+ private Listener3() {
+ fTest= new A_testFieldOfLocalType_in();
+ }
+
+ public int bar() {
+ return foo();
+ }
+
+ public int foo() {
+ return 1;
+ }
+
+ private String getProperty() {
+ return null;
+ }
+ }
+
+ this.addListener(new Listener3() {
+ public int bar() {
+ return 1;
+ }
+ });
+ }
+
+
+ public void addListener(Object o) {
+ }
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testInvalidSelection_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testInvalidSelection_in.java
new file mode 100644
index 000000000..38f4fe6f7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testInvalidSelection_in.java
@@ -0,0 +1,8 @@
+import java.util.Hashtable;
+
+class A_testInvalidSelection_in {
+ public static void main(String[] args) {
+ Hashtable h = new Hashtable();
+ System.out.println("Hello, world!");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testMultiDeclaration_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testMultiDeclaration_in.java
new file mode 100644
index 000000000..0f08c6a24
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testMultiDeclaration_in.java
@@ -0,0 +1,9 @@
+import java.util.*;
+
+class A_testMultiDeclaration_in {
+ public void foo(){
+ List l = list1; list2 =l;
+ }
+
+ public ArrayList list1, list2;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testObjectReturnType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testObjectReturnType_in.java
new file mode 100644
index 000000000..a4b3d16a4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testObjectReturnType_in.java
@@ -0,0 +1,6 @@
+public class A_testObjectReturnType_in {
+
+ public void Object foo() {
+ return null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testOverriddenBinaryMethod_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testOverriddenBinaryMethod_in.java
new file mode 100644
index 000000000..f85e820c6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testOverriddenBinaryMethod_in.java
@@ -0,0 +1,6 @@
+
+public class A_testOverriddenBinaryMethod_in {
+ public String toString(){
+ return null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testPrimitive_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testPrimitive_in.java
new file mode 100644
index 000000000..86530f152
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testPrimitive_in.java
@@ -0,0 +1,8 @@
+import java.util.Vector;
+
+class A_testArray_in {
+ public static void main(String[] args) {
+ int i = 10;
+ System.out.println("Hello, world!");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testQualifiedFieldRef_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testQualifiedFieldRef_in.java
new file mode 100644
index 000000000..23990e60f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testQualifiedFieldRef_in.java
@@ -0,0 +1,6 @@
+public class A_testQualifiedFieldRef_in {
+ private static String field;
+ public void foo(){
+ J.field = null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testTypeParameter_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testTypeParameter_in.java
new file mode 100644
index 000000000..0e89712ba
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testTypeParameter_in.java
@@ -0,0 +1,5 @@
+public class A_testTypeParameter_in<T> {
+ public void foo() {
+ T t;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testUpdateNotPossible_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testUpdateNotPossible_in.java
new file mode 100644
index 000000000..d24d1b598
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/negative/A_testUpdateNotPossible_in.java
@@ -0,0 +1,10 @@
+import java.util.Hashtable;
+
+class A_testUpdateNotPossible_in {
+ public void foo {
+ Hashtable h1 = new Hashtable();
+ Hashtable h2 = new Hashtable();
+ h1 = h2;
+ h2 = h1;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_test4TypeParameters_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_test4TypeParameters_in.java
new file mode 100644
index 000000000..54edf72ae
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_test4TypeParameters_in.java
@@ -0,0 +1,8 @@
+public class A_test4TypeParameters_in {
+ void foo(){
+ A<String,Integer,Float,Double> a = null;
+ }
+}
+interface I<T1,T2>{ }
+interface J<T3,T4> extends I<T4,T3>{ }
+class A<T5,T6,T7,T8> implements I<T5,T6>, J<T7,T8> { }
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_test4TypeParameters_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_test4TypeParameters_out.java
new file mode 100644
index 000000000..aed41b77d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_test4TypeParameters_out.java
@@ -0,0 +1,8 @@
+public class A_test4TypeParameters_in {
+ void foo(){
+ I<Double, Float> a = null;
+ }
+}
+interface I<T1,T2>{ }
+interface J<T3,T4> extends I<T4,T3>{ }
+class A<T5,T6,T7,T8> implements I<T5,T6>, J<T7,T8> { }
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testArray_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testArray_in.java
new file mode 100644
index 000000000..45e456d34
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testArray_in.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testArray_in {
+ void foo(){
+ List[] ls = new ArrayList[10];
+ int n = ls.length;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testCatchClause_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testCatchClause_in.java
new file mode 100644
index 000000000..4fea448ba
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testCatchClause_in.java
@@ -0,0 +1,11 @@
+import java.io.*;
+
+public class A_testCatchClause_in {
+ public void f(File f) {
+ try {
+ FileInputStream is = new FileInputStream(f);
+ } catch (FileNotFoundException ex) {
+ System.err.println("file not found");
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testCatchClause_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testCatchClause_out.java
new file mode 100644
index 000000000..505633d38
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testCatchClause_out.java
@@ -0,0 +1,11 @@
+import java.io.*;
+
+public class A_testCatchClause_in {
+ public void f(File f) {
+ try {
+ FileInputStream is = new FileInputStream(f);
+ } catch (IOException ex) {
+ System.err.println("file not found");
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDeclSubtypesOfList_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDeclSubtypesOfList_in.java
new file mode 100644
index 000000000..df1089bca
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDeclSubtypesOfList_in.java
@@ -0,0 +1,9 @@
+import java.util.*;
+
+class A_testFieldDeclSubtypesOfList_in {
+ public void foo(){
+ List list2 = list;
+ }
+
+ public ArrayList list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDeclSubtypesOfList_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDeclSubtypesOfList_out.java
new file mode 100644
index 000000000..c19dc177d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDeclSubtypesOfList_out.java
@@ -0,0 +1,9 @@
+import java.util.*;
+
+class A_testFieldDeclSubtypesOfList_in {
+ public void foo(){
+ List list2 = list;
+ }
+
+ public List list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDecl_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDecl_in.java
new file mode 100644
index 000000000..d39640f8a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDecl_in.java
@@ -0,0 +1,11 @@
+import java.util.*;
+
+class A_testFieldDecl_in {
+ void foo(){
+ list = new ArrayList();
+ List list2 = list;
+ }
+
+
+ public static ArrayList list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDecl_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDecl_out.java
new file mode 100644
index 000000000..7f2c18c43
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldDecl_out.java
@@ -0,0 +1,11 @@
+import java.util.*;
+
+class A_testFieldDecl_in {
+ void foo(){
+ list = new ArrayList();
+ List list2 = list;
+ }
+
+
+ public static AbstractList list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldName_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldName_in.java
new file mode 100644
index 000000000..420f08d46
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldName_in.java
@@ -0,0 +1,11 @@
+import java.util.ArrayList;
+import java.util.List;
+
+class A_testFieldName_in {
+ void foo(){
+ list = new ArrayList();
+ List list2 = list;
+ }
+
+ public static ArrayList list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldName_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldName_out.java
new file mode 100644
index 000000000..0630d512c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldName_out.java
@@ -0,0 +1,12 @@
+import java.util.AbstractList;
+import java.util.ArrayList;
+import java.util.List;
+
+class A_testFieldName_in {
+ void foo(){
+ list = new ArrayList();
+ List list2 = list;
+ }
+
+ public static AbstractList list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldType_in.java
new file mode 100644
index 000000000..fbea643ed
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldType_in.java
@@ -0,0 +1,11 @@
+import java.util.*;
+
+class A_testFieldType_in {
+ void foo(){
+ list = new ArrayList();
+ List list2 = list;
+ }
+
+
+ public static ArrayList list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldType_out.java
new file mode 100644
index 000000000..ca474a361
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldType_out.java
@@ -0,0 +1,11 @@
+import java.util.*;
+
+class A_testFieldType_in {
+ void foo(){
+ list = new ArrayList();
+ List list2 = list;
+ }
+
+
+ public static AbstractList list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldUseSubtypesOfList_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldUseSubtypesOfList_in.java
new file mode 100644
index 000000000..3edf03dab
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldUseSubtypesOfList_in.java
@@ -0,0 +1,9 @@
+import java.util.*;
+
+class A_testFieldUseSubtypesOfList_in {
+ public void foo(){
+ List list2 = list;
+ }
+
+ public ArrayList list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldUseSubtypesOfList_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldUseSubtypesOfList_out.java
new file mode 100644
index 000000000..0867282d3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldUseSubtypesOfList_out.java
@@ -0,0 +1,9 @@
+import java.util.*;
+
+class A_testFieldUseSubtypesOfList_in {
+ public void foo(){
+ List list2 = list;
+ }
+
+ public List list;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess2.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess2.java
new file mode 100644
index 000000000..d1450051b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess2.java
@@ -0,0 +1,10 @@
+package p;
+
+import java.util.*;
+
+public class A_testFieldWithAccess2 {
+ void bar(){
+ A_testFieldWithAccess_in ww = new A_testFieldWithAccess_in();
+ Collection pp = ww.fList;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess_in.java
new file mode 100644
index 000000000..cfcb5678d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess_in.java
@@ -0,0 +1,7 @@
+package p;
+
+import java.util.*;
+
+class A_testFieldWithAccess_in {
+ public List fList = new ArrayList();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess_out.java
new file mode 100644
index 000000000..6a92e177d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testFieldWithAccess_out.java
@@ -0,0 +1,7 @@
+package p;
+
+import java.util.*;
+
+class A_testFieldWithAccess_in {
+ public Collection fList = new ArrayList();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testHashMap_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testHashMap_in.java
new file mode 100644
index 000000000..a91710c2c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testHashMap_in.java
@@ -0,0 +1,71 @@
+package p;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+
+public class A_testHashMap_in {
+ public static void main(String[] args) {
+ A a = new B();
+ Collection c1 = a.e();
+ HashMap h1 = new HashMap(); /* A1 */
+ a.h(h1, "aaa", c1);
+ a.k(h1);
+ for (Iterator it = h1.values().iterator(); it.hasNext(); ){
+ Vector v1 = (Vector)it.next(); /* C1 */
+ Integer i1 = (Integer)v1.iterator().next(); /* C2 */
+ System.out.println(i1);
+ }
+ }
+}
+
+class A {
+ public Vector e(){
+ Vector v2 = new Vector(); /* A2 */
+ Integer i2 = new Integer(17);
+ insert(v2, i2);
+ Integer i3 = (Integer)v2.iterator().next(); /* C3 */
+ return v2;
+ }
+ public void f(){
+ Vector v3 = new Vector(); /* A3 */
+ v3.add(new Integer(18));
+ reverse(v3);
+ Integer i4 = (Integer)v3.get(0); /* C4 */
+ }
+ public void g(){
+ Vector v4 = new Vector(); /* A4 */
+ v4.add(new String("xyzzy"));
+ reverse(v4);
+ String s1 = (String)v4.get(0); /* C5 */
+ }
+ public void h(Map m1, Object o1, Collection c2){
+ HashMap h2 = new HashMap(); /* A5 */
+ h2.put(o1, c2);
+ m1.putAll(h2);
+ }
+ public void k(Map m2){
+ Vector v5 = new Vector(); /* A6 */
+ v5.add(new Integer(18));
+ v5.addAll(m2.keySet());
+ }
+ public void insert(Vector v6, Object o2){
+ v6.add(o2);
+ }
+ public void reverse(List x1){
+ for (int t=0; t < x1.size()/2; t++){
+ Object temp = x1.get(x1.size()-t);
+ x1.add(x1.size()-1, x1.get(t));
+ x1.add(t, temp);
+ }
+ }
+}
+class B extends A {
+ public void h(Map m3, Object o3, Collection c3){
+ m3.put(o3, c3);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testHashMap_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testHashMap_out.java
new file mode 100644
index 000000000..277252d59
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testHashMap_out.java
@@ -0,0 +1,72 @@
+package p;
+
+import java.util.AbstractMap;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+
+public class A_testHashMap_in {
+ public static void main(String[] args) {
+ A a = new B();
+ Collection c1 = a.e();
+ AbstractMap h1 = new HashMap(); /* A1 */
+ a.h(h1, "aaa", c1);
+ a.k(h1);
+ for (Iterator it = h1.values().iterator(); it.hasNext(); ){
+ Vector v1 = (Vector)it.next(); /* C1 */
+ Integer i1 = (Integer)v1.iterator().next(); /* C2 */
+ System.out.println(i1);
+ }
+ }
+}
+
+class A {
+ public Vector e(){
+ Vector v2 = new Vector(); /* A2 */
+ Integer i2 = new Integer(17);
+ insert(v2, i2);
+ Integer i3 = (Integer)v2.iterator().next(); /* C3 */
+ return v2;
+ }
+ public void f(){
+ Vector v3 = new Vector(); /* A3 */
+ v3.add(new Integer(18));
+ reverse(v3);
+ Integer i4 = (Integer)v3.get(0); /* C4 */
+ }
+ public void g(){
+ Vector v4 = new Vector(); /* A4 */
+ v4.add(new String("xyzzy"));
+ reverse(v4);
+ String s1 = (String)v4.get(0); /* C5 */
+ }
+ public void h(Map m1, Object o1, Collection c2){
+ HashMap h2 = new HashMap(); /* A5 */
+ h2.put(o1, c2);
+ m1.putAll(h2);
+ }
+ public void k(Map m2){
+ Vector v5 = new Vector(); /* A6 */
+ v5.add(new Integer(18));
+ v5.addAll(m2.keySet());
+ }
+ public void insert(Vector v6, Object o2){
+ v6.add(o2);
+ }
+ public void reverse(List x1){
+ for (int t=0; t < x1.size()/2; t++){
+ Object temp = x1.get(x1.size()-t);
+ x1.add(x1.size()-1, x1.get(t));
+ x1.add(t, temp);
+ }
+ }
+}
+class B extends A {
+ public void h(Map m3, Object o3, Collection c3){
+ m3.put(o3, c3);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testImport_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testImport_in.java
new file mode 100644
index 000000000..16a83bd98
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testImport_in.java
@@ -0,0 +1,13 @@
+
+import java.awt.List;
+import java.util.ArrayList;
+import java.util.Hashtable;
+
+class A_TestImport_in {
+ public void foo(Hashtable table){
+ table = new Hashtable();
+ table.put("foo", "bar");
+ List awtList = null;
+ ArrayList al = new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testImport_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testImport_out.java
new file mode 100644
index 000000000..de26311d3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testImport_out.java
@@ -0,0 +1,13 @@
+
+import java.awt.List;
+import java.util.ArrayList;
+import java.util.Hashtable;
+
+class A_TestImport_in {
+ public void foo(Hashtable table){
+ table = new Hashtable();
+ table.put("foo", "bar");
+ List awtList = null;
+ java.util.List al = new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testInterfaceTypes_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testInterfaceTypes_in.java
new file mode 100644
index 000000000..bb7d6171c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testInterfaceTypes_in.java
@@ -0,0 +1,12 @@
+
+public class A_testInterfaceTypes_in {
+ void foo(){
+ B b = new C();
+ b.toString();
+ }
+}
+
+interface I { }
+class A implements I { }
+class B extends A implements I { }
+class C extends B implements I { }
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testInterfaceTypes_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testInterfaceTypes_out.java
new file mode 100644
index 000000000..3b775d7d2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testInterfaceTypes_out.java
@@ -0,0 +1,12 @@
+
+public class A_testInterfaceTypes_in {
+ void foo(){
+ I b = new C();
+ b.toString();
+ }
+}
+
+interface I { }
+class A implements I { }
+class B extends A implements I { }
+class C extends B implements I { }
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalSuperTypesOfArrayList_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalSuperTypesOfArrayList_in.java
new file mode 100644
index 000000000..222226535
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalSuperTypesOfArrayList_in.java
@@ -0,0 +1,7 @@
+import java.util.*;
+
+class A_testLocalSuperTypesOfArrayList_in {
+ public static void main(String[] args) {
+ ArrayList list = new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalSuperTypesOfArrayList_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalSuperTypesOfArrayList_out.java
new file mode 100644
index 000000000..2c93a7c71
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalSuperTypesOfArrayList_out.java
@@ -0,0 +1,7 @@
+import java.util.*;
+
+class A_testLocalSuperTypesOfArrayList_in {
+ public static void main(String[] args) {
+ List list = new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarCast_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarCast_in.java
new file mode 100644
index 000000000..d488f84ad
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarCast_in.java
@@ -0,0 +1,9 @@
+import java.util.*;
+
+class A_testLocalVarCast_in {
+ public void foo(){
+ ArrayList x = new ArrayList();
+ ArrayList o = x;
+ List y = (List)o;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarCast_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarCast_out.java
new file mode 100644
index 000000000..b5a3e9aca
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarCast_out.java
@@ -0,0 +1,9 @@
+import java.util.*;
+
+class A_testLocalVarCast_in {
+ public void foo(){
+ ArrayList x = new ArrayList();
+ List o = x;
+ List y = (List)o;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarDecl_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarDecl_in.java
new file mode 100644
index 000000000..30ddcb59c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarDecl_in.java
@@ -0,0 +1,14 @@
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
+
+class A_testLocalVarDecl_in {
+ public static void main(String[] args) {
+ Hashtable table = new Properties();
+ Map map = table;
+ table.put(table,table);
+ table.containsKey(map);
+ map = new HashMap();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarDecl_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarDecl_out.java
new file mode 100644
index 000000000..1d5d5d362
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarDecl_out.java
@@ -0,0 +1,14 @@
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
+
+class A_testLocalVarDecl_in {
+ public static void main(String[] args) {
+ Map table = new Properties();
+ Map map = table;
+ table.put(table,table);
+ table.containsKey(map);
+ map = new HashMap();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarName_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarName_in.java
new file mode 100644
index 000000000..a0946af49
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarName_in.java
@@ -0,0 +1,10 @@
+import java.util.*;
+
+class A_testLocalVarName_in {
+ public static void main(String[] args) {
+ Hashtable table = new Properties();
+ Map map = table;
+ table.put(table,table);
+ table.containsKey(map);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarName_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarName_out.java
new file mode 100644
index 000000000..37ae052f7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarName_out.java
@@ -0,0 +1,10 @@
+import java.util.*;
+
+class A_testLocalVarName_in {
+ public static void main(String[] args) {
+ Map table = new Properties();
+ Map map = table;
+ table.put(table,table);
+ table.containsKey(map);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarType_in.java
new file mode 100644
index 000000000..7be90b658
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarType_in.java
@@ -0,0 +1,10 @@
+import java.util.*;
+
+class A_testLocalVarType_in {
+ public static void main(String[] args) {
+ Hashtable table = new Properties();
+ Map map = table;
+ table.put(table,table);
+ table.containsKey(map);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarType_out.java
new file mode 100644
index 000000000..9d3f17b8a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarType_out.java
@@ -0,0 +1,10 @@
+import java.util.*;
+
+class A_testLocalVarType_in {
+ public static void main(String[] args) {
+ Map table = new Properties();
+ Map map = table;
+ table.put(table,table);
+ table.containsKey(map);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarUse_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarUse_in.java
new file mode 100644
index 000000000..20e284a46
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarUse_in.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testLocalVarUse_in {
+ public void foo(){
+ ArrayList list = new ArrayList();
+ List list2 = list;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarUse_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarUse_out.java
new file mode 100644
index 000000000..880f2e4ad
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testLocalVarUse_out.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testLocalVarUse_in {
+ public void foo(){
+ AbstractList list = new ArrayList();
+ List list2 = list;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUClass1.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUClass1.java
new file mode 100644
index 000000000..23d87d952
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUClass1.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.*;
+
+public class A_testMultiCUClass1 extends A_testMultiCU_in implements A_testMultiCUInterface1 {
+ public void foo(List z){
+ Collection c = z;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUClass2.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUClass2.java
new file mode 100644
index 000000000..e6215d34a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUClass2.java
@@ -0,0 +1,7 @@
+package p;
+
+import java.util.*;
+
+public class A_testMultiCUClass2 extends A_testMultiCU_in implements A_testMultiCUInterface2 {
+ /* no method foo(List) here */
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUInterface1.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUInterface1.java
new file mode 100644
index 000000000..3bf98b309
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUInterface1.java
@@ -0,0 +1,7 @@
+package p;
+
+import java.util.*;
+
+public interface A_testMultiCUInterface1 {
+ public void foo(List y1);
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUInterface2.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUInterface2.java
new file mode 100644
index 000000000..81752ca39
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCUInterface2.java
@@ -0,0 +1,7 @@
+package p;
+
+import java.util.*;
+
+public interface A_testMultiCUInterface2 {
+ public void foo(List y2);
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCU_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCU_in.java
new file mode 100644
index 000000000..0ee53b8dd
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCU_in.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.*;
+
+public class A_testMultiCU_in {
+ public void foo(List x){
+ x = new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCU_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCU_out.java
new file mode 100644
index 000000000..2aae916f3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testMultiCU_out.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.*;
+
+public class A_testMultiCU_in {
+ public void foo(Collection x){
+ x = new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricHashtable_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricHashtable_in.java
new file mode 100644
index 000000000..c3a1242db
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricHashtable_in.java
@@ -0,0 +1,8 @@
+import java.util.Hashtable;
+import java.util.Vector;
+
+public class A_testNestedParametricHashtable_in {
+ void foo(){
+ Hashtable<String, Vector<Integer>> h = new Hashtable<String, Vector<Integer>>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricHashtable_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricHashtable_out.java
new file mode 100644
index 000000000..cfb6bf407
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricHashtable_out.java
@@ -0,0 +1,9 @@
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.Vector;
+
+public class A_testNestedParametricHashtable_in {
+ void foo(){
+ Dictionary<String, Vector<Integer>> h = new Hashtable<String, Vector<Integer>>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricType_in.java
new file mode 100644
index 000000000..38036c250
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricType_in.java
@@ -0,0 +1,7 @@
+import java.util.Vector;
+
+public class A_testNestedParametricType_in {
+ void foo(){
+ Vector<Vector<String>> v = new Vector<Vector<String>>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricType_out.java
new file mode 100644
index 000000000..cb4800c2f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedParametricType_out.java
@@ -0,0 +1,8 @@
+import java.util.AbstractCollection;
+import java.util.Vector;
+
+public class A_testNestedParametricType_in {
+ void foo(){
+ AbstractCollection<Vector<String>> v = new Vector<Vector<String>>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedRawParametricHashtable_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedRawParametricHashtable_in.java
new file mode 100644
index 000000000..e7e18fb2b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedRawParametricHashtable_in.java
@@ -0,0 +1,8 @@
+import java.util.Hashtable;
+import java.util.Vector;
+
+public class A_testNestedRawParametricHashtable_in {
+ void foo(){
+ Hashtable<String, Vector> h = new Hashtable<String, Vector>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedRawParametricHashtable_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedRawParametricHashtable_out.java
new file mode 100644
index 000000000..8c4469280
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNestedRawParametricHashtable_out.java
@@ -0,0 +1,9 @@
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.Vector;
+
+public class A_testNestedRawParametricHashtable_in {
+ void foo(){
+ Dictionary<String, Vector> h = new Hashtable<String, Vector>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonParametricTypeWithParametricSuperType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonParametricTypeWithParametricSuperType_in.java
new file mode 100644
index 000000000..c71a9664d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonParametricTypeWithParametricSuperType_in.java
@@ -0,0 +1,7 @@
+import java.util.List;
+
+public class A_testNonParametricTypeWithParametricSuperType_in {
+ void foo(){
+ String x = "huh";
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonParametricTypeWithParametricSuperType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonParametricTypeWithParametricSuperType_out.java
new file mode 100644
index 000000000..b702b1eff
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonParametricTypeWithParametricSuperType_out.java
@@ -0,0 +1,7 @@
+import java.util.List;
+
+public class A_testNonParametricTypeWithParametricSuperType_in {
+ void foo(){
+ Comparable<String> x = "huh";
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonRawComment_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonRawComment_in.java
new file mode 100644
index 000000000..e9a93bbde
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonRawComment_in.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testNonRawComment_in {
+ <T> void foo(){
+ Set<String>/*blah*/ x = new HashSet<String>();
+ x.add("");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonRawComment_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonRawComment_out.java
new file mode 100644
index 000000000..6b16b4876
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testNonRawComment_out.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testNonRawComment_in {
+ <T> void foo(){
+ Collection<String>/*blah*/ x = new HashSet<String>();
+ x.add("");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDeclWithOverride_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDeclWithOverride_in.java
new file mode 100644
index 000000000..427d9d790
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDeclWithOverride_in.java
@@ -0,0 +1,14 @@
+import java.util.*;
+
+class A_testParameterDeclWithOverride_in {
+ static class X {
+ public void foo(AbstractList v1){
+ Collection c = v1;
+ }
+ }
+ static class Y extends X {
+ public void foo(AbstractList v2){
+ v2 = new ArrayList();
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDeclWithOverride_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDeclWithOverride_out.java
new file mode 100644
index 000000000..066e8eea3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDeclWithOverride_out.java
@@ -0,0 +1,14 @@
+import java.util.*;
+
+class A_testParameterDeclWithOverride_in {
+ static class X {
+ public void foo(AbstractCollection v1){
+ Collection c = v1;
+ }
+ }
+ static class Y extends X {
+ public void foo(AbstractCollection v2){
+ v2 = new ArrayList();
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDecl_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDecl_in.java
new file mode 100644
index 000000000..75389de03
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDecl_in.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testParameterDecl_in {
+ public void foo(Hashtable table){
+ table = new Hashtable();
+ table.put("foo", "bar");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDecl_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDecl_out.java
new file mode 100644
index 000000000..193f9388c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterDecl_out.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testParameterDecl_in {
+ public void foo(Map table){
+ table = new Hashtable();
+ table.put("foo", "bar");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterNameWithOverride_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterNameWithOverride_in.java
new file mode 100644
index 000000000..bacb43f99
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterNameWithOverride_in.java
@@ -0,0 +1,14 @@
+import java.util.*;
+
+class A_testParameterNameWithOverride_in {
+ static class X {
+ public void foo(AbstractList v1){
+ Collection c = v1;
+ }
+ }
+ static class Y extends X {
+ public void foo(AbstractList v2){
+ v2 = new ArrayList();
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterNameWithOverride_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterNameWithOverride_out.java
new file mode 100644
index 000000000..51a0e9c64
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterNameWithOverride_out.java
@@ -0,0 +1,14 @@
+import java.util.*;
+
+class A_testParameterNameWithOverride_in {
+ static class X {
+ public void foo(Collection v1){
+ Collection c = v1;
+ }
+ }
+ static class Y extends X {
+ public void foo(Collection v2){
+ v2 = new ArrayList();
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterName_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterName_in.java
new file mode 100644
index 000000000..b88497cc9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterName_in.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testParameterName_in {
+ public void foo(Hashtable table){
+ table = new Hashtable();
+ table.put("foo", "bar");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterName_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterName_out.java
new file mode 100644
index 000000000..518918393
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterName_out.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testParameterName_in {
+ public void foo(Map table){
+ table = new Hashtable();
+ table.put("foo", "bar");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverride_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverride_in.java
new file mode 100644
index 000000000..00796bbda
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverride_in.java
@@ -0,0 +1,14 @@
+import java.util.*;
+
+class A_testParameterTypeWithOverride_in {
+ static class X {
+ public void foo(AbstractList v1){
+ Collection c = v1;
+ }
+ }
+ static class Y extends X {
+ public void foo(AbstractList v2){
+ v2 = new ArrayList();
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverride_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverride_out.java
new file mode 100644
index 000000000..f66f2d841
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverride_out.java
@@ -0,0 +1,14 @@
+import java.util.*;
+
+class A_testParameterTypeWithOverride_in {
+ static class X {
+ public void foo(List v1){
+ Collection c = v1;
+ }
+ }
+ static class Y extends X {
+ public void foo(List v2){
+ v2 = new ArrayList();
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding2.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding2.java
new file mode 100644
index 000000000..8d79d00db
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding2.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.*;
+
+public class A_testParameterTypeWithOverriding2 extends A_testParameterTypeWithOverriding_in {
+ public void foo(List list2){
+ Collection c = list2;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding2_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding2_out.java
new file mode 100644
index 000000000..8d79d00db
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding2_out.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.*;
+
+public class A_testParameterTypeWithOverriding2 extends A_testParameterTypeWithOverriding_in {
+ public void foo(List list2){
+ Collection c = list2;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding_in.java
new file mode 100644
index 000000000..3db6fb0c7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding_in.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.*;
+
+public class A_testParameterTypeWithOverriding_in {
+ public void foo(List list){
+ list = new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding_out.java
new file mode 100644
index 000000000..9176fa4bb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterTypeWithOverriding_out.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.*;
+
+public class A_testParameterTypeWithOverriding_in {
+ public void foo(Collection list){
+ list = new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterType_in.java
new file mode 100644
index 000000000..da71728a3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterType_in.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testParameterType_in {
+ public void foo(Hashtable table){
+ table = new Hashtable();
+ table.put("foo", "bar");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterType_out.java
new file mode 100644
index 000000000..a1bc5695f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParameterType_out.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testParameterType_in {
+ public void foo(Dictionary table){
+ table = new Hashtable();
+ table.put("foo", "bar");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricEmptySelection_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricEmptySelection_in.java
new file mode 100644
index 000000000..5ed31ebc9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricEmptySelection_in.java
@@ -0,0 +1,24 @@
+import java.util.Arrays;
+import java.util.List;
+import java.util.Vector;
+
+public class A_testParametricEmptySelection_in {
+ String fValue2 = "Eclipse";
+ List<String> fValue = Arrays.asList("Eclipse");
+
+ String test(String arg) { return null;}
+ List<String> test2(java.util.List<Object> aList, List<Object> l){
+ return null;
+ }
+ Vector foo(BBB aaa){
+ List<String> xx = null;
+ return null;
+ }
+}
+
+class AAA {
+
+}
+class BBB extends AAA {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricEmptySelection_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricEmptySelection_out.java
new file mode 100644
index 000000000..d4d867760
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricEmptySelection_out.java
@@ -0,0 +1,24 @@
+import java.util.Arrays;
+import java.util.List;
+import java.util.Vector;
+
+public class A_testParametricEmptySelection_in {
+ String fValue2 = "Eclipse";
+ Iterable<String> fValue = Arrays.asList("Eclipse");
+
+ String test(String arg) { return null;}
+ List<String> test2(java.util.List<Object> aList, List<Object> l){
+ return null;
+ }
+ Vector foo(BBB aaa){
+ List<String> xx = null;
+ return null;
+ }
+}
+
+class AAA {
+
+}
+class BBB extends AAA {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricField_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricField_in.java
new file mode 100644
index 000000000..381a2efb9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricField_in.java
@@ -0,0 +1,8 @@
+import java.util.ArrayList;
+import java.util.List;
+
+// see bug #94715
+public class A_testParametricField_in {
+ ArrayList<Integer> al = new ArrayList<Integer>();
+}
+
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricField_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricField_out.java
new file mode 100644
index 000000000..789bb570b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricField_out.java
@@ -0,0 +1,8 @@
+import java.util.ArrayList;
+import java.util.List;
+
+// see bug #94715
+public class A_testParametricField_in {
+ Iterable<Integer> al = new ArrayList<Integer>();
+}
+
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricHashtable_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricHashtable_in.java
new file mode 100644
index 000000000..717fc9821
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricHashtable_in.java
@@ -0,0 +1,7 @@
+import java.util.Hashtable;
+
+public class A_testParametricHashtable_in {
+ void foo(){
+ Hashtable<String, Integer> h = new Hashtable<String, Integer>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricHashtable_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricHashtable_out.java
new file mode 100644
index 000000000..96fa7ce6f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricHashtable_out.java
@@ -0,0 +1,8 @@
+import java.util.Hashtable;
+import java.util.Map;
+
+public class A_testParametricHashtable_in {
+ void foo(){
+ Map<String, Integer> h = new Hashtable<String, Integer>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricLocalVar_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricLocalVar_in.java
new file mode 100644
index 000000000..70e10a0b6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricLocalVar_in.java
@@ -0,0 +1,24 @@
+import java.util.Arrays;
+import java.util.List;
+import java.util.Vector;
+
+public class A_testParametricLocalVar_in {
+ String fValue2 = "Eclipse";
+ List<String> fValue = Arrays.asList("Eclipse");
+
+ String test(String arg) { return null;}
+ List<String> test2(java.util.List<Object> aList, List<Object> l){
+ return null;
+ }
+ Vector foo(BBB aaa){
+ List<String> xx = null;
+ return null;
+ }
+}
+
+class AAA {
+
+}
+class BBB extends AAA {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricLocalVar_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricLocalVar_out.java
new file mode 100644
index 000000000..9f4326340
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricLocalVar_out.java
@@ -0,0 +1,24 @@
+import java.util.Arrays;
+import java.util.List;
+import java.util.Vector;
+
+public class A_testParametricLocalVar_in {
+ String fValue2 = "Eclipse";
+ List<String> fValue = Arrays.asList("Eclipse");
+
+ String test(String arg) { return null;}
+ List<String> test2(java.util.List<Object> aList, List<Object> l){
+ return null;
+ }
+ Vector foo(BBB aaa){
+ Iterable<String> xx = null;
+ return null;
+ }
+}
+
+class AAA {
+
+}
+class BBB extends AAA {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricParameter_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricParameter_in.java
new file mode 100644
index 000000000..d2039632a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricParameter_in.java
@@ -0,0 +1,24 @@
+import java.util.Arrays;
+import java.util.List;
+import java.util.Vector;
+
+public class A_testParametricParameter_in {
+ String fValue2 = "Eclipse";
+ List<String> fValue = Arrays.asList("Eclipse");
+
+ String test(String arg) { return null;}
+ List<String> test2(java.util.List<Object> aList, List<Object> l){
+ return null;
+ }
+ Vector foo(BBB aaa){
+ List<String> xx = null;
+ return null;
+ }
+}
+
+class AAA {
+
+}
+class BBB extends AAA {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricParameter_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricParameter_out.java
new file mode 100644
index 000000000..d4165d88d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricParameter_out.java
@@ -0,0 +1,24 @@
+import java.util.Arrays;
+import java.util.List;
+import java.util.Vector;
+
+public class A_testParametricParameter_in {
+ String fValue2 = "Eclipse";
+ List<String> fValue = Arrays.asList("Eclipse");
+
+ String test(String arg) { return null;}
+ List<String> test2(java.util.List<Object> aList, Iterable<Object> l){
+ return null;
+ }
+ Vector foo(BBB aaa){
+ List<String> xx = null;
+ return null;
+ }
+}
+
+class AAA {
+
+}
+class BBB extends AAA {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricReturnType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricReturnType_in.java
new file mode 100644
index 000000000..b3336586f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricReturnType_in.java
@@ -0,0 +1,13 @@
+import java.util.Vector;
+
+//see bug #94715
+public class A_testParametricReturnType_in {
+ public Vector<String> foo() {
+ return new Vector<String>();
+ }
+ public Vector bar(){
+ return new Vector();
+ }
+
+}
+
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricReturnType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricReturnType_out.java
new file mode 100644
index 000000000..a72c79676
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricReturnType_out.java
@@ -0,0 +1,13 @@
+import java.util.Vector;
+
+//see bug #94715
+public class A_testParametricReturnType_in {
+ public Iterable<String> foo() {
+ return new Vector<String>();
+ }
+ public Vector bar(){
+ return new Vector();
+ }
+
+}
+
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithNonParametricSuperType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithNonParametricSuperType_in.java
new file mode 100644
index 000000000..0b510c2e7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithNonParametricSuperType_in.java
@@ -0,0 +1,7 @@
+import java.util.List;
+
+public class A_testParametricTypeWithNonParametricSuperType_in {
+ void foo(){
+ List<String> x = null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithNonParametricSuperType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithNonParametricSuperType_out.java
new file mode 100644
index 000000000..c3a107d5c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithNonParametricSuperType_out.java
@@ -0,0 +1,7 @@
+import java.util.List;
+
+public class A_testParametricTypeWithNonParametricSuperType_in {
+ void foo(){
+ Object x = null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithParametricSuperType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithParametricSuperType_in.java
new file mode 100644
index 000000000..ad69fae50
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithParametricSuperType_in.java
@@ -0,0 +1,7 @@
+import java.util.List;
+
+public class A_testParametricTypeWithParametricSuperType_in {
+ void foo(){
+ List<String> x = null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithParametricSuperType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithParametricSuperType_out.java
new file mode 100644
index 000000000..3b78cfe5b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testParametricTypeWithParametricSuperType_out.java
@@ -0,0 +1,8 @@
+import java.util.Collection;
+import java.util.List;
+
+public class A_testParametricTypeWithParametricSuperType_in {
+ void foo(){
+ Collection<String> x = null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testQualifiedNameEmptySelection_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testQualifiedNameEmptySelection_in.java
new file mode 100644
index 000000000..cc6da782f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testQualifiedNameEmptySelection_in.java
@@ -0,0 +1,24 @@
+import java.util.Arrays;
+import java.util.List;
+import java.util.Vector;
+
+public class A_testQualifiedNameEmptySelection_in {
+ String fValue2 = "Eclipse";
+ Iterable<String> fValue = Arrays.asList("Eclipse");
+
+ String test(String arg) { return null;}
+ List<String> test2(java.util.List<Object> aList, List<Object> l){
+ return null;
+ }
+ Vector foo(BBB aaa){
+ List<String> xx = null;
+ return null;
+ }
+}
+
+class AAA {
+
+}
+class BBB extends AAA {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testQualifiedNameEmptySelection_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testQualifiedNameEmptySelection_out.java
new file mode 100644
index 000000000..65fc96b70
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testQualifiedNameEmptySelection_out.java
@@ -0,0 +1,24 @@
+import java.util.Arrays;
+import java.util.List;
+import java.util.Vector;
+
+public class A_testQualifiedNameEmptySelection_in {
+ String fValue2 = "Eclipse";
+ Iterable<String> fValue = Arrays.asList("Eclipse");
+
+ String test(String arg) { return null;}
+ List<String> test2(Iterable<Object> aList, List<Object> l){
+ return null;
+ }
+ Vector foo(BBB aaa){
+ List<String> xx = null;
+ return null;
+ }
+}
+
+class AAA {
+
+}
+class BBB extends AAA {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawComment_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawComment_in.java
new file mode 100644
index 000000000..04941826c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawComment_in.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testRawComment_in {
+ <T> void foo(){
+ Set/*<String>*/ x= new HashSet();
+ x.add("");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawComment_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawComment_out.java
new file mode 100644
index 000000000..469a34aee
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawComment_out.java
@@ -0,0 +1,8 @@
+import java.util.*;
+
+class A_testRawComment_in {
+ <T> void foo(){
+ Collection/*<String>*/ x= new HashSet();
+ x.add("");
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawSubType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawSubType_in.java
new file mode 100644
index 000000000..452ea36a5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawSubType_in.java
@@ -0,0 +1,8 @@
+public class A_testRawSubType_in {
+ void foo(Interface i){
+ Comparable c= i.getName();
+ }
+}
+interface Interface {
+ String getName();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawSubType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawSubType_out.java
new file mode 100644
index 000000000..808349e13
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testRawSubType_out.java
@@ -0,0 +1,8 @@
+public class A_testRawSubType_in {
+ void foo(Interface i){
+ Comparable c= i.getName();
+ }
+}
+interface Interface {
+ Comparable<String> getName();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReorderTypeParameters_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReorderTypeParameters_in.java
new file mode 100644
index 000000000..9bbbe075f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReorderTypeParameters_in.java
@@ -0,0 +1,10 @@
+import java.util.Vector;
+
+public class A_testReorderTypeParameters_in {
+ void foo(){
+ Vector v = new Vector();
+ B<String, Integer> x = new B<String, Integer>();
+ }
+}
+class A<T1,T2> { }
+class B<T3,T4> extends A<T4,T3> { }
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReorderTypeParameters_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReorderTypeParameters_out.java
new file mode 100644
index 000000000..84fe23bb9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReorderTypeParameters_out.java
@@ -0,0 +1,10 @@
+import java.util.Vector;
+
+public class A_testReorderTypeParameters_in {
+ void foo(){
+ Vector v = new Vector();
+ A<Integer, String> x = new B<String, Integer>();
+ }
+}
+class A<T1,T2> { }
+class B<T3,T4> extends A<T4,T3> { }
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType2.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType2.java
new file mode 100644
index 000000000..527bb43dd
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType2.java
@@ -0,0 +1,10 @@
+package p;
+
+import java.util.*;
+
+public class A_testReturnType2 {
+ void bar(){
+ A_testReturnType_in ww = new A_testReturnType_in();
+ Object pp = ww.foo();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnTypeWithCall_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnTypeWithCall_in.java
new file mode 100644
index 000000000..cbed2e502
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnTypeWithCall_in.java
@@ -0,0 +1,10 @@
+import java.util.*;
+
+class A_testReturnTypeWithCall_in {
+ public ArrayList foo(){
+ return new ArrayList();
+ }
+ public void bar(){
+ List l = this.foo();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnTypeWithCall_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnTypeWithCall_out.java
new file mode 100644
index 000000000..7f0b8ad96
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnTypeWithCall_out.java
@@ -0,0 +1,10 @@
+import java.util.*;
+
+class A_testReturnTypeWithCall_in {
+ public AbstractList foo(){
+ return new ArrayList();
+ }
+ public void bar(){
+ List l = this.foo();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType_in.java
new file mode 100644
index 000000000..7b0bfd1fd
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType_in.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.*;
+
+class A_testReturnType_in {
+ public List foo(){
+ return new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType_out.java
new file mode 100644
index 000000000..139f62dc0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testReturnType_out.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.*;
+
+class A_testReturnType_in {
+ public Collection foo(){
+ return new ArrayList();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testString_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testString_in.java
new file mode 100644
index 000000000..1db9bd550
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testString_in.java
@@ -0,0 +1,7 @@
+
+class A_testString_in {
+ public static void bar(){
+ String s = new String();
+ s.toString();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testString_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testString_out.java
new file mode 100644
index 000000000..d96ed24bd
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testString_out.java
@@ -0,0 +1,7 @@
+
+class A_testString_in {
+ public static void bar(){
+ Object s = new String();
+ s.toString();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnboundTypeParameter_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnboundTypeParameter_in.java
new file mode 100644
index 000000000..ca64c8dda
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnboundTypeParameter_in.java
@@ -0,0 +1,7 @@
+import java.util.List;
+
+public class A_testUnboundTypeParameter_in {
+ public <T> void baz() {
+ List<T> list= null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnboundTypeParameter_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnboundTypeParameter_out.java
new file mode 100644
index 000000000..0bd678dd8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnboundTypeParameter_out.java
@@ -0,0 +1,7 @@
+import java.util.List;
+
+public class A_testUnboundTypeParameter_in {
+ public <T> void baz() {
+ Iterable<T> list= null;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnrelatedTypeParameters_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnrelatedTypeParameters_in.java
new file mode 100644
index 000000000..113522f2e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnrelatedTypeParameters_in.java
@@ -0,0 +1,8 @@
+public class A_testUnrelatedTypeParameters_in {
+ void foo(){
+ G<Integer> e = new G<Integer>();
+ }
+}
+class E<T>{ }
+class F extends E<String>{ }
+class G<U> extends F { }
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnrelatedTypeParameters_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnrelatedTypeParameters_out.java
new file mode 100644
index 000000000..02482bed1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testUnrelatedTypeParameters_out.java
@@ -0,0 +1,8 @@
+public class A_testUnrelatedTypeParameters_in {
+ void foo(){
+ E<String> e = new G<Integer>();
+ }
+}
+class E<T>{ }
+class F extends E<String>{ }
+class G<U> extends F { }
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg2_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg2_in.java
new file mode 100644
index 000000000..99310e568
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg2_in.java
@@ -0,0 +1,6 @@
+public class A_testVarArg2_in {
+ void m(Integer one) {
+ var(one);
+ }
+ void var(Integer... as) { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg_in.java
new file mode 100644
index 000000000..bf15aa55a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg_in.java
@@ -0,0 +1,11 @@
+import java.io.*;
+
+public class A_testVarArg_in {
+ public void checkTrue() {
+ Integer i= linesPass("B", "A"); // generalize i
+ }
+
+ private Integer linesPass(String... lines) {
+ return 1;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg_out.java
new file mode 100644
index 000000000..6d1fe70fd
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeTypeRefactoring/positive/A_testVarArg_out.java
@@ -0,0 +1,11 @@
+import java.io.*;
+
+public class A_testVarArg_in {
+ public void checkTrue() {
+ Object i= linesPass("B", "A"); // generalize i
+ }
+
+ private Integer linesPass(String... lines) {
+ return 1;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test0_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test0_in.java
new file mode 100644
index 000000000..f24aa7cd2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test0_in.java
@@ -0,0 +1,7 @@
+package p;
+//private, static, final
+class A{
+ void f(){
+ new A(){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test0_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test0_out.java
new file mode 100644
index 000000000..501f13425
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test0_out.java
@@ -0,0 +1,10 @@
+package p;
+//private, static, final
+class A{
+ private final class Inner extends A {
+ }
+
+ void f(){
+ new Inner();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test10_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test10_in.java
new file mode 100644
index 000000000..17e86dade
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test10_in.java
@@ -0,0 +1,14 @@
+package p;
+//private, static, final
+class A{
+ A(int i){
+ }
+ void f(){
+ new A(1){
+ void f(){
+ x();
+ }
+ };
+ }
+ static void x(){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test10_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test10_out.java
new file mode 100644
index 000000000..7bd46472b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test10_out.java
@@ -0,0 +1,18 @@
+package p;
+//private, static, final
+class A{
+ private final class Inner extends A {
+ private Inner(int i) {
+ super(i);
+ }
+ void f(){
+ x();
+ }
+ }
+ A(int i){
+ }
+ void f(){
+ new Inner(1);
+ }
+ static void x(){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test11_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test11_in.java
new file mode 100644
index 000000000..bcf9c617d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test11_in.java
@@ -0,0 +1,9 @@
+package p;
+class A{
+ void f(){
+ final int u= 9;
+ new A(){
+ int k= u;
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test11_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test11_out.java
new file mode 100644
index 000000000..2c372bced
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test11_out.java
@@ -0,0 +1,16 @@
+package p;
+class A{
+ private final class Inner extends A {
+ private final int u;
+ int k;
+ private Inner(int u) {
+ this.u= u;
+ k= u;
+ }
+ }
+
+ void f(){
+ final int u= 9;
+ new Inner(u);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test12_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test12_in.java
new file mode 100644
index 000000000..b3e2851b8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test12_in.java
@@ -0,0 +1,12 @@
+package p;
+class A{
+ A(int x){
+ }
+ void f(){
+ final int u= 9;
+ int s= 2;
+ new A(s){
+ int k= u;
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test12_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test12_out.java
new file mode 100644
index 000000000..6d9e8ed1c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test12_out.java
@@ -0,0 +1,19 @@
+package p;
+class A{
+ private final class Inner extends A {
+ private final int u;
+ int k;
+ private Inner(int x, int u) {
+ super(x);
+ this.u= u;
+ k= u;
+ }
+ }
+ A(int x){
+ }
+ void f(){
+ final int u= 9;
+ int s= 2;
+ new Inner(s, u);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test13_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test13_in.java
new file mode 100644
index 000000000..3a0d38746
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test13_in.java
@@ -0,0 +1,9 @@
+package p;
+class A{
+ A(Object s){}
+ void f(){
+ class Local{}
+ new A(new Local()){
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test13_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test13_out.java
new file mode 100644
index 000000000..be045096b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test13_out.java
@@ -0,0 +1,13 @@
+package p;
+class A{
+ private final class Inner extends A {
+ private Inner(Object s) {
+ super(s);
+ }
+ }
+ A(Object s){}
+ void f(){
+ class Local{}
+ new Inner(new Local());
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test14_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test14_in.java
new file mode 100644
index 000000000..44ac38702
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test14_in.java
@@ -0,0 +1,7 @@
+package p;
+//private, static, final
+class A{
+ void f(){
+ new Object(){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test14_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test14_out.java
new file mode 100644
index 000000000..53a64d339
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test14_out.java
@@ -0,0 +1,10 @@
+package p;
+//private, static, final
+class A{
+ private final class Inner {
+ }
+
+ void f(){
+ new Inner();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test15_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test15_in.java
new file mode 100644
index 000000000..6feac7beb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test15_in.java
@@ -0,0 +1,10 @@
+package p;
+
+import java.util.ArrayList;
+
+class A{
+ void g(){
+ new ArrayList(6){
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test15_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test15_out.java
new file mode 100644
index 000000000..6783e2d6f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test15_out.java
@@ -0,0 +1,15 @@
+package p;
+
+import java.util.ArrayList;
+
+class A{
+ private final class Inner extends ArrayList {
+ private Inner(int arg0) {
+ super(arg0);
+ }
+ }
+
+ void g(){
+ new Inner(6);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test16_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test16_in.java
new file mode 100644
index 000000000..176d1cfc9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test16_in.java
@@ -0,0 +1,10 @@
+package p;
+class A {
+ void f(){
+ new Comparable(){
+ public int compareTo(Object other) {
+ return 0;
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test16_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test16_out.java
new file mode 100644
index 000000000..36f5608df
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test16_out.java
@@ -0,0 +1,12 @@
+package p;
+class A {
+ private final class Inner implements Comparable {
+ public int compareTo(Object other) {
+ return 0;
+ }
+ }
+
+ void f(){
+ new Inner();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test17_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test17_in.java
new file mode 100644
index 000000000..3612339b1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test17_in.java
@@ -0,0 +1,9 @@
+package p;
+class A {
+ A(Object x){
+ }
+ void f(){
+ new A(this){
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test17_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test17_out.java
new file mode 100644
index 000000000..42c8e2a29
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test17_out.java
@@ -0,0 +1,13 @@
+package p;
+class A {
+ private final class Inner extends A {
+ private Inner(Object x) {
+ super(x);
+ }
+ }
+ A(Object x){
+ }
+ void f(){
+ new Inner(this);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test18_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test18_in.java
new file mode 100644
index 000000000..db38aa680
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test18_in.java
@@ -0,0 +1,11 @@
+package p;
+class A{
+ void f(){
+ final int u= 9;
+ new A(){
+ void g(){
+ int uj= u;
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test18_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test18_out.java
new file mode 100644
index 000000000..bd2fda4de
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test18_out.java
@@ -0,0 +1,17 @@
+package p;
+class A{
+ private final class Inner extends A {
+ private final int u;
+ private Inner(int u) {
+ this.u= u;
+ }
+ void g(){
+ int uj= u;
+ }
+ }
+
+ void f(){
+ final int u= 9;
+ new Inner(u);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test19_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test19_in.java
new file mode 100644
index 000000000..37303db93
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test19_in.java
@@ -0,0 +1,11 @@
+package p;
+class A{
+ void f(){
+ final int u= 8;
+ new A(){
+ int l= 9;
+ int p0= 2, k= u, k1= k;
+ int l1= l+1, p, q= p+u;
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test19_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test19_out.java
new file mode 100644
index 000000000..31d3b0d0d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test19_out.java
@@ -0,0 +1,20 @@
+package p;
+class A{
+ private final class Inner extends A {
+ private final int u;
+ int l= 9;
+ int p0= 2, k, k1;
+ int l1= l+1, p, q;
+ private Inner(int u) {
+ this.u= u;
+ k= u;
+ k1= k;
+ q= p+u;
+ }
+ }
+
+ void f(){
+ final int u= 8;
+ new Inner(u);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test1_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test1_in.java
new file mode 100644
index 000000000..c567910c8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test1_in.java
@@ -0,0 +1,7 @@
+package p;
+//public, static, final
+class A{
+ void f(){
+ new A(){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test1_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test1_out.java
new file mode 100644
index 000000000..8db3e5051
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test1_out.java
@@ -0,0 +1,10 @@
+package p;
+//public, static, final
+class A{
+ public final class Inner extends A {
+ }
+
+ void f(){
+ new Inner();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test20_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test20_in.java
new file mode 100644
index 000000000..ab963b81b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test20_in.java
@@ -0,0 +1,11 @@
+package p;
+class A {
+ public void foo() {
+ A foo= new A() {
+ public void bar() {
+ // TODO the return is misaligned
+ return;
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test20_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test20_out.java
new file mode 100644
index 000000000..bae6c85ef
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test20_out.java
@@ -0,0 +1,13 @@
+package p;
+class A {
+ private final class Inner extends A {
+ public void bar() {
+ // TODO the return is misaligned
+return;
+ }
+ }
+
+ public void foo() {
+ A foo= new Inner();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test21_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test21_in.java
new file mode 100644
index 000000000..8a0519ec6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test21_in.java
@@ -0,0 +1,10 @@
+package p;
+class A {
+ public static void foo() {
+ A foo= new A() {
+ public void bar() {
+ return;
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test21_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test21_out.java
new file mode 100644
index 000000000..06b73edc9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test21_out.java
@@ -0,0 +1,12 @@
+package p;
+class A {
+ private static final class Inner extends A {
+ public void bar() {
+ return;
+ }
+ }
+
+ public static void foo() {
+ A foo= new Inner();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test22_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test22_in.java
new file mode 100644
index 000000000..407e4e6a8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test22_in.java
@@ -0,0 +1,16 @@
+package p;
+class A {
+ interface I {
+ void bar();
+ }
+ public static void foo(){
+ I foo= new I() {
+ public void bar() {
+ I foo = new I() {
+ public void bar(){
+ }
+ };
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test22_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test22_out.java
new file mode 100644
index 000000000..b3e88b837
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test22_out.java
@@ -0,0 +1,17 @@
+package p;
+class A {
+ private static final class Inner implements I {
+ public void bar(){
+ }
+ }
+ interface I {
+ void bar();
+ }
+ public static void foo(){
+ I foo= new I() {
+ public void bar() {
+ I foo = new Inner();
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test23_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test23_in.java
new file mode 100644
index 000000000..488a62c8c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test23_in.java
@@ -0,0 +1,10 @@
+package p;
+class A {
+ public static void foo1(){
+ A foo = new A() {
+ public void foo(){
+ A foo = new A(){};
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test23_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test23_out.java
new file mode 100644
index 000000000..734562eb4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test23_out.java
@@ -0,0 +1,13 @@
+package p;
+class A {
+ private final class Inner extends A {
+ }
+
+ public static void foo1(){
+ A foo = new A() {
+ public void foo(){
+ A foo = new Inner();
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test24_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test24_in.java
new file mode 100644
index 000000000..41428c28b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test24_in.java
@@ -0,0 +1,7 @@
+package p;
+class A {
+ static A a = new A(){
+ public void foo(){
+ }
+ };
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test24_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test24_out.java
new file mode 100644
index 000000000..b786337d5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test24_out.java
@@ -0,0 +1,9 @@
+package p;
+class A {
+ private static final class Inner extends A {
+ public void foo(){
+ }
+ }
+
+ static A a = new Inner();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test25_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test25_in.java
new file mode 100644
index 000000000..17059d8f9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test25_in.java
@@ -0,0 +1,15 @@
+package p;
+class A {
+ interface I{
+ void foo();
+ }
+ static A i = new A(){
+ public void foo(){
+ I i = new I() {
+ public void foo(){
+
+ }
+ };
+ }
+ };
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test25_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test25_out.java
new file mode 100644
index 000000000..bce37aeb2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test25_out.java
@@ -0,0 +1,16 @@
+package p;
+class A {
+ private final class Inner implements I {
+ public void foo(){
+
+ }
+ }
+ interface I{
+ void foo();
+ }
+ static A i = new A(){
+ public void foo(){
+ I i = new Inner();
+ }
+ };
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test26_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test26_in.java
new file mode 100644
index 000000000..3fd637854
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test26_in.java
@@ -0,0 +1,15 @@
+package p;
+class A {
+ interface I{
+ void foo();
+ }
+ static I i = new I(){
+ public void foo(){
+ I i = new I() {
+ public void foo(){
+
+ }
+ };
+ }
+ };
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test26_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test26_out.java
new file mode 100644
index 000000000..236d9ad42
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test26_out.java
@@ -0,0 +1,16 @@
+package p;
+class A {
+ private static final class Inner implements I {
+ public void foo(){
+
+ }
+ }
+ interface I{
+ void foo();
+ }
+ static I i = new I(){
+ public void foo(){
+ I i = new Inner();
+ }
+ };
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test27_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test27_in.java
new file mode 100644
index 000000000..df8ef5a21
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test27_in.java
@@ -0,0 +1,20 @@
+package p;
+class A {
+ interface I{
+ void foo();
+ }
+ static void foo1(){
+ new A(){
+ void foo(){
+ I i = new I(){
+ public void foo(){
+ I i = new I(){
+ public void foo(){
+ }
+ };
+ }
+ };
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test27_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test27_out.java
new file mode 100644
index 000000000..d5dd8c685
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test27_out.java
@@ -0,0 +1,21 @@
+package p;
+class A {
+ private final class Inner implements I {
+ public void foo(){
+ }
+ }
+ interface I{
+ void foo();
+ }
+ static void foo1(){
+ new A(){
+ void foo(){
+ I i = new I(){
+ public void foo(){
+ I i = new Inner();
+ }
+ };
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test28_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test28_in.java
new file mode 100644
index 000000000..4ede75f59
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test28_in.java
@@ -0,0 +1,13 @@
+package p;
+class A {
+ public static class B extends A {
+ public void foo(){
+ }
+ }
+
+ static B b = new B() {
+ public void foo() {
+ B b = new B(){};
+ }
+ };
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test28_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test28_out.java
new file mode 100644
index 000000000..6440a3e6f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test28_out.java
@@ -0,0 +1,16 @@
+package p;
+class A {
+ private final class Inner extends B {
+ }
+
+ public static class B extends A {
+ public void foo(){
+ }
+ }
+
+ static B b = new B() {
+ public void foo() {
+ B b = new Inner();
+ }
+ };
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test29_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test29_in.java
new file mode 100644
index 000000000..a9cadf886
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test29_in.java
@@ -0,0 +1,12 @@
+package p;
+class A {
+ private final Integer fTarget= null;
+
+ void test() {
+ new Runnable() {
+ public void run() {
+ fTarget.intValue();
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test29_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test29_out.java
new file mode 100644
index 000000000..ee847b382
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test29_out.java
@@ -0,0 +1,14 @@
+package p;
+class A {
+ private final class Inner implements Runnable {
+ public void run() {
+ fTarget.intValue();
+ }
+ }
+
+ private final Integer fTarget= null;
+
+ void test() {
+ new Inner();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test2_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test2_in.java
new file mode 100644
index 000000000..f37423a93
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test2_in.java
@@ -0,0 +1,7 @@
+package p;
+//public, nonstatic, final
+class A{
+ void f(){
+ new A(){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test2_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test2_out.java
new file mode 100644
index 000000000..d8358e25e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test2_out.java
@@ -0,0 +1,10 @@
+package p;
+//public, nonstatic, final
+class A{
+ public final class Inner extends A {
+ }
+
+ void f(){
+ new Inner();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test30_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test30_in.java
new file mode 100644
index 000000000..e13276a8f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test30_in.java
@@ -0,0 +1,11 @@
+package p;
+public class A {
+ void m() {
+ Runnable greeter= new Runnable() {
+ public void run() {
+ System.out.println("Hello World")
+ }
+ };
+ greeter.run();
+
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test30_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test30_out.java
new file mode 100644
index 000000000..27b97046f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test30_out.java
@@ -0,0 +1,13 @@
+package p;
+public class A {
+ private static final class Greeter implements Runnable {
+ public void run() {
+ System.out.println("Hello World")
+ }
+ }
+
+ void m() {
+ Runnable greeter= new Greeter();
+ greeter.run();
+
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test31_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test31_in.java
new file mode 100644
index 000000000..7928c904a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test31_in.java
@@ -0,0 +1,16 @@
+package p;
+public class A {
+
+ class Inner1 {
+ public Inner1(int param) {
+ }
+ }
+
+ public void doit(final int a, final String param) {
+ Object o = new Inner1(a) {
+ public void m1(String s2) {
+ String s3 = param + s2;
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test31_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test31_out.java
new file mode 100644
index 000000000..fee8950bd
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test31_out.java
@@ -0,0 +1,23 @@
+package p;
+public class A {
+
+ private final class Inner1Extension extends Inner1 {
+ private final String param;
+ private Inner1Extension(int param, String param2) {
+ super(param);
+ this.param= param2;
+ }
+ public void m1(String s2) {
+ String s3 = param + s2;
+ }
+ }
+
+ class Inner1 {
+ public Inner1(int param) {
+ }
+ }
+
+ public void doit(final int a, final String param) {
+ Object o = new Inner1Extension(a, param);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test32_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test32_in.java
new file mode 100644
index 000000000..d0d6d7774
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test32_in.java
@@ -0,0 +1,16 @@
+package p;
+public class A {
+
+ class Inner1 {
+ public Inner1(int... param) {
+ }
+ }
+
+ public void doit(final String param) {
+ Object o = new Inner1(1, 2) {
+ public void m1(String s2) {
+ String s3 = param + s2;
+ }
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test32_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test32_out.java
new file mode 100644
index 000000000..9fe3fa2ab
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test32_out.java
@@ -0,0 +1,23 @@
+package p;
+public class A {
+
+ private final class Inner1Extension extends Inner1 {
+ private final String param;
+ private Inner1Extension(int[] param, String param2) {
+ super(param);
+ this.param= param2;
+ }
+ public void m1(String s2) {
+ String s3 = param + s2;
+ }
+ }
+
+ class Inner1 {
+ public Inner1(int... param) {
+ }
+ }
+
+ public void doit(final String param) {
+ Object o = new Inner1Extension(new int[]{1, 2}, param);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test3_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test3_in.java
new file mode 100644
index 000000000..9a318b5f6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test3_in.java
@@ -0,0 +1,7 @@
+package p;
+//public, nonstatic, nonfinal
+class A{
+ void f(){
+ new A(){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test3_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test3_out.java
new file mode 100644
index 000000000..f02f8b386
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test3_out.java
@@ -0,0 +1,10 @@
+package p;
+//public, nonstatic, nonfinal
+class A{
+ public class Inner extends A {
+ }
+
+ void f(){
+ new Inner();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test4_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test4_in.java
new file mode 100644
index 000000000..5a2d397ad
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test4_in.java
@@ -0,0 +1,9 @@
+package p;
+//private, static, final
+class A{
+ A(){
+ }
+ void f(){
+ new A(){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test4_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test4_out.java
new file mode 100644
index 000000000..953159ce2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test4_out.java
@@ -0,0 +1,11 @@
+package p;
+//private, static, final
+class A{
+ private final class Inner extends A {
+ }
+ A(){
+ }
+ void f(){
+ new Inner();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test5_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test5_in.java
new file mode 100644
index 000000000..d2e45d918
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test5_in.java
@@ -0,0 +1,9 @@
+package p;
+//private, static, final
+class A{
+ A(int i){
+ }
+ void f(){
+ new A(1){};
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test5_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test5_out.java
new file mode 100644
index 000000000..ba6a49262
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test5_out.java
@@ -0,0 +1,14 @@
+package p;
+//private, static, final
+class A{
+ private final class Inner extends A {
+ private Inner(int i) {
+ super(i);
+ }
+ }
+ A(int i){
+ }
+ void f(){
+ new Inner(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test6_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test6_in.java
new file mode 100644
index 000000000..18cbe2004
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test6_in.java
@@ -0,0 +1,12 @@
+package p;
+//private, static, final
+class A{
+ A(int i){
+ }
+ void f(){
+ new A(1){
+ void f(){
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test6_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test6_out.java
new file mode 100644
index 000000000..b7c78070f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test6_out.java
@@ -0,0 +1,16 @@
+package p;
+//private, static, final
+class A{
+ private final class Inner extends A {
+ private Inner(int i) {
+ super(i);
+ }
+ void f(){
+ }
+ }
+ A(int i){
+ }
+ void f(){
+ new Inner(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test7_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test7_in.java
new file mode 100644
index 000000000..81d8b7c08
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test7_in.java
@@ -0,0 +1,13 @@
+package p;
+//private, static, final
+class A{
+ A(int i){
+ }
+ void f(){
+ new A(1){
+ int X = 0;
+ void f(){
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test7_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test7_out.java
new file mode 100644
index 000000000..e6c4841ff
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test7_out.java
@@ -0,0 +1,17 @@
+package p;
+//private, static, final
+class A{
+ private final class Inner extends A {
+ int X = 0;
+ private Inner(int i) {
+ super(i);
+ }
+ void f(){
+ }
+ }
+ A(int i){
+ }
+ void f(){
+ new Inner(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test8_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test8_in.java
new file mode 100644
index 000000000..76a1c7242
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test8_in.java
@@ -0,0 +1,14 @@
+package p;
+//private, nonstatic, final
+class A{
+ A(int i){
+ }
+ void f(){
+ new A(1){
+ void f(){
+ x();
+ }
+ };
+ }
+ void x(){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test8_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test8_out.java
new file mode 100644
index 000000000..c07a0001f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test8_out.java
@@ -0,0 +1,18 @@
+package p;
+//private, nonstatic, final
+class A{
+ private final class Inner extends A {
+ private Inner(int i) {
+ super(i);
+ }
+ void f(){
+ x();
+ }
+ }
+ A(int i){
+ }
+ void f(){
+ new Inner(1);
+ }
+ void x(){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test9_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test9_in.java
new file mode 100644
index 000000000..5c55e598a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test9_in.java
@@ -0,0 +1,14 @@
+package p;
+//private, nonstatic, final
+class A{
+ int y;
+ A(int i){
+ }
+ void f(){
+ new A(1){
+ void f(){
+ y= 0;
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test9_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test9_out.java
new file mode 100644
index 000000000..fdf593cec
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_test9_out.java
@@ -0,0 +1,18 @@
+package p;
+//private, nonstatic, final
+class A{
+ private final class Inner extends A {
+ private Inner(int i) {
+ super(i);
+ }
+ void f(){
+ y= 0;
+ }
+ }
+ int y;
+ A(int i){
+ }
+ void f(){
+ new Inner(1);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics0_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics0_in.java
new file mode 100644
index 000000000..f6a598fae
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics0_in.java
@@ -0,0 +1,7 @@
+package p;
+//private, static, final
+class A<T>{
+ void f(){
+ new A<T>(){};
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics0_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics0_out.java
new file mode 100644
index 000000000..e543233d9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics0_out.java
@@ -0,0 +1,10 @@
+package p;
+//private, static, final
+class A<T>{
+ private final class Inner extends A<T> {
+ }
+
+ void f(){
+ new Inner();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics1_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics1_in.java
new file mode 100644
index 000000000..529b3fc59
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics1_in.java
@@ -0,0 +1,7 @@
+package p;
+//public, static, final
+class A<T>{
+ void f(){
+ new A<T>(){};
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics1_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics1_out.java
new file mode 100644
index 000000000..21583fc17
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics1_out.java
@@ -0,0 +1,10 @@
+package p;
+//public, static, final
+class A<T>{
+ public final class Inner extends A<T> {
+ }
+
+ void f(){
+ new Inner();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics2_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics2_in.java
new file mode 100644
index 000000000..caa6d2c82
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics2_in.java
@@ -0,0 +1,7 @@
+package p;
+//public, nonstatic, final
+class A<T>{
+ void f(){
+ new A<T>(){};
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics2_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics2_out.java
new file mode 100644
index 000000000..16e283fe3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics2_out.java
@@ -0,0 +1,10 @@
+package p;
+//public, nonstatic, final
+class A<T>{
+ public final class Inner extends A<T> {
+ }
+
+ void f(){
+ new Inner();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics3_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics3_in.java
new file mode 100644
index 000000000..d281d9f0a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics3_in.java
@@ -0,0 +1,7 @@
+package p;
+//public, nonstatic, nonfinal
+class A<T>{
+ void f(){
+ new A<T>(){};
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics3_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics3_out.java
new file mode 100644
index 000000000..d99e1f404
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics3_out.java
@@ -0,0 +1,10 @@
+package p;
+//public, nonstatic, nonfinal
+class A<T>{
+ public class Inner extends A<T> {
+ }
+
+ void f(){
+ new Inner();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics4_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics4_in.java
new file mode 100644
index 000000000..a5339523c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics4_in.java
@@ -0,0 +1,9 @@
+package p;
+//private, static, final
+class A<T>{
+ A(){
+ }
+ void f(){
+ new A<T>(){};
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics4_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics4_out.java
new file mode 100644
index 000000000..c3346270c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics4_out.java
@@ -0,0 +1,11 @@
+package p;
+//private, static, final
+class A<T>{
+ private final class Inner extends A<T> {
+ }
+ A(){
+ }
+ void f(){
+ new Inner();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics5_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics5_in.java
new file mode 100644
index 000000000..3672a9961
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics5_in.java
@@ -0,0 +1,9 @@
+package p;
+//private, static, final
+class A<T>{
+ A(){
+ }
+ static <S> void f(){
+ new A<S>(){};
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics5_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics5_out.java
new file mode 100644
index 000000000..9dcf6cb09
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics5_out.java
@@ -0,0 +1,11 @@
+package p;
+//private, static, final
+class A<T>{
+ private static final class Inner<S> extends A<S> {
+ }
+ A(){
+ }
+ static <S> void f(){
+ new Inner<S>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics6_in.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics6_in.java
new file mode 100644
index 000000000..afab99868
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics6_in.java
@@ -0,0 +1,11 @@
+package p;
+//private, static, final
+class A<T>{
+ A(){
+ }
+ <S> void f(){
+ new A<S>(){
+ T t;
+ };
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics6_out.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics6_out.java
new file mode 100644
index 000000000..43228c2db
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/canConvert/A_testGenerics6_out.java
@@ -0,0 +1,12 @@
+package p;
+//private, static, final
+class A<T>{
+ private static final class Inner<S, T> extends A<S> {
+ T t;
+ }
+ A(){
+ }
+ <S> void f(){
+ new Inner<S, T>();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail0.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail0.java
new file mode 100644
index 000000000..c4f269c3e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail0.java
@@ -0,0 +1,10 @@
+package p;
+//references a local type
+class A{
+ void f(){
+ class Local{}
+ new A(){
+ Object x= new Local();
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail1.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail1.java
new file mode 100644
index 000000000..841b26287
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail1.java
@@ -0,0 +1,9 @@
+package p;
+class A{
+ class Inner{}
+ void f(){
+ new A(){
+ Object x= new Object();
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail2.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail2.java
new file mode 100644
index 000000000..9fc6c63ba
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail2.java
@@ -0,0 +1,9 @@
+package p;
+class Inner{
+ class InnerInner{
+ void f(){
+ new Object(){
+ };
+ }
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail3.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail3.java
new file mode 100644
index 000000000..d651b3759
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail3.java
@@ -0,0 +1,16 @@
+package p;
+class A {
+ //duplicate
+}
+public class A {
+ public static class B extends A {
+ public void foo(){
+ }
+ }
+
+ static B b = new B() {
+ public void foo() {
+ B b = new B(){};
+ }
+ };
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail4.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail4.java
new file mode 100644
index 000000000..47467991d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ConvertAnonymousToNested/cannotConvert/A_testFail4.java
@@ -0,0 +1,20 @@
+package p;
+class A {
+ static void foo() {
+ final int x= 10;
+ Runnable runnable= new Runnable() {
+ private int field;
+ public void run() {
+ I i= new I() {
+ public void method() {
+ field= x;
+ }
+ };
+ }
+ };
+ }
+}
+
+interface I {
+ void method();
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_declared_in_multi_yes_type/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_declared_in_multi_yes_type/in/A.java
new file mode 100644
index 000000000..a641675e1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_declared_in_multi_yes_type/in/A.java
@@ -0,0 +1,7 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int[] bar[], baz;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_declared_in_multi_yes_type/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_declared_in_multi_yes_type/out/A.java
new file mode 100644
index 000000000..0ae86ceeb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_declared_in_multi_yes_type/out/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int[] bar[], baz;
+ int[] bar[];
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field/in/A.java
new file mode 100644
index 000000000..7c8fc80d5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int bar;
+ int baz;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field/out/A.java
new file mode 100644
index 000000000..9b0472f50
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field/out/A.java
@@ -0,0 +1,9 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int bar;
+ int baz;
+ int bar;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field_back/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field_back/in/A.java
new file mode 100644
index 000000000..d89fdf24a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field_back/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int baz;
+ int bar;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field_back/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field_back/out/A.java
new file mode 100644
index 000000000..9ea3994f1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_field_yes_field_back/out/A.java
@@ -0,0 +1,9 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int bar;
+ int baz;
+ int bar;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type/in/A.java
new file mode 100644
index 000000000..127f9127c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type/in/A.java
@@ -0,0 +1,7 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int[] bar[]= null, baz= null;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type/out/A.java
new file mode 100644
index 000000000..a4c844ba6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type/out/A.java
@@ -0,0 +1,9 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int[] bar[]= null, baz= null;
+ int[] bar[] = null;
+ int[] baz = null;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type_1/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type_1/in/A.java
new file mode 100644
index 000000000..79ac2a76e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type_1/in/A.java
@@ -0,0 +1,4 @@
+package p;
+class A {
+ private int var11, var2, var3;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type_1/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type_1/out/A.java
new file mode 100644
index 000000000..8fe234967
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_fields_declared_in_multi_yes_type_1/out/A.java
@@ -0,0 +1,7 @@
+package p;
+class A {
+ private int var11, var2, var3;
+ private int var11;
+ private int var2;
+ private int var3;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/in/A.java
new file mode 100644
index 000000000..5fd23e0d6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/in/A.java
@@ -0,0 +1,5 @@
+package p;
+import java.util.*;
+import java.lang.Object;
+class A {
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/in/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/in/C.java
new file mode 100644
index 000000000..9c6b78835
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/in/C.java
@@ -0,0 +1,5 @@
+package p;
+class C {
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/out/A.java
new file mode 100644
index 000000000..5fd23e0d6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/out/A.java
@@ -0,0 +1,5 @@
+package p;
+import java.util.*;
+import java.lang.Object;
+class A {
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/out/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/out/C.java
new file mode 100644
index 000000000..0a21d0961
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_cu/out/C.java
@@ -0,0 +1,8 @@
+package p;
+
+import java.util.*;
+import java.lang.Object;
+class C {
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/in/A.java
new file mode 100644
index 000000000..5fd23e0d6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/in/A.java
@@ -0,0 +1,5 @@
+package p;
+import java.util.*;
+import java.lang.Object;
+class A {
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/in/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/in/C.java
new file mode 100644
index 000000000..9c6b78835
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/in/C.java
@@ -0,0 +1,5 @@
+package p;
+class C {
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/out/A.java
new file mode 100644
index 000000000..5fd23e0d6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/out/A.java
@@ -0,0 +1,5 @@
+package p;
+import java.util.*;
+import java.lang.Object;
+class A {
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/out/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/out/C.java
new file mode 100644
index 000000000..0a21d0961
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_method_in_different_cu/out/C.java
@@ -0,0 +1,8 @@
+package p;
+
+import java.util.*;
+import java.lang.Object;
+class C {
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/in/A.java
new file mode 100644
index 000000000..7d966e71f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/in/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/in/C.java
new file mode 100644
index 000000000..49f041fae
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/in/C.java
@@ -0,0 +1,5 @@
+package p;
+class C {
+}
+class D {
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/out/A.java
new file mode 100644
index 000000000..7d966e71f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/out/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/out/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/out/C.java
new file mode 100644
index 000000000..5df7e2289
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_import_container_yes_type_in_different_cu/out/C.java
@@ -0,0 +1,7 @@
+package p;
+
+import java.util.*;
+class C {
+}
+class D {
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method/in/A.java
new file mode 100644
index 000000000..63216a9f1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ static {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method/out/A.java
new file mode 100644
index 000000000..f419de0fa
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method/out/A.java
@@ -0,0 +1,10 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ static {
+ }
+ static {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method_back/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method_back/in/A.java
new file mode 100644
index 000000000..deb4b8eb8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method_back/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ static {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method_back/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method_back/out/A.java
new file mode 100644
index 000000000..d5fc315b8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_method_back/out/A.java
@@ -0,0 +1,10 @@
+package p;
+import java.util.*;
+class A {
+ static {
+ }
+ void foo() {
+ }
+ static {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_type/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_type/in/A.java
new file mode 100644
index 000000000..8c67b832e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_type/in/A.java
@@ -0,0 +1,9 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ {
+ int fred= 0; //comment
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_type/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_type/out/A.java
new file mode 100644
index 000000000..272c7753c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_initializer_yes_type/out/A.java
@@ -0,0 +1,12 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ {
+ int fred= 0; //comment
+ }
+ {
+ int fred= 0; //comment
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/in/A.java
new file mode 100644
index 000000000..f32cf61e5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/in/A.java
@@ -0,0 +1,10 @@
+package p;
+import java.util.*;
+class A {
+ class Inner {
+ void foo() {//comment here
+ }
+ int bar;//comment there
+ int baz;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/in/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/in/C.java
new file mode 100644
index 000000000..8b3f1f03e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/in/C.java
@@ -0,0 +1,3 @@
+package p;
+class C{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/out/A.java
new file mode 100644
index 000000000..f32cf61e5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/out/A.java
@@ -0,0 +1,10 @@
+package p;
+import java.util.*;
+class A {
+ class Inner {
+ void foo() {//comment here
+ }
+ int bar;//comment there
+ int baz;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/out/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/out/C.java
new file mode 100644
index 000000000..a10a14d2f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_inner_type_yes_cu/out/C.java
@@ -0,0 +1,10 @@
+package p;
+class C{
+}
+
+class Inner {
+ void foo() {//comment here
+ }
+ int bar;//comment there
+ int baz;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/in/A.java
new file mode 100644
index 000000000..97fa672e6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/in/A.java
@@ -0,0 +1,6 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/in/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/in/C.java
new file mode 100644
index 000000000..49f041fae
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/in/C.java
@@ -0,0 +1,5 @@
+package p;
+class C {
+}
+class D {
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/out/A.java
new file mode 100644
index 000000000..97fa672e6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/out/A.java
@@ -0,0 +1,6 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/out/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/out/C.java
new file mode 100644
index 000000000..cc9219f9c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_cu_with_main_type/out/C.java
@@ -0,0 +1,8 @@
+package p;
+class C {
+
+ void foo() {
+ }
+}
+class D {
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field/in/A.java
new file mode 100644
index 000000000..949b72dd5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field/in/A.java
@@ -0,0 +1,7 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int bar;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field/out/A.java
new file mode 100644
index 000000000..046d474f6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field/out/A.java
@@ -0,0 +1,9 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int bar;
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field_back/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field_back/in/A.java
new file mode 100644
index 000000000..c7f35ff68
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field_back/in/A.java
@@ -0,0 +1,7 @@
+package p;
+import java.util.*;
+class A {
+ int bar;
+ void foo() {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field_back/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field_back/out/A.java
new file mode 100644
index 000000000..43c154e7e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_field_back/out/A.java
@@ -0,0 +1,9 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int bar;
+ void foo() {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer/in/A.java
new file mode 100644
index 000000000..7d966e71f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer/out/A.java
new file mode 100644
index 000000000..34371968d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer/out/A.java
@@ -0,0 +1,10 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ {
+ }
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer_back/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer_back/in/A.java
new file mode 100644
index 000000000..cfdbc5603
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer_back/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ {
+ }
+ void foo() {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer_back/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer_back/out/A.java
new file mode 100644
index 000000000..26ab7909a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_initializer_back/out/A.java
@@ -0,0 +1,10 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ {
+ }
+ void foo() {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_itself/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_itself/in/A.java
new file mode 100644
index 000000000..97fa672e6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_itself/in/A.java
@@ -0,0 +1,6 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_itself/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_itself/out/A.java
new file mode 100644
index 000000000..050fef9cc
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_itself/out/A.java
@@ -0,0 +1,9 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method/in/A.java
new file mode 100644
index 000000000..3df1c60d1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ void bar() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method/out/A.java
new file mode 100644
index 000000000..d662690b9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method/out/A.java
@@ -0,0 +1,10 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ void bar() {
+ }
+ void foo() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method_back/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method_back/in/A.java
new file mode 100644
index 000000000..21bdf9ec0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method_back/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void bar() {
+ }
+ void foo() {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method_back/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method_back/out/A.java
new file mode 100644
index 000000000..62df3cdcb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_other_method_back/out/A.java
@@ -0,0 +1,10 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ void bar() {
+ }
+ void foo() {
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_type/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_type/in/A.java
new file mode 100644
index 000000000..be7483e1d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_type/in/A.java
@@ -0,0 +1,9 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ int stuff= 1; //this is a comment
+ //and another one
+ }
+ int bar;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_type/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_type/out/A.java
new file mode 100644
index 000000000..8015905f7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_method_yes_type/out/A.java
@@ -0,0 +1,13 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ int stuff= 1; //this is a comment
+ //and another one
+ }
+ void foo() {
+ int stuff= 1; //this is a comment
+ //and another one
+ }
+ int bar;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/in/A.java
new file mode 100644
index 000000000..7c8fc80d5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/in/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int bar;
+ int baz;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/in/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/in/C.java
new file mode 100644
index 000000000..8b3f1f03e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/in/C.java
@@ -0,0 +1,3 @@
+package p;
+class C{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/out/A.java
new file mode 100644
index 000000000..7c8fc80d5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/out/A.java
@@ -0,0 +1,8 @@
+package p;
+import java.util.*;
+class A {
+ void foo() {
+ }
+ int bar;
+ int baz;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/out/C.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/out/C.java
new file mode 100644
index 000000000..3609e4e3e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Copy/test_type_yes_type/out/C.java
@@ -0,0 +1,10 @@
+package p;
+class C{
+}
+
+class A {
+ void foo() {
+ }
+ int bar;
+ int baz;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/CopyPackageChange/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/CopyPackageChange/A.java
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/CopyPackageChange/A.java
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf01/in/A.java
new file mode 100644
index 000000000..57c50a6c8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf01/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public class A {
+
+ static String foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf01/out/A.java
new file mode 100644
index 000000000..e1f013e65
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf01/out/A.java
@@ -0,0 +1,10 @@
+package p;
+
+public class A {
+
+ static String foo;
+ /**
+ * @deprecated Use {@link #foo} instead
+ */
+ static String foo = foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf02/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf02/in/A.java
new file mode 100644
index 000000000..9194a64bb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf02/in/A.java
@@ -0,0 +1,9 @@
+package p;
+
+public class A {
+
+ /**
+ * This is the field "foo".
+ */
+ static String foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf02/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf02/out/A.java
new file mode 100644
index 000000000..a6df0f9a8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf02/out/A.java
@@ -0,0 +1,14 @@
+package p;
+
+public class A {
+
+ /**
+ * This is the field "foo".
+ */
+ static String foo;
+ /**
+ * This is the field "foo".
+ * @deprecated Use {@link #foo} instead
+ */
+ static String foo = foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf03/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf03/in/A.java
new file mode 100644
index 000000000..dde6f3592
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf03/in/A.java
@@ -0,0 +1,8 @@
+package p;
+
+public class A {
+
+ @Anno1
+ @Anno2
+ static String foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf03/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf03/out/A.java
new file mode 100644
index 000000000..aedcb8ba7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf03/out/A.java
@@ -0,0 +1,14 @@
+package p;
+
+public class A {
+
+ @Anno1
+ @Anno2
+ static String foo;
+ /**
+ * @deprecated Use {@link #foo} instead
+ */
+ @Anno1
+ @Anno2
+ static String foo = foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf04/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf04/in/A.java
new file mode 100644
index 000000000..57c50a6c8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf04/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public class A {
+
+ static String foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf04/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf04/out/A.java
new file mode 100644
index 000000000..8650ed26d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf04/out/A.java
@@ -0,0 +1,10 @@
+package p;
+
+public class A {
+
+ static String foo;
+ /**
+ * @deprecated Use {@link #bar} instead
+ */
+ static String foo = bar;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/in/A.java
new file mode 100644
index 000000000..57c50a6c8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public class A {
+
+ static String foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/in/B.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/in/B.java
new file mode 100644
index 000000000..7bb93c400
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/in/B.java
@@ -0,0 +1,5 @@
+package p;
+
+public class B {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/out/A.java
new file mode 100644
index 000000000..f17397919
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf05/out/A.java
@@ -0,0 +1,10 @@
+package p;
+
+public class A {
+
+ static String foo;
+ /**
+ * @deprecated Use {@link B#foo} instead
+ */
+ static String foo = B.foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/in/A.java
new file mode 100644
index 000000000..57c50a6c8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public class A {
+
+ static String foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/in/B.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/in/B.java
new file mode 100644
index 000000000..7bb93c400
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/in/B.java
@@ -0,0 +1,5 @@
+package p;
+
+public class B {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/out/A.java
new file mode 100644
index 000000000..49d9bdb6e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf06/out/A.java
@@ -0,0 +1,10 @@
+package p;
+
+public class A {
+
+ static String foo;
+ /**
+ * @deprecated Use {@link B#bar} instead
+ */
+ static String foo = B.bar;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf07/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf07/in/A.java
new file mode 100644
index 000000000..14c7d3532
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf07/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public class A {
+
+ static/*comment*/String/*comment2*/ foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf07/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf07/out/A.java
new file mode 100644
index 000000000..a498b95b5
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf07/out/A.java
@@ -0,0 +1,10 @@
+package p;
+
+public class A {
+
+ static/*comment*/String/*comment2*/ foo;
+ /**
+ * @deprecated Use {@link #foo} instead
+ */
+ static/*comment*/String/*comment2*/ foo = foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/in/A.java
new file mode 100644
index 000000000..57c50a6c8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public class A {
+
+ static String foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/in/E.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/in/E.java
new file mode 100644
index 000000000..d2bb83e53
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/in/E.java
@@ -0,0 +1,5 @@
+package e;
+
+public class E {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/out/A.java
new file mode 100644
index 000000000..56acbe5d2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf08/out/A.java
@@ -0,0 +1,12 @@
+package p;
+
+import e.E;
+
+public class A {
+
+ static String foo;
+ /**
+ * @deprecated Use {@link E#foo} instead
+ */
+ static String foo = E.foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf09/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf09/in/A.java
new file mode 100644
index 000000000..3554bb2d2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf09/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public class A {
+
+ static String foo = "Tell me something";
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf09/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf09/out/A.java
new file mode 100644
index 000000000..1e345d000
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testf09/out/A.java
@@ -0,0 +1,10 @@
+package p;
+
+public class A {
+
+ static String foo = "Tell me something";
+ /**
+ * @deprecated Use {@link #foo} instead
+ */
+ static String foo = foo;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm01/in/A.java
new file mode 100644
index 000000000..a70dfd67d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm01/in/A.java
@@ -0,0 +1,8 @@
+package p;
+
+public class A {
+
+ void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm01/out/A.java
new file mode 100644
index 000000000..8871a9037
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm01/out/A.java
@@ -0,0 +1,15 @@
+package p;
+
+public class A {
+
+ /**
+ * @deprecated Use {@link #foo()} instead
+ */
+ void foo() {
+ foo();
+ }
+
+ void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm02/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm02/in/A.java
new file mode 100644
index 000000000..e48a703f4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm02/in/A.java
@@ -0,0 +1,12 @@
+package p;
+
+public class A {
+
+ /**
+ * This is the method foo.
+ *
+ */
+ void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm02/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm02/out/A.java
new file mode 100644
index 000000000..a027cbfc9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm02/out/A.java
@@ -0,0 +1,21 @@
+package p;
+
+public class A {
+
+ /**
+ * This is the method foo.
+ * @deprecated Use {@link #foo()} instead
+ *
+ */
+ void foo() {
+ foo();
+ }
+
+ /**
+ * This is the method foo.
+ *
+ */
+ void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm03/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm03/in/A.java
new file mode 100644
index 000000000..b89a271b8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm03/in/A.java
@@ -0,0 +1,11 @@
+package p;
+
+public class A {
+
+ @Some
+ @Thing
+ @Else
+ void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm03/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm03/out/A.java
new file mode 100644
index 000000000..d0d7518f8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm03/out/A.java
@@ -0,0 +1,21 @@
+package p;
+
+public class A {
+
+ /**
+ * @deprecated Use {@link #foo()} instead
+ */
+ @Some
+ @Thing
+ @Else
+ void foo() {
+ foo();
+ }
+
+ @Some
+ @Thing
+ @Else
+ void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm04/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm04/in/A.java
new file mode 100644
index 000000000..a70dfd67d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm04/in/A.java
@@ -0,0 +1,8 @@
+package p;
+
+public class A {
+
+ void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm04/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm04/out/A.java
new file mode 100644
index 000000000..798f9464c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm04/out/A.java
@@ -0,0 +1,15 @@
+package p;
+
+public class A {
+
+ /**
+ * @deprecated Use {@link #bar()} instead
+ */
+ void foo() {
+ bar();
+ }
+
+ void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/in/A.java
new file mode 100644
index 000000000..36a84c50f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/in/A.java
@@ -0,0 +1,8 @@
+package p;
+
+public class A {
+
+ static void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/in/B.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/in/B.java
new file mode 100644
index 000000000..7bb93c400
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/in/B.java
@@ -0,0 +1,5 @@
+package p;
+
+public class B {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/out/A.java
new file mode 100644
index 000000000..252d611d9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm05/out/A.java
@@ -0,0 +1,15 @@
+package p;
+
+public class A {
+
+ /**
+ * @deprecated Use {@link B#foo()} instead
+ */
+ static void foo() {
+ B.foo();
+ }
+
+ static void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/in/A.java
new file mode 100644
index 000000000..36a84c50f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/in/A.java
@@ -0,0 +1,8 @@
+package p;
+
+public class A {
+
+ static void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/in/B.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/in/B.java
new file mode 100644
index 000000000..7bb93c400
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/in/B.java
@@ -0,0 +1,5 @@
+package p;
+
+public class B {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/out/A.java
new file mode 100644
index 000000000..452104788
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm06/out/A.java
@@ -0,0 +1,15 @@
+package p;
+
+public class A {
+
+ /**
+ * @deprecated Use {@link B#bar()} instead
+ */
+ static void foo() {
+ B.bar();
+ }
+
+ static void foo() {
+
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm07/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm07/in/A.java
new file mode 100644
index 000000000..fed90f089
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm07/in/A.java
@@ -0,0 +1,8 @@
+package p;
+
+public class A {
+
+ static void /*abstract*/ foo(String/*aaa*/a,/*x*/String/*bar*/ b/*foo*/) /*foo*/{
+
+ }//bar
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm07/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm07/out/A.java
new file mode 100644
index 000000000..45941070e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm07/out/A.java
@@ -0,0 +1,15 @@
+package p;
+
+public class A {
+
+ /**
+ * @deprecated Use {@link #bar(String,String)} instead
+ */
+ static void /*abstract*/ foo(String/*aaa*/a,/*x*/String/*bar*/ b/*foo*/) /*foo*/{
+ bar(a, b);
+ }//bar
+
+ static void /*abstract*/ foo(String/*aaa*/a,/*x*/String/*bar*/ b/*foo*/) /*foo*/{
+
+ }//bar
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/in/A.java
new file mode 100644
index 000000000..74ca11c72
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public class A {
+
+ static void foo() { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/in/E.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/in/E.java
new file mode 100644
index 000000000..1bc16c83a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/in/E.java
@@ -0,0 +1,5 @@
+package e;
+
+public class E {
+
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/out/A.java
new file mode 100644
index 000000000..a81139b4d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm08/out/A.java
@@ -0,0 +1,15 @@
+package p;
+
+import e.E;
+
+public class A {
+
+ /**
+ * @deprecated Use {@link E#foo()} instead
+ */
+ static void foo() {
+ E.foo();
+ }
+
+ static void foo() { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm09/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm09/in/A.java
new file mode 100644
index 000000000..fc9318c82
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm09/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public abstract class A {
+
+ abstract void foo();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm09/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm09/out/A.java
new file mode 100644
index 000000000..2c972ccdf
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm09/out/A.java
@@ -0,0 +1,11 @@
+package p;
+
+public abstract class A {
+
+ /**
+ * @deprecated Use {@link #foo()} instead
+ */
+ abstract void foo();
+
+ abstract void foo();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm10/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm10/in/A.java
new file mode 100644
index 000000000..8f63c940a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm10/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public interface A {
+
+ void foo();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm10/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm10/out/A.java
new file mode 100644
index 000000000..93d757e9a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm10/out/A.java
@@ -0,0 +1,11 @@
+package p;
+
+public interface A {
+
+ /**
+ * @deprecated Use {@link #foo()} instead
+ */
+ void foo();
+
+ void foo();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm11/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm11/in/A.java
new file mode 100644
index 000000000..ca3360458
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm11/in/A.java
@@ -0,0 +1,6 @@
+package p;
+
+public class A {
+
+ A() { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm11/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm11/out/A.java
new file mode 100644
index 000000000..a8ff6211f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/DelegateCreator/testm11/out/A.java
@@ -0,0 +1,13 @@
+package p;
+
+public class A {
+
+ /**
+ * @deprecated Use {@link #A()} instead
+ */
+ A() {
+ this();
+ }
+
+ A() { }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu0/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu0/in/A.java
new file mode 100644
index 000000000..5fa7bcf86
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu0/in/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int i, j;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu0/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu0/out/A.java
new file mode 100644
index 000000000..bbeefab12
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu0/out/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int j;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu1/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu1/in/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu1/in/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu1/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu1/out/A.java
new file mode 100644
index 000000000..ff4381d5b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu1/out/A.java
@@ -0,0 +1 @@
+package p;
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu10/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu10/in/A.java
new file mode 100644
index 000000000..3ec9951b4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu10/in/A.java
@@ -0,0 +1,5 @@
+package p;
+class A{
+ static {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu10/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu10/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu10/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu11/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu11/in/A.java
new file mode 100644
index 000000000..e411cc5ff
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu11/in/A.java
@@ -0,0 +1,4 @@
+package p;
+import java.util.List;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu11/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu11/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu11/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu12/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu12/in/A.java
new file mode 100644
index 000000000..490e4071b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu12/in/A.java
@@ -0,0 +1,5 @@
+package p;
+class A{
+ class B{
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu12/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu12/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu12/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu13/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu13/in/A.java
new file mode 100644
index 000000000..490e4071b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu13/in/A.java
@@ -0,0 +1,5 @@
+package p;
+class A{
+ class B{
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu13/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu13/out/A.java
new file mode 100644
index 000000000..ff4381d5b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu13/out/A.java
@@ -0,0 +1 @@
+package p;
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu14/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu14/in/A.java
new file mode 100644
index 000000000..490e4071b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu14/in/A.java
@@ -0,0 +1,5 @@
+package p;
+class A{
+ class B{
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu14/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu14/out/A.java
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu14/out/A.java
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu15/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu15/in/A.java
new file mode 100644
index 000000000..815e6f3c3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu15/in/A.java
@@ -0,0 +1,11 @@
+package p;
+class A{
+ int field;
+ public int getField(){
+ return field;
+ }
+
+ public void setField(int field){
+ this.field= field;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu15/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu15/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu15/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu16/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu16/in/A.java
new file mode 100644
index 000000000..4b4ee0d21
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu16/in/A.java
@@ -0,0 +1,8 @@
+package p;
+/**
+ */
+class Test{
+}/**
+ */
+class Test1{
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu16/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu16/out/A.java
new file mode 100644
index 000000000..f6c2f03f8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu16/out/A.java
@@ -0,0 +1,5 @@
+package p;
+/**
+ */
+class Test1{
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu17/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu17/in/A.java
new file mode 100644
index 000000000..bb37e1979
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu17/in/A.java
@@ -0,0 +1,11 @@
+package p;
+
+class A {
+
+ void f(){}
+
+ /**
+ *
+ */
+ void fs(){}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu17/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu17/out/A.java
new file mode 100644
index 000000000..48f86a922
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu17/out/A.java
@@ -0,0 +1,9 @@
+package p;
+
+class A {
+
+ /**
+ *
+ */
+ void fs(){}
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu18/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu18/in/A.java
new file mode 100644
index 000000000..7d18eda4e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu18/in/A.java
@@ -0,0 +1,6 @@
+package p;
+class A {
+ /**
+ */
+ void fs(){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu18/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu18/out/A.java
new file mode 100644
index 000000000..688a6d90d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu18/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A {
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu19/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu19/in/A.java
new file mode 100644
index 000000000..029feb27a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu19/in/A.java
@@ -0,0 +1,5 @@
+package p;
+import java.util.List;
+import java.util.Set;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu19/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu19/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu19/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu2/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu2/in/A.java
new file mode 100644
index 000000000..40ae578c3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu2/in/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int i;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu2/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu2/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu2/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu20/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu20/in/A.java
new file mode 100644
index 000000000..0c54a34f6
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu20/in/A.java
@@ -0,0 +1,8 @@
+package p;
+
+class A
+ protected String fEmpty;
+
+ public static void main (String[] args) {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu20/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu20/out/A.java
new file mode 100644
index 000000000..b7ed2342d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu20/out/A.java
@@ -0,0 +1,6 @@
+package p;
+
+class A
+ public static void main (String[] args) {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu21/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu21/in/A.java
new file mode 100644
index 000000000..9d80a97e9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu21/in/A.java
@@ -0,0 +1,5 @@
+package p;
+
+class A
+ private int var11, var2, var3;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu21/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu21/out/A.java
new file mode 100644
index 000000000..cb4cb9505
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu21/out/A.java
@@ -0,0 +1,5 @@
+package p;
+
+class A
+ private int var2, var3;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu22/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu22/in/A.java
new file mode 100644
index 000000000..d1826a376
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu22/in/A.java
@@ -0,0 +1,5 @@
+package p;
+class A{
+}
+class B{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu22/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu22/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu22/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu23/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu23/in/A.java
new file mode 100644
index 000000000..069dfcd1f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu23/in/A.java
@@ -0,0 +1,11 @@
+package p;
+class A{
+ private int nestingDepth;
+ private boolean openOnRun = true;
+ public boolean getOpenOnRun() {
+ return openOnRun;
+ }
+ protected int getNestingDepth() {
+ return nestingDepth;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu23/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu23/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu23/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu24/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu24/in/A.java
new file mode 100644
index 000000000..3cac5587a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu24/in/A.java
@@ -0,0 +1,7 @@
+package p;
+class A{
+ public boolean getOpenOnRun() {
+ new Thread() {
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu24/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu24/out/A.java
new file mode 100644
index 000000000..b11f89ef3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu24/out/A.java
@@ -0,0 +1,5 @@
+package p;
+class A{
+ public boolean getOpenOnRun() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu25/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu25/in/A.java
new file mode 100644
index 000000000..972ea734c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu25/in/A.java
@@ -0,0 +1,7 @@
+package p;
+class A{
+ public boolean getOpenOnRun() {
+ Object th= new Thread() {
+ };
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu25/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu25/out/A.java
new file mode 100644
index 000000000..ec6338071
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu25/out/A.java
@@ -0,0 +1,6 @@
+package p;
+class A{
+ public boolean getOpenOnRun() {
+ Object th;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu26/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu26/in/A.java
new file mode 100644
index 000000000..1f2728287
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu26/in/A.java
@@ -0,0 +1,4 @@
+package p;
+enum A{
+ X, Y { };
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu26/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu26/out/A.java
new file mode 100644
index 000000000..98ee52c14
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu26/out/A.java
@@ -0,0 +1,4 @@
+package p;
+enum A{
+ X, Y;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu3/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu3/in/A.java
new file mode 100644
index 000000000..5fa7bcf86
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu3/in/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int i, j;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu3/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu3/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu3/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu4/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu4/in/A.java
new file mode 100644
index 000000000..be1c2f8c2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu4/in/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int i, j, k;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu4/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu4/out/A.java
new file mode 100644
index 000000000..bbeefab12
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu4/out/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int j;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu5/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu5/in/A.java
new file mode 100644
index 000000000..5fa7bcf86
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu5/in/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int i, j;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu5/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu5/out/A.java
new file mode 100644
index 000000000..40ae578c3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu5/out/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int i;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu6/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu6/in/A.java
new file mode 100644
index 000000000..618deb79a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu6/in/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int i= 0, j= 1;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu6/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu6/out/A.java
new file mode 100644
index 000000000..727dfc4b8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu6/out/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ int i= 0;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu7/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu7/in/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu7/in/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu7/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu7/out/A.java
new file mode 100644
index 000000000..197a31b7c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu7/out/A.java
@@ -0,0 +1,3 @@
+
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu8/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu8/in/A.java
new file mode 100644
index 000000000..ed947f2d0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu8/in/A.java
@@ -0,0 +1,4 @@
+package p;
+class A{
+ void m(){}
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu8/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu8/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu8/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu9/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu9/in/A.java
new file mode 100644
index 000000000..c08e03d8a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu9/in/A.java
@@ -0,0 +1,5 @@
+package p;
+class A{
+ {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu9/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu9/out/A.java
new file mode 100644
index 000000000..6291b8090
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/Delete/testDeleteWithinCu9/out/A.java
@@ -0,0 +1,3 @@
+package p;
+class A{
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/in/ArrayInitializer.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/in/ArrayInitializer.java
new file mode 100644
index 000000000..9e8b1d589
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/in/ArrayInitializer.java
@@ -0,0 +1,6 @@
+package p;
+
+public class ArrayInitializer {
+ String[] test = { "Test", "Test2" };
+ int[] val = new int[] { 1, 2, 3, 34 };
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/out/ArrayInitializer.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/out/ArrayInitializer.java
new file mode 100644
index 000000000..5a8072891
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/out/ArrayInitializer.java
@@ -0,0 +1,5 @@
+package p;
+
+public class ArrayInitializer {
+ ArrayInitializerParameter parameterObject = new ArrayInitializerParameter(new String[]{ "Test", "Test2" }, new int[] { 1, 2, 3, 34 });
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/out/ArrayInitializerParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/out/ArrayInitializerParameter.java
new file mode 100644
index 000000000..3cebcafbb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayInitializer/out/ArrayInitializerParameter.java
@@ -0,0 +1,22 @@
+package p;
+
+public class ArrayInitializerParameter {
+ private String[] test;
+ private int[] val;
+ public ArrayInitializerParameter(String[] test, int[] val) {
+ this.test = test;
+ this.val = val;
+ }
+ public String[] getTest() {
+ return test;
+ }
+ public void setTest(String[] test) {
+ this.test = test;
+ }
+ public int[] getVal() {
+ return val;
+ }
+ public void setVal(int[] val) {
+ this.val = val;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/in/ArrayLengthAccess.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/in/ArrayLengthAccess.java
new file mode 100644
index 000000000..9726cff53
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/in/ArrayLengthAccess.java
@@ -0,0 +1,5 @@
+package p;
+
+public class ArrayLengthAccess {
+ private int test=new int[0].length;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/out/ArrayLengthAccess.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/out/ArrayLengthAccess.java
new file mode 100644
index 000000000..19759a6b4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/out/ArrayLengthAccess.java
@@ -0,0 +1,5 @@
+package p;
+
+public class ArrayLengthAccess {
+ private ArrayLengthAccessParameter parameterObject = new ArrayLengthAccessParameter(new int[0].length);
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/out/ArrayLengthAccessParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/out/ArrayLengthAccessParameter.java
new file mode 100644
index 000000000..5a27e3976
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testArrayLengthAccess/out/ArrayLengthAccessParameter.java
@@ -0,0 +1,14 @@
+package p;
+
+public class ArrayLengthAccessParameter {
+ private int test;
+ public ArrayLengthAccessParameter(int test) {
+ this.test = test;
+ }
+ public int getTest() {
+ return test;
+ }
+ public void setTest(int test) {
+ this.test = test;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/in/ComplexExtract.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/in/ComplexExtract.java
new file mode 100644
index 000000000..92b1c266c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/in/ComplexExtract.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class ComplexExtract {
+ private int test;
+ protected int test2= 5;
+ private int test3, test4= 5;
+
+ public void foo(){
+ test3++;
+ test= 5+7;
+ System.out.println(test+" "+test4);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/out/ComplexExtract.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/out/ComplexExtract.java
new file mode 100644
index 000000000..8d69075fe
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/out/ComplexExtract.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class ComplexExtract {
+ protected ComplexExtractParameter parameterObject = new ComplexExtractParameter(5, 5);
+
+ public void foo(){
+ parameterObject.test3++;
+ parameterObject.test= 5+7;
+ System.out.println(parameterObject.test+" "+parameterObject.test4);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/out/ComplexExtractParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/out/ComplexExtractParameter.java
new file mode 100644
index 000000000..9ad249612
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtract/out/ComplexExtractParameter.java
@@ -0,0 +1,12 @@
+package p;
+
+public class ComplexExtractParameter {
+ public int test;
+ public int test2;
+ public int test3;
+ public int test4;
+ public ComplexExtractParameter(int test2, int test4) {
+ this.test2 = test2;
+ this.test4 = test4;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/in/ComplexExtractGetterSetter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/in/ComplexExtractGetterSetter.java
new file mode 100644
index 000000000..a8e07dea2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/in/ComplexExtractGetterSetter.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class ComplexExtractGetterSetter {
+ private int test;
+ protected int test2= 5;
+ private int test3, test4= 5;
+
+ public void foo(){
+ test3++;
+ test= 5+7;
+ System.out.println(test+" "+test4);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/out/ComplexExtractGetterSetter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/out/ComplexExtractGetterSetter.java
new file mode 100644
index 000000000..7f2db0f15
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/out/ComplexExtractGetterSetter.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class ComplexExtractGetterSetter {
+ protected ComplexExtractGetterSetterParameter parameterObject = new ComplexExtractGetterSetterParameter(5, 5);
+
+ public void foo(){
+ parameterObject.setTest3(parameterObject.getTest3() + 1);
+ parameterObject.setTest(5+7);
+ System.out.println(parameterObject.getTest()+" "+parameterObject.getTest4());
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/out/ComplexExtractGetterSetterParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/out/ComplexExtractGetterSetterParameter.java
new file mode 100644
index 000000000..b8f681a7f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractGetterSetter/out/ComplexExtractGetterSetterParameter.java
@@ -0,0 +1,36 @@
+package p;
+
+public class ComplexExtractGetterSetterParameter {
+ private int test;
+ private int test2;
+ private int test3;
+ private int test4;
+ public ComplexExtractGetterSetterParameter(int test2, int test4) {
+ this.test2 = test2;
+ this.test4 = test4;
+ }
+ public int getTest() {
+ return test;
+ }
+ public void setTest(int test) {
+ this.test = test;
+ }
+ public int getTest2() {
+ return test2;
+ }
+ public void setTest2(int test2) {
+ this.test2 = test2;
+ }
+ public int getTest3() {
+ return test3;
+ }
+ public void setTest3(int test3) {
+ this.test3 = test3;
+ }
+ public int getTest4() {
+ return test4;
+ }
+ public void setTest4(int test4) {
+ this.test4 = test4;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractNested/in/ComplexExtractNested.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractNested/in/ComplexExtractNested.java
new file mode 100644
index 000000000..96239b259
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractNested/in/ComplexExtractNested.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class ComplexExtractNested {
+ private int test;
+ protected int test2= 5;
+ private int test3, test4= 5;
+
+ public void foo(){
+ test3++;
+ test= 5+7;
+ System.out.println(test+" "+test4);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractNested/out/ComplexExtractNested.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractNested/out/ComplexExtractNested.java
new file mode 100644
index 000000000..f5d2cd1af
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testComplexExtractNested/out/ComplexExtractNested.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class ComplexExtractNested {
+ public static class ComplexExtractNestedParameter {
+ public int test;
+ public int test2;
+ public int test3;
+ public int test4;
+ public ComplexExtractNestedParameter(int test2, int test4) {
+ this.test2 = test2;
+ this.test4 = test4;
+ }
+ }
+
+ protected ComplexExtractNestedParameter parameterObject = new ComplexExtractNestedParameter(5, 5);
+
+ public void foo(){
+ parameterObject.test3++;
+ parameterObject.test= 5+7;
+ System.out.println(parameterObject.test+" "+parameterObject.test4);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/in/ControlBodyUpdates.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/in/ControlBodyUpdates.java
new file mode 100644
index 000000000..6643bf05a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/in/ControlBodyUpdates.java
@@ -0,0 +1,42 @@
+package p;
+
+import java.util.ArrayList;
+
+public class ControlBodyUpdates {
+ private ArrayList<Integer> arraylists;
+ Integer[] ints;
+ int fNewStart;
+
+ private void foo() {
+ for (int i = 0; i < arraylists.get(0); i++)
+ arraylists = null;
+ for (int intValue : ints)
+ arraylists = new ArrayList(arraylists.size());
+ while (ints.length != 0)
+ arraylists = null;
+ if (arraylists == null)
+ arraylists = null;
+ int[] newRange= new int[8];
+ for (int i = 0; i < arraylists.get(0); i++) {
+ arraylists = null;
+ }
+ for (int intValue : ints) {
+ arraylists = new ArrayList(arraylists.size());
+ }
+ while (ints.length != 0) {
+ arraylists = null;
+ }
+ if (arraylists == null) {
+ arraylists = null;
+ }
+ if (newRange[0] > 0)
+ fNewStart= newRange[0]-1; // line number start at 0!
+ else
+ fNewStart= 0;
+ if (newRange[0] > 0) {
+ fNewStart= newRange[0]-1; // line number start at 0!
+ } else {
+ fNewStart= 0;
+ }
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/out/ControlBodyUpdates.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/out/ControlBodyUpdates.java
new file mode 100644
index 000000000..0a750998a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/out/ControlBodyUpdates.java
@@ -0,0 +1,40 @@
+package p;
+
+import java.util.ArrayList;
+
+public class ControlBodyUpdates {
+ ControlBodyUpdatesParameter parameterObject = new ControlBodyUpdatesParameter();
+
+ private void foo() {
+ for (int i = 0; i < parameterObject.getArraylists().get(0); i++)
+ parameterObject.setArraylists(null);
+ for (int intValue : parameterObject.getInts())
+ parameterObject.setArraylists(new ArrayList(parameterObject.getArraylists().size()));
+ while (parameterObject.getInts().length != 0)
+ parameterObject.setArraylists(null);
+ if (parameterObject.getArraylists() == null)
+ parameterObject.setArraylists(null);
+ int[] newRange= new int[8];
+ for (int i = 0; i < parameterObject.getArraylists().get(0); i++) {
+ parameterObject.setArraylists(null);
+ }
+ for (int intValue : parameterObject.getInts()) {
+ parameterObject.setArraylists(new ArrayList(parameterObject.getArraylists().size()));
+ }
+ while (parameterObject.getInts().length != 0) {
+ parameterObject.setArraylists(null);
+ }
+ if (parameterObject.getArraylists() == null) {
+ parameterObject.setArraylists(null);
+ }
+ if (newRange[0] > 0)
+ parameterObject.setNewStart(newRange[0]-1); // line number start at 0!
+ else
+ parameterObject.setNewStart(0);
+ if (newRange[0] > 0) {
+ parameterObject.setNewStart(newRange[0]-1); // line number start at 0!
+ } else {
+ parameterObject.setNewStart(0);
+ }
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/out/ControlBodyUpdatesParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/out/ControlBodyUpdatesParameter.java
new file mode 100644
index 000000000..764760d78
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testControlBodyUpdates/out/ControlBodyUpdatesParameter.java
@@ -0,0 +1,29 @@
+package p;
+
+import java.util.ArrayList;
+
+public class ControlBodyUpdatesParameter {
+ private ArrayList<Integer> arraylists;
+ private Integer[] ints;
+ private int fNewStart;
+ public ControlBodyUpdatesParameter() {
+ }
+ public ArrayList<Integer> getArraylists() {
+ return arraylists;
+ }
+ public void setArraylists(ArrayList<Integer> arraylists) {
+ this.arraylists = arraylists;
+ }
+ public Integer[] getInts() {
+ return ints;
+ }
+ public void setInts(Integer[] ints) {
+ this.ints = ints;
+ }
+ public int getNewStart() {
+ return fNewStart;
+ }
+ public void setNewStart(int newStart) {
+ fNewStart = newStart;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/in/CopyModifierAnnotations.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/in/CopyModifierAnnotations.java
new file mode 100644
index 000000000..e00d313ef
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/in/CopyModifierAnnotations.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class CopyModifierAnnotations {
+ @Deprecated
+ public final int test=7;
+ private transient String test2;
+ private volatile Integer test4;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/out/CopyModifierAnnotations.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/out/CopyModifierAnnotations.java
new file mode 100644
index 000000000..880b32482
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/out/CopyModifierAnnotations.java
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class CopyModifierAnnotations {
+ public CopyModifierAnnotationsParameter parameterObject = new CopyModifierAnnotationsParameter(7);
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/out/CopyModifierAnnotationsParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/out/CopyModifierAnnotationsParameter.java
new file mode 100644
index 000000000..9cf14cd52
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testCopyModifierAnnotations/out/CopyModifierAnnotationsParameter.java
@@ -0,0 +1,11 @@
+package p;
+
+public class CopyModifierAnnotationsParameter {
+ @Deprecated
+ public final int test;
+ public String test2;
+ public Integer test4;
+ public CopyModifierAnnotationsParameter(int test) {
+ this.test = test;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/in/DuplicateParamName.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/in/DuplicateParamName.java
new file mode 100644
index 000000000..8cafe772a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/in/DuplicateParamName.java
@@ -0,0 +1,9 @@
+package p;
+
+public class DuplicateParamName {
+ private String fHTest= foo();
+ private String fGTest= foo();
+ private String foo() {
+ return "Foo";
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/out/DuplicateParamName.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/out/DuplicateParamName.java
new file mode 100644
index 000000000..863e3c335
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/out/DuplicateParamName.java
@@ -0,0 +1,8 @@
+package p;
+
+public class DuplicateParamName {
+ private DuplicateParamNameParameter parameterObject = new DuplicateParamNameParameter(foo(), foo());
+ private String foo() {
+ return "Foo";
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/out/DuplicateParamNameParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/out/DuplicateParamNameParameter.java
new file mode 100644
index 000000000..526abc9bc
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testDuplicateParamName/out/DuplicateParamNameParameter.java
@@ -0,0 +1,22 @@
+package p;
+
+public class DuplicateParamNameParameter {
+ private String fHTest;
+ private String fGTest;
+ public DuplicateParamNameParameter(String hTest, String gTest) {
+ fHTest = hTest;
+ fGTest = gTest;
+ }
+ public String getHTest() {
+ return fHTest;
+ }
+ public void setHTest(String hTest) {
+ fHTest = hTest;
+ }
+ public String getGTest() {
+ return fGTest;
+ }
+ public void setGTest(String gTest) {
+ fGTest = gTest;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/in/FieldsWithJavadoc.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/in/FieldsWithJavadoc.java
new file mode 100644
index 000000000..7bdc51205
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/in/FieldsWithJavadoc.java
@@ -0,0 +1,12 @@
+package p;
+
+public class FieldsWithJavadoc {
+
+ /**
+ * the test field
+ */
+ String[] test;
+
+ /** val field */
+ int[] val;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/out/FieldsWithJavadoc.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/out/FieldsWithJavadoc.java
new file mode 100644
index 000000000..65ae846fb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/out/FieldsWithJavadoc.java
@@ -0,0 +1,6 @@
+package p;
+
+public class FieldsWithJavadoc {
+
+ FieldsWithJavadocData data = new FieldsWithJavadocData();
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/out/FieldsWithJavadocData.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/out/FieldsWithJavadocData.java
new file mode 100644
index 000000000..a6e602e5f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testFieldsWithJavadoc/out/FieldsWithJavadocData.java
@@ -0,0 +1,24 @@
+package p;
+
+public class FieldsWithJavadocData {
+ /**
+ * the test field
+ */
+ private String[] test;
+ /** val field */
+ private int[] val;
+ public FieldsWithJavadocData() {
+ }
+ public String[] getTest() {
+ return test;
+ }
+ public void setTest(String[] test) {
+ this.test = test;
+ }
+ public int[] getVal() {
+ return val;
+ }
+ public void setVal(int[] val) {
+ this.val = val;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/in/ImportRemove.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/in/ImportRemove.java
new file mode 100644
index 000000000..72f081145
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/in/ImportRemove.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+import java.util.ArrayList;
+
+public class ImportRemove {
+ private ArrayList list;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/out/ImportRemove.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/out/ImportRemove.java
new file mode 100644
index 000000000..8a266bb39
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/out/ImportRemove.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+
+public class ImportRemove {
+ private ImportRemoveParameter parameterObject = new ImportRemoveParameter();
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/out/ImportRemoveParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/out/ImportRemoveParameter.java
new file mode 100644
index 000000000..2d8c50f8a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testImportRemove/out/ImportRemoveParameter.java
@@ -0,0 +1,9 @@
+package p;
+
+import java.util.ArrayList;
+
+public class ImportRemoveParameter {
+ public ArrayList list;
+ public ImportRemoveParameter() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/in/InheritanceUpdate.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/in/InheritanceUpdate.java
new file mode 100644
index 000000000..669a158d2
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/in/InheritanceUpdate.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class InheritanceUpdate {
+ protected String test;
+ protected int test2;
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/in/InheritanceUpdateImpl.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/in/InheritanceUpdateImpl.java
new file mode 100644
index 000000000..91ef6000f
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/in/InheritanceUpdateImpl.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class InheritanceUpdateImpl extends InheritanceUpdate{
+ protected String test="Test";
+ public void foo() {
+ System.out.println("Test:"+test+" Super:"+super.test);
+ test2++;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdate.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdate.java
new file mode 100644
index 000000000..c99781d77
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdate.java
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class InheritanceUpdate {
+ protected InheritanceUpdateParameter parameterObject = new InheritanceUpdateParameter();
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdateImpl.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdateImpl.java
new file mode 100644
index 000000000..30ad085ec
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdateImpl.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class InheritanceUpdateImpl extends InheritanceUpdate{
+ protected String test="Test";
+ public void foo() {
+ System.out.println("Test:"+test+" Super:"+super.parameterObject.test);
+ parameterObject.test2++;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdateParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdateParameter.java
new file mode 100644
index 000000000..1a8f2237e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdate/out/InheritanceUpdateParameter.java
@@ -0,0 +1,8 @@
+package p;
+
+public class InheritanceUpdateParameter {
+ public String test;
+ public int test2;
+ public InheritanceUpdateParameter() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/in/InheritanceUpdateGetterSetter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/in/InheritanceUpdateGetterSetter.java
new file mode 100644
index 000000000..ee8e1c0a1
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/in/InheritanceUpdateGetterSetter.java
@@ -0,0 +1,11 @@
+package p;
+
+public class InheritanceUpdateGetterSetter {
+ protected String test;
+ protected int test2;
+
+ public void foo() {
+ this.test=test;
+ new InheritanceUpdateGetterSetter().test=this.test;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/in/InheritanceUpdateImplGetterSetter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/in/InheritanceUpdateImplGetterSetter.java
new file mode 100644
index 000000000..05a350963
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/in/InheritanceUpdateImplGetterSetter.java
@@ -0,0 +1,10 @@
+package p;
+
+public class InheritanceUpdateImplGetterSetter extends InheritanceUpdateGetterSetter{
+ protected String test="Test";
+ public void foo() {
+ System.out.println("Test:"+test+" Super:"+super.test);
+ test2++;
+ super.test2*=2;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateGetterSetter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateGetterSetter.java
new file mode 100644
index 000000000..69e081c58
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateGetterSetter.java
@@ -0,0 +1,10 @@
+package p;
+
+public class InheritanceUpdateGetterSetter {
+ protected InheritanceUpdateGetterSetterParameter parameterObject = new InheritanceUpdateGetterSetterParameter();
+
+ public void foo() {
+ this.parameterObject.setTest(parameterObject.getTest());
+ new InheritanceUpdateGetterSetter().parameterObject.setTest(this.parameterObject.getTest());
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateGetterSetterParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateGetterSetterParameter.java
new file mode 100644
index 000000000..23a16f04d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateGetterSetterParameter.java
@@ -0,0 +1,20 @@
+package p;
+
+public class InheritanceUpdateGetterSetterParameter {
+ private String test;
+ private int test2;
+ public InheritanceUpdateGetterSetterParameter() {
+ }
+ public String getTest() {
+ return test;
+ }
+ public void setTest(String test) {
+ this.test = test;
+ }
+ public int getTest2() {
+ return test2;
+ }
+ public void setTest2(int test2) {
+ this.test2 = test2;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateImplGetterSetter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateImplGetterSetter.java
new file mode 100644
index 000000000..379e988c8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInheritanceUpdateGetterSetter/out/InheritanceUpdateImplGetterSetter.java
@@ -0,0 +1,10 @@
+package p;
+
+public class InheritanceUpdateImplGetterSetter extends InheritanceUpdateGetterSetter{
+ protected String test="Test";
+ public void foo() {
+ System.out.println("Test:"+test+" Super:"+super.parameterObject.getTest());
+ parameterObject.setTest2(parameterObject.getTest2() + 1);
+ super.parameterObject.setTest2(super.parameterObject.getTest2() * 2);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/in/InitializerProblem.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/in/InitializerProblem.java
new file mode 100644
index 000000000..4de379212
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/in/InitializerProblem.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+import java.util.ArrayList;
+
+class A {
+ public int foo() {
+ return 5;
+ }
+}
+
+public class InitializerProblem extends A{
+ public int test= foo();
+ public int test2= test;
+ public ArrayList list= new ArrayList();
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/out/InitializerProblem.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/out/InitializerProblem.java
new file mode 100644
index 000000000..645a77245
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/out/InitializerProblem.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+import java.util.ArrayList;
+
+class A {
+ public int foo() {
+ return 5;
+ }
+}
+
+public class InitializerProblem extends A{
+ public InitializerProblemParameter parameterObject = new InitializerProblemParameter(foo(), new ArrayList());
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/out/InitializerProblemParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/out/InitializerProblemParameter.java
new file mode 100644
index 000000000..ac8a73fdb
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInitializerProblem/out/InitializerProblemParameter.java
@@ -0,0 +1,13 @@
+package p;
+
+import java.util.ArrayList;
+
+public class InitializerProblemParameter {
+ public int test;
+ public int test2 = test;
+ public ArrayList list;
+ public InitializerProblemParameter(int test, ArrayList list) {
+ this.test = test;
+ this.list = list;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/in/InnerDocumentedClass.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/in/InnerDocumentedClass.java
new file mode 100644
index 000000000..a27bf2da9
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/in/InnerDocumentedClass.java
@@ -0,0 +1,11 @@
+package p;
+
+public class InnerDocumentedClass {
+ /* This comment is really important
+ * because it will cause the
+ * sourceRange to be different
+ */
+ public class InnerClass {
+ private int foo;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/out/InnerClassParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/out/InnerClassParameter.java
new file mode 100644
index 000000000..b5d86e0ab
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/out/InnerClassParameter.java
@@ -0,0 +1,13 @@
+package p;
+
+public class InnerClassParameter {
+ private int foo;
+ public InnerClassParameter() {
+ }
+ public int getFoo() {
+ return foo;
+ }
+ public void setFoo(int foo) {
+ this.foo = foo;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/out/InnerDocumentedClass.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/out/InnerDocumentedClass.java
new file mode 100644
index 000000000..e46144d1c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testInnerDocumentedClass/out/InnerDocumentedClass.java
@@ -0,0 +1,11 @@
+package p;
+
+public class InnerDocumentedClass {
+ /* This comment is really important
+ * because it will cause the
+ * sourceRange to be different
+ */
+ public class InnerClass {
+ private InnerClassParameter parameterObject = new InnerClassParameter();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/in/LowestVisibility.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/in/LowestVisibility.java
new file mode 100644
index 000000000..16705892e
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/in/LowestVisibility.java
@@ -0,0 +1,5 @@
+package p;
+public class LowestVisibility {
+ private int test2;
+ int test;
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/out/LowestVisibility.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/out/LowestVisibility.java
new file mode 100644
index 000000000..284d435e7
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/out/LowestVisibility.java
@@ -0,0 +1,4 @@
+package p;
+public class LowestVisibility {
+ LowestVisibilityParameter parameterObject = new LowestVisibilityParameter();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/out/LowestVisibilityParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/out/LowestVisibilityParameter.java
new file mode 100644
index 000000000..1a3565547
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testLowestVisibility/out/LowestVisibilityParameter.java
@@ -0,0 +1,20 @@
+package p;
+
+public class LowestVisibilityParameter {
+ private int test2;
+ private int test;
+ public LowestVisibilityParameter() {
+ }
+ public int getTest2() {
+ return test2;
+ }
+ public void setTest2(int test2) {
+ this.test2 = test2;
+ }
+ public int getTest() {
+ return test;
+ }
+ public void setTest(int test) {
+ this.test = test;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/in/MethodUpdate.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/in/MethodUpdate.java
new file mode 100644
index 000000000..f3d88f32c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/in/MethodUpdate.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class MethodUpdate {
+ private int test;
+
+ public void foo(){
+ System.out.println(test);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/out/MethodUpdate.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/out/MethodUpdate.java
new file mode 100644
index 000000000..31eac84da
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/out/MethodUpdate.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class MethodUpdate {
+ private MethodUpdateParameter parameterObject = new MethodUpdateParameter();
+
+ public void foo(){
+ System.out.println(parameterObject.test);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/out/MethodUpdateParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/out/MethodUpdateParameter.java
new file mode 100644
index 000000000..9e9490357
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testMethodUpdate/out/MethodUpdateParameter.java
@@ -0,0 +1,7 @@
+package p;
+
+public class MethodUpdateParameter {
+ public int test;
+ public MethodUpdateParameter() {
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testPackageReferences/in/PackEx.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testPackageReferences/in/PackEx.java
new file mode 100644
index 000000000..6badb41bd
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testPackageReferences/in/PackEx.java
@@ -0,0 +1,7 @@
+package p.subPack;
+
+public class PackEx {
+ protected class OtherPackageProteced {
+ public OtherPackageProteced(){}
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testPackageReferences/in/PackageReferences.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testPackageReferences/in/PackageReferences.java
new file mode 100644
index 000000000..62475f48a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testPackageReferences/in/PackageReferences.java
@@ -0,0 +1,16 @@
+package p;
+
+import p.subPack.PackEx;
+
+public class PackageReferences extends PackEx{
+ private class PrivateInner {
+
+ }
+
+ protected class ProtectedInner {
+
+ }
+ ProtectedInner protectedInner= new ProtectedInner();
+ PrivateInner privateInner= new PrivateInner();
+ OtherPackageProteced packEx= new OtherPackageProteced();
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/in/QualifiedIncrements.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/in/QualifiedIncrements.java
new file mode 100644
index 000000000..c1915ad3d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/in/QualifiedIncrements.java
@@ -0,0 +1,15 @@
+package p;
+public class QualifiedIncrements {
+ private int test;
+ private void foo() {
+ QualifiedIncrements qi = new QualifiedIncrements();
+ qi.test++;
+ new QualifiedIncrements().test++;
+ next().test++;
+ (qi).test++;
+ new QualifiedIncrements().test= 1;
+ }
+ private QualifiedIncrements next() {
+ return new QualifiedIncrements();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/out/QualifiedIncrements.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/out/QualifiedIncrements.java
new file mode 100644
index 000000000..1d790a4a8
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/out/QualifiedIncrements.java
@@ -0,0 +1,15 @@
+package p;
+public class QualifiedIncrements {
+ private QualifiedIncrementsParameter parameterObject = new QualifiedIncrementsParameter();
+ private void foo() {
+ QualifiedIncrements qi = new QualifiedIncrements();
+ qi.parameterObject.setTest(qi.parameterObject.getTest() + 1);
+ new QualifiedIncrements().parameterObject.setTest(new QualifiedIncrements().parameterObject.getTest() + 1);
+ next().parameterObject.setTest(next().parameterObject.getTest() + 1);
+ (qi).parameterObject.setTest((qi).parameterObject.getTest() + 1);
+ new QualifiedIncrements().parameterObject.setTest(1);
+ }
+ private QualifiedIncrements next() {
+ return new QualifiedIncrements();
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/out/QualifiedIncrementsParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/out/QualifiedIncrementsParameter.java
new file mode 100644
index 000000000..43eec9b40
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testQualifiedIncrements/out/QualifiedIncrementsParameter.java
@@ -0,0 +1,13 @@
+package p;
+
+public class QualifiedIncrementsParameter {
+ private int test;
+ public QualifiedIncrementsParameter() {
+ }
+ public int getTest() {
+ return test;
+ }
+ public void setTest(int test) {
+ this.test = test;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testStaticInstanceFields/in/StaticInstanceFields.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testStaticInstanceFields/in/StaticInstanceFields.java
new file mode 100644
index 000000000..3867002b3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testStaticInstanceFields/in/StaticInstanceFields.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class StaticInstanceFields {
+ private static String test;
+ public void foo() {
+ System.out.println(test);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testStaticInstanceFields/out/StaticInstanceFields.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testStaticInstanceFields/out/StaticInstanceFields.java
new file mode 100644
index 000000000..3867002b3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testStaticInstanceFields/out/StaticInstanceFields.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class StaticInstanceFields {
+ private static String test;
+ public void foo() {
+ System.out.println(test);
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/in/SwitchCase.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/in/SwitchCase.java
new file mode 100644
index 000000000..5a1a7198b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/in/SwitchCase.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class SwitchCase {
+ private static final int TEST2 = 6;
+ public final int TEST = TEST2;
+ public void foo(){
+ int test=5;
+ switch (test) {
+ case TEST:
+ break;
+ default:
+ break;
+ }
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/out/SwitchCase.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/out/SwitchCase.java
new file mode 100644
index 000000000..04ec927a0
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/out/SwitchCase.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package p;
+
+public class SwitchCase {
+ private static final int TEST2 = 6;
+ public SwitchCaseParameter parameterObject = new SwitchCaseParameter(TEST2);
+ public void foo(){
+ int test=5;
+ switch (test) {
+ case parameterObject.TEST:
+ break;
+ default:
+ break;
+ }
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/out/SwitchCaseParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/out/SwitchCaseParameter.java
new file mode 100644
index 000000000..74459cd4d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCase/out/SwitchCaseParameter.java
@@ -0,0 +1,8 @@
+package p;
+
+public class SwitchCaseParameter {
+ public final int TEST;
+ public SwitchCaseParameter(int test) {
+ TEST = test;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/in/SwitchCaseUpdates.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/in/SwitchCaseUpdates.java
new file mode 100644
index 000000000..83a4092fa
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/in/SwitchCaseUpdates.java
@@ -0,0 +1,12 @@
+package p;
+
+public class SwitchCaseUpdates {
+ private int test;
+ private void foo() {
+ switch (test) {
+ case 5: test=7;
+ break;
+ case 7: test=5;
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/out/SwitchCaseUpdates.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/out/SwitchCaseUpdates.java
new file mode 100644
index 000000000..1e68d5646
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/out/SwitchCaseUpdates.java
@@ -0,0 +1,12 @@
+package p;
+
+public class SwitchCaseUpdates {
+ private SwitchCaseUpdatesParameter parameterObject = new SwitchCaseUpdatesParameter();
+ private void foo() {
+ switch (parameterObject.getTest()) {
+ case 5: parameterObject.setTest(7);
+ break;
+ case 7: parameterObject.setTest(5);
+ }
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/out/SwitchCaseUpdatesParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/out/SwitchCaseUpdatesParameter.java
new file mode 100644
index 000000000..2b7e5762c
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testSwitchCaseUpdates/out/SwitchCaseUpdatesParameter.java
@@ -0,0 +1,13 @@
+package p;
+
+public class SwitchCaseUpdatesParameter {
+ private int test;
+ public SwitchCaseUpdatesParameter() {
+ }
+ public int getTest() {
+ return test;
+ }
+ public void setTest(int test) {
+ this.test = test;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/in/UFOGetter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/in/UFOGetter.java
new file mode 100644
index 000000000..4d1fe220b
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/in/UFOGetter.java
@@ -0,0 +1,22 @@
+package p;
+public class UFOGetter {
+ private int x;
+ private int y;
+ private int z;
+
+ private String homePlanet;
+
+ public UFOGetter(int x, int y, int z,
+ String homePlanet) {
+ this.x= x;
+ this.y= y;
+ this.z= z;
+ this.homePlanet= homePlanet;
+ }
+
+ public String toString() {
+ return "An UFO from " + homePlanet +
+ "is at position " +
+ "[" + x + ", " + y + ", " + z + "]";
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/out/Position.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/out/Position.java
new file mode 100644
index 000000000..1ed0b246d
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/out/Position.java
@@ -0,0 +1,27 @@
+package p;
+
+public class Position {
+ private int x;
+ private int y;
+ private int z;
+ public Position() {
+ }
+ public int getX() {
+ return x;
+ }
+ public void setX(int x) {
+ this.x = x;
+ }
+ public int getY() {
+ return y;
+ }
+ public void setY(int y) {
+ this.y = y;
+ }
+ public int getZ() {
+ return z;
+ }
+ public void setZ(int z) {
+ this.z = z;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/out/UFOGetter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/out/UFOGetter.java
new file mode 100644
index 000000000..e7b928299
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUFOGetter/out/UFOGetter.java
@@ -0,0 +1,19 @@
+package p;
+public class UFOGetter {
+ private Position position = new Position();
+ private String homePlanet;
+
+ public UFOGetter(int x, int y, int z,
+ String homePlanet) {
+ this.position.setX(x);
+ this.position.setY(y);
+ this.position.setZ(z);
+ this.homePlanet= homePlanet;
+ }
+
+ public String toString() {
+ return "An UFO from " + homePlanet +
+ "is at position " +
+ "[" + position.getX() + ", " + position.getY() + ", " + position.getZ() + "]";
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/in/UpdateSimpleName.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/in/UpdateSimpleName.java
new file mode 100644
index 000000000..73b58e454
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/in/UpdateSimpleName.java
@@ -0,0 +1,16 @@
+package p;
+
+public class UpdateSimpleName {
+ private int foo;
+ private int foo2;
+ public void foo() {
+ foo=foo2;
+ this.foo=foo2;
+ foo=this.foo2;
+ foo=Math.abs(foo);
+ UpdateSimpleName usn= new UpdateSimpleName();
+ usn.foo= usn.foo2;
+ usn.foo= foo;
+ usn.foo2++;
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/out/UpdateSimpleName.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/out/UpdateSimpleName.java
new file mode 100644
index 000000000..1a0f53519
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/out/UpdateSimpleName.java
@@ -0,0 +1,15 @@
+package p;
+
+public class UpdateSimpleName {
+ private UpdateSimpleNameParameter parameterObject = new UpdateSimpleNameParameter();
+ public void foo() {
+ parameterObject.setFoo(parameterObject.getFoo2());
+ this.parameterObject.setFoo(parameterObject.getFoo2());
+ parameterObject.setFoo(this.parameterObject.getFoo2());
+ parameterObject.setFoo(Math.abs(parameterObject.getFoo()));
+ UpdateSimpleName usn= new UpdateSimpleName();
+ usn.parameterObject.setFoo(usn.parameterObject.getFoo2());
+ usn.parameterObject.setFoo(parameterObject.getFoo());
+ usn.parameterObject.setFoo2(usn.parameterObject.getFoo2() + 1);
+ }
+}
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/out/UpdateSimpleNameParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/out/UpdateSimpleNameParameter.java
new file mode 100644
index 000000000..a78f128d3
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testUpdateSimpleName/out/UpdateSimpleNameParameter.java
@@ -0,0 +1,20 @@
+package p;
+
+public class UpdateSimpleNameParameter {
+ private int foo;
+ private int foo2;
+ public UpdateSimpleNameParameter() {
+ }
+ public int getFoo() {
+ return foo;
+ }
+ public void setFoo(int foo) {
+ this.foo = foo;
+ }
+ public int getFoo2() {
+ return foo2;
+ }
+ public void setFoo2(int foo2) {
+ this.foo2 = foo2;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/in/VariableDeclarationInitializer.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/in/VariableDeclarationInitializer.java
new file mode 100644
index 000000000..8fdfe085a
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/in/VariableDeclarationInitializer.java
@@ -0,0 +1,10 @@
+package p;
+
+public class VariableDeclarationInitializer {
+ private int test = 5;
+
+ public void foo() {
+ int x = test;
+ int test = this.test;
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/out/VariableDeclarationInitializer.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/out/VariableDeclarationInitializer.java
new file mode 100644
index 000000000..069b3b7b4
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/out/VariableDeclarationInitializer.java
@@ -0,0 +1,10 @@
+package p;
+
+public class VariableDeclarationInitializer {
+ private VariableDeclarationInitializerParameter parameterObject = new VariableDeclarationInitializerParameter(5);
+
+ public void foo() {
+ int x = parameterObject.getTest();
+ int test = this.parameterObject.getTest();
+ }
+} \ No newline at end of file
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/out/VariableDeclarationInitializerParameter.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/out/VariableDeclarationInitializerParameter.java
new file mode 100644
index 000000000..7cb998bba
--- /dev/null
+++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/ExtractClass/testVariableDeclarationInitializer/out/VariableDeclarationInitializerParameter.java
@@ -0,0 +1,14 @@
+package p;
+
+public class VariableDeclarationInitializerParameter {
+ private int test;
+ public VariableDeclarationInitializerParameter(int test) {
+ this.test = test;
+ }
+ public int getTest() {
+ return test;
+ }
+ public void setTest(int test) {
+ this.test = test;
+ }
+} \ No newline at end of file

Back to the top