summaryrefslogtreecommitdiff
path: root/java/typeMigration/testData/refactoring/changeTypeSignature
diff options
context:
space:
mode:
Diffstat (limited to 'java/typeMigration/testData/refactoring/changeTypeSignature')
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/CompositeReturnType.java9
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/CompositeReturnType.java.after9
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/FieldTypeMigration.java12
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/FieldTypeMigration.java.after12
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage.java16
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage.java.after16
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage1.java17
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage1.java.after17
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ListTypeArguments.java4
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ListTypeArguments.java.after4
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/MethodReturnTypeMigration.java16
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/MethodReturnTypeMigration.java.after16
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration.java29
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration.java.after29
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration1.java29
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration1.java.after29
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration2.java31
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration2.java.after31
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter.java16
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter.java.after16
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter1.java20
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter1.java.after20
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter2.java12
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter2.java.after12
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType.java14
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType.java.after14
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType1.java15
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType1.java.after15
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType2.java14
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType2.java.after14
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy.java18
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy.java.after18
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy1.java19
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy1.java.after19
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy2.java18
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy2.java.after18
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsage.java15
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsage.java.after15
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsageConflict.java16
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsageConflict.java.after16
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/UsedInSuper.java9
-rw-r--r--java/typeMigration/testData/refactoring/changeTypeSignature/UsedInSuper.java.after9
42 files changed, 698 insertions, 0 deletions
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/CompositeReturnType.java b/java/typeMigration/testData/refactoring/changeTypeSignature/CompositeReturnType.java
new file mode 100644
index 000000000000..051e42810e3d
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/CompositeReturnType.java
@@ -0,0 +1,9 @@
+import java.util.List;
+class A<T> {
+ List<T> getKey(){return null;}
+}
+public class B extends A<S<caret>tring> {
+ List<String> getKey() {
+ return new List<String>();
+ }
+}
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/CompositeReturnType.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/CompositeReturnType.java.after
new file mode 100644
index 000000000000..8966bc1ee03d
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/CompositeReturnType.java.after
@@ -0,0 +1,9 @@
+import java.util.List;
+class A<T> {
+ List<T> getKey(){return null;}
+}
+public class B extends A<Object> {
+ List<Object> getKey() {
+ return new List<>();
+ }
+}
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/FieldTypeMigration.java b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldTypeMigration.java
new file mode 100644
index 000000000000..fabb24302b8d
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldTypeMigration.java
@@ -0,0 +1,12 @@
+class Test {
+ interface A<T> {
+ void foo(T t);
+ }
+
+ class B implements A<Inte<caret>ger> {
+ Integer str;
+ public void foo(Integer s) {
+ str = s;
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/FieldTypeMigration.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldTypeMigration.java.after
new file mode 100644
index 000000000000..01a6bf49322e
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldTypeMigration.java.after
@@ -0,0 +1,12 @@
+class Test {
+ interface A<T> {
+ void foo(T t);
+ }
+
+ class B implements A<String> {
+ String str;
+ public void foo(String s) {
+ str = s;
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage.java b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage.java
new file mode 100644
index 000000000000..92864f163560
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage.java
@@ -0,0 +1,16 @@
+import java.util.List;
+
+class A<T> {
+ T t;
+ List<T> list = new List<T>();
+}
+
+class B extends A<S<caret>tring> {
+ void foo() {
+ if (t == null) return;
+ if (list == null) return;
+ for (String s : list) {
+ //do nothing
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage.java.after
new file mode 100644
index 000000000000..07ee7a4e9351
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage.java.after
@@ -0,0 +1,16 @@
+import java.util.List;
+
+class A<T> {
+ T t;
+ List<T> list = new List<T>();
+}
+
+class B extends A<Object> {
+ void foo() {
+ if (t == null) return;
+ if (list == null) return;
+ for (Object s : list) {
+ //do nothing
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage1.java b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage1.java
new file mode 100644
index 000000000000..bff01e33a9e3
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage1.java
@@ -0,0 +1,17 @@
+import java.util.*;
+
+class A<T> {
+ protected T t;
+ protected List<T> list = new ArrayList<T>();
+}
+
+public class B extends A<S<caret>tring> {
+ void foo() {
+ if (t == null) return;
+ if (list == null) return;
+ System.out.println(t);
+ for (String s : list) {
+ //do nothing
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage1.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage1.java.after
new file mode 100644
index 000000000000..b3764fda80de
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/FieldUsage1.java.after
@@ -0,0 +1,17 @@
+import java.util.*;
+
+class A<T> {
+ protected T t;
+ protected List<T> list = new ArrayList<T>();
+}
+
+public class B extends A<Object> {
+ void foo() {
+ if (t == null) return;
+ if (list == null) return;
+ System.out.println(t);
+ for (Object s : list) {
+ //do nothing
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ListTypeArguments.java b/java/typeMigration/testData/refactoring/changeTypeSignature/ListTypeArguments.java
new file mode 100644
index 000000000000..98b178156750
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ListTypeArguments.java
@@ -0,0 +1,4 @@
+import java.util.List;
+class ListTypeArguments implements List<I<caret>nteger> {
+ public boolean add(Integer o){return true;}
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ListTypeArguments.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/ListTypeArguments.java.after
new file mode 100644
index 000000000000..535acf216d57
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ListTypeArguments.java.after
@@ -0,0 +1,4 @@
+import java.util.List;
+class ListTypeArguments implements List<Object> {
+ public boolean add(Object o){return true;}
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/MethodReturnTypeMigration.java b/java/typeMigration/testData/refactoring/changeTypeSignature/MethodReturnTypeMigration.java
new file mode 100644
index 000000000000..8183831c3ff3
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/MethodReturnTypeMigration.java
@@ -0,0 +1,16 @@
+class Test {
+ interface A<T> {
+ T foo();
+ }
+
+ class B implements A<Stri<caret>ng> {
+ public String foo() {
+ return null;
+ }
+
+ public void bar() {
+ String s = foo();
+ }
+ }
+
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/MethodReturnTypeMigration.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/MethodReturnTypeMigration.java.after
new file mode 100644
index 000000000000..405cd8a74384
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/MethodReturnTypeMigration.java.after
@@ -0,0 +1,16 @@
+class Test {
+ interface A<T> {
+ T foo();
+ }
+
+ class B implements A<Integer> {
+ public Integer foo() {
+ return null;
+ }
+
+ public void bar() {
+ Integer s = foo();
+ }
+ }
+
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration.java b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration.java
new file mode 100644
index 000000000000..fdce63b995a8
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration.java
@@ -0,0 +1,29 @@
+import java.util.*;
+
+class Test {
+ class C<T> {
+ List<T> l;
+
+ void bar(Map<T, T> t){}
+
+ void f(T t){}
+
+ }
+
+ class D extends C<Strin<caret>g> {
+ void foo(String s) {
+ f(s);
+ }
+
+ public void main() {
+ for (String integer : l) {
+
+ }
+ }
+
+ void bar(Map<String, String> t) {
+ super.bar(t);
+ }
+ }
+
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration.java.after
new file mode 100644
index 000000000000..ff031aa42904
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration.java.after
@@ -0,0 +1,29 @@
+import java.util.*;
+
+class Test {
+ class C<T> {
+ List<T> l;
+
+ void bar(Map<T, T> t){}
+
+ void f(T t){}
+
+ }
+
+ class D extends C<Object> {
+ void foo(String s) {
+ f(s);
+ }
+
+ public void main() {
+ for (Object integer : l) {
+
+ }
+ }
+
+ void bar(Map<Object, Object> t) {
+ super.bar(t);
+ }
+ }
+
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration1.java b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration1.java
new file mode 100644
index 000000000000..fdce63b995a8
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration1.java
@@ -0,0 +1,29 @@
+import java.util.*;
+
+class Test {
+ class C<T> {
+ List<T> l;
+
+ void bar(Map<T, T> t){}
+
+ void f(T t){}
+
+ }
+
+ class D extends C<Strin<caret>g> {
+ void foo(String s) {
+ f(s);
+ }
+
+ public void main() {
+ for (String integer : l) {
+
+ }
+ }
+
+ void bar(Map<String, String> t) {
+ super.bar(t);
+ }
+ }
+
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration1.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration1.java.after
new file mode 100644
index 000000000000..f3cef5b65bba
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration1.java.after
@@ -0,0 +1,29 @@
+import java.util.*;
+
+class Test {
+ class C<T> {
+ List<T> l;
+
+ void bar(Map<T, T> t){}
+
+ void f(T t){}
+
+ }
+
+ class D extends C<Integer> {
+ void foo(Integer s) {
+ f(s);
+ }
+
+ public void main() {
+ for (Integer integer : l) {
+
+ }
+ }
+
+ void bar(Map<Integer, Integer> t) {
+ super.bar(t);
+ }
+ }
+
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration2.java b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration2.java
new file mode 100644
index 000000000000..278b80eb95d5
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration2.java
@@ -0,0 +1,31 @@
+import java.util.*;
+
+class Test {
+ class C<T> {
+ List<T> l;
+
+ void bar(Map<T, T> t){
+ for (T t1 : t.keySet()) {}
+ }
+
+ void f(T t){}
+
+ }
+
+ class D extends C<Strin<caret>g> {
+ void foo(String s) {
+ f(s);
+ }
+
+ public void main() {
+ for (String integer : l) {
+
+ }
+ }
+
+ void bar(Map<String, String> t) {
+ super.bar(t);
+ }
+ }
+
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration2.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration2.java.after
new file mode 100644
index 000000000000..5978a88ee283
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ParameterMigration2.java.after
@@ -0,0 +1,31 @@
+import java.util.*;
+
+class Test {
+ class C<T> {
+ List<T> l;
+
+ void bar(Map<T, T> t){
+ for (T t1 : t.keySet()) {}
+ }
+
+ void f(T t){}
+
+ }
+
+ class D extends C<Integer> {
+ void foo(Integer s) {
+ f(s);
+ }
+
+ public void main() {
+ for (Integer integer : l) {
+
+ }
+ }
+
+ void bar(Map<Integer, Integer> t) {
+ super.bar(t);
+ }
+ }
+
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter.java b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter.java
new file mode 100644
index 000000000000..416bf0f810b8
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter.java
@@ -0,0 +1,16 @@
+class A<T> {
+ void foo(T t){}
+ void bar(T t, int i){}
+}
+
+class B extends A<S<caret>tring>{
+ void foo(String t) {
+ super.foo(t);
+ }
+
+ void bar(String t, int i){
+ foo(t);
+ int k = i;
+ super.bar(t, k);
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter.java.after
new file mode 100644
index 000000000000..64847ab2afd1
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter.java.after
@@ -0,0 +1,16 @@
+class A<T> {
+ void foo(T t){}
+ void bar(T t, int i){}
+}
+
+class B extends A<Object> {
+ void foo(Object t) {
+ super.foo(t);
+ }
+
+ void bar(Object t, int i){
+ foo(t);
+ int k = i;
+ super.bar(t, k);
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter1.java b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter1.java
new file mode 100644
index 000000000000..f9bdb275f3aa
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter1.java
@@ -0,0 +1,20 @@
+class A<T> {
+ void foo(T t){}
+ void bar(T t, int i){}
+}
+
+class B extends A<S<caret>tring>{
+ void foo(String t) {
+ super.foo(t);
+ }
+
+ void bar(String t, int i){
+ foo(t);
+ int k = i;
+ super.bar(t, k);
+ }
+
+ void bar1(String s) {
+ foo(s);
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter1.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter1.java.after
new file mode 100644
index 000000000000..1777cb6da9d8
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter1.java.after
@@ -0,0 +1,20 @@
+class A<T> {
+ void foo(T t){}
+ void bar(T t, int i){}
+}
+
+class B extends A<Integer> {
+ void foo(Integer t) {
+ super.foo(t);
+ }
+
+ void bar(Integer t, int i){
+ foo(t);
+ int k = i;
+ super.bar(t, k);
+ }
+
+ void bar1(Integer s) {
+ foo(s);
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter2.java b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter2.java
new file mode 100644
index 000000000000..62c7cf4da263
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter2.java
@@ -0,0 +1,12 @@
+class A<T> {
+ T bar(){}
+}
+
+class B extends A<S<caret>tring>{
+ void barInner(String s) {
+ }
+
+ void foo() {
+ barInner(bar());
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter2.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter2.java.after
new file mode 100644
index 000000000000..e5ed5910c2c1
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/PassedParameter2.java.after
@@ -0,0 +1,12 @@
+class A<T> {
+ T bar(){}
+}
+
+class B extends A<Object> {
+ void barInner(Object s) {
+ }
+
+ void foo() {
+ barInner(bar());
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType.java b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType.java
new file mode 100644
index 000000000000..17960b186a46
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType.java
@@ -0,0 +1,14 @@
+class A<T> {
+ T foo(){
+ return null;
+ }
+}
+
+class B extends A<S<caret>tring> {
+ String foo(){return null;}
+
+ void bar() {
+ foo();
+ if (foo() == null) return;
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType.java.after
new file mode 100644
index 000000000000..1758610f1571
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType.java.after
@@ -0,0 +1,14 @@
+class A<T> {
+ T foo(){
+ return null;
+ }
+}
+
+class B extends A<Object> {
+ Object foo(){return null;}
+
+ void bar() {
+ foo();
+ if (foo() == null) return;
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType1.java b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType1.java
new file mode 100644
index 000000000000..9e01a295be05
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType1.java
@@ -0,0 +1,15 @@
+class A<T> {
+ T foo(){
+ return null;
+ }
+}
+
+public class B extends A<S<caret>tring> {
+ String foo(){return null;}
+
+ void bar() {
+ foo();
+ if (foo() == null) return;
+ System.out.println(foo());
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType1.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType1.java.after
new file mode 100644
index 000000000000..8a584bdca610
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType1.java.after
@@ -0,0 +1,15 @@
+class A<T> {
+ T foo(){
+ return null;
+ }
+}
+
+public class B extends A<Object> {
+ Object foo(){return null;}
+
+ void bar() {
+ foo();
+ if (foo() == null) return;
+ System.out.println(foo());
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType2.java b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType2.java
new file mode 100644
index 000000000000..83b7294972fc
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType2.java
@@ -0,0 +1,14 @@
+class A<T> {
+ T foo(){
+ return null;
+ }
+}
+
+class B extends A<S<caret>tring> {
+ String foo(){return super.foo();}
+
+ void bar() {
+ foo();
+ if (foo() == null) return;
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType2.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType2.java.after
new file mode 100644
index 000000000000..a26f7d3f1655
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/ReturnType2.java.after
@@ -0,0 +1,14 @@
+class A<T> {
+ T foo(){
+ return null;
+ }
+}
+
+class B extends A<Object> {
+ Object foo(){return super.foo();}
+
+ void bar() {
+ foo();
+ if (foo() == null) return;
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy.java b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy.java
new file mode 100644
index 000000000000..2bfa264828c0
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy.java
@@ -0,0 +1,18 @@
+abstract class A<E> {
+ abstract E foo();
+}
+
+abstract class B<T> extends A<T> {
+}
+
+class C extends B<S<caret>tring> {
+ String foo() {
+ return null;
+ }
+
+ void bar() {
+ if (foo() == null) {
+ //do smth
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy.java.after
new file mode 100644
index 000000000000..4c4736302857
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy.java.after
@@ -0,0 +1,18 @@
+abstract class A<E> {
+ abstract E foo();
+}
+
+abstract class B<T> extends A<T> {
+}
+
+class C extends B<Object> {
+ Object foo() {
+ return null;
+ }
+
+ void bar() {
+ if (foo() == null) {
+ //do smth
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy1.java b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy1.java
new file mode 100644
index 000000000000..5396a7c59422
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy1.java
@@ -0,0 +1,19 @@
+abstract class A<E> {
+ public abstract E foo();
+}
+
+abstract class B<T> extends A<T> {
+}
+
+public class C extends B<S<caret>tring> {
+ public String foo() {
+ return null;
+ }
+
+ void bar() {
+ if (foo() == null) {
+ //do smth
+ }
+ System.out.println(foo());
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy1.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy1.java.after
new file mode 100644
index 000000000000..16a02ae4ea3d
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy1.java.after
@@ -0,0 +1,19 @@
+abstract class A<E> {
+ public abstract E foo();
+}
+
+abstract class B<T> extends A<T> {
+}
+
+public class C extends B<Object> {
+ public Object foo() {
+ return null;
+ }
+
+ void bar() {
+ if (foo() == null) {
+ //do smth
+ }
+ System.out.println(foo());
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy2.java b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy2.java
new file mode 100644
index 000000000000..2eb6d429915e
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy2.java
@@ -0,0 +1,18 @@
+public class Test extends B<S<caret>tring>{
+ String foo() {
+ return null;
+ }
+
+ void bar() {
+ if (foo() == null) {}
+ }
+}
+
+abstract class A<T> {
+ abstract T foo();
+}
+
+abstract class B<E extends Object> extends A<E> {
+}
+
+
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy2.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy2.java.after
new file mode 100644
index 000000000000..b30ab01e5594
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchy2.java.after
@@ -0,0 +1,18 @@
+public class Test extends B<Object> {
+ Object foo() {
+ return null;
+ }
+
+ void bar() {
+ if (foo() == null) {}
+ }
+}
+
+abstract class A<T> {
+ abstract T foo();
+}
+
+abstract class B<E extends Object> extends A<E> {
+}
+
+
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsage.java b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsage.java
new file mode 100644
index 000000000000..3bf853421127
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsage.java
@@ -0,0 +1,15 @@
+import java.util.List;
+class A<E> {
+ E e;
+ List<E> list = new List<E>();
+}
+
+class B<T> extends A<T> {}
+
+class C extends B <S<caret>tring> {
+ void foo() {
+ if (e == null && list != null) {
+ //do smth
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsage.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsage.java.after
new file mode 100644
index 000000000000..5eeea8234a2e
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsage.java.after
@@ -0,0 +1,15 @@
+import java.util.List;
+class A<E> {
+ E e;
+ List<E> list = new List<E>();
+}
+
+class B<T> extends A<T> {}
+
+class C extends B<Object> {
+ void foo() {
+ if (e == null && list != null) {
+ //do smth
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsageConflict.java b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsageConflict.java
new file mode 100644
index 000000000000..bf9237fe6fb3
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsageConflict.java
@@ -0,0 +1,16 @@
+import java.util.List;
+class A<E> {
+ E e;
+ List<E> list = new List<E>();
+}
+
+class B<T> extends A<T> {}
+
+class C extends B <S<caret>tring> {
+ void foo() {
+ if (e == null && list != null) {
+ for (String s : list) {
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsageConflict.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsageConflict.java.after
new file mode 100644
index 000000000000..ffecf75c7f20
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/TypeHierarchyFieldUsageConflict.java.after
@@ -0,0 +1,16 @@
+import java.util.List;
+class A<E> {
+ E e;
+ List<E> list = new List<E>();
+}
+
+class B<T> extends A<T> {}
+
+class C extends B<Object> {
+ void foo() {
+ if (e == null && list != null) {
+ for (Object s : list) {
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/UsedInSuper.java b/java/typeMigration/testData/refactoring/changeTypeSignature/UsedInSuper.java
new file mode 100644
index 000000000000..4cbee666c3cb
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/UsedInSuper.java
@@ -0,0 +1,9 @@
+class A<T> {
+ T foo(){return null;}
+ T bar(){return foo();}
+}
+
+class B extends A<S<caret>tring> {
+ String foo(){return super.bar();}
+ String bar(){return super.foo();}
+} \ No newline at end of file
diff --git a/java/typeMigration/testData/refactoring/changeTypeSignature/UsedInSuper.java.after b/java/typeMigration/testData/refactoring/changeTypeSignature/UsedInSuper.java.after
new file mode 100644
index 000000000000..d321e6520dc0
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/changeTypeSignature/UsedInSuper.java.after
@@ -0,0 +1,9 @@
+class A<T> {
+ T foo(){return null;}
+ T bar(){return foo();}
+}
+
+class B extends A<Object> {
+ Object foo(){return super.bar();}
+ Object bar(){return super.foo();}
+} \ No newline at end of file