diff options
Diffstat (limited to 'java/typeMigration/testData')
952 files changed, 12013 insertions, 0 deletions
diff --git a/java/typeMigration/testData/intentions/atomic/after1.java b/java/typeMigration/testData/intentions/atomic/after1.java new file mode 100644 index 000000000000..853f715fd8c4 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after1.java @@ -0,0 +1,9 @@ +import java.util.concurrent.atomic.AtomicIntegerArray; + +// "Convert to atomic" "true" +class Test { + final AtomicIntegerArray field= new AtomicIntegerArray(foo()); + int[] foo() { + return null; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after10.java b/java/typeMigration/testData/intentions/atomic/after10.java new file mode 100644 index 000000000000..685e3fb710e2 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after10.java @@ -0,0 +1,10 @@ +import java.util.concurrent.atomic.AtomicInteger; + +// "Convert to atomic" "true" +class Test { + final AtomicInteger o = new AtomicInteger(0); + + void foo() { + boolean b = this.o.get() == 1; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after12.java b/java/typeMigration/testData/intentions/atomic/after12.java new file mode 100644 index 000000000000..8accafd9fa10 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after12.java @@ -0,0 +1,12 @@ +import java.util.concurrent.atomic.AtomicInteger; + +// "Convert to atomic" "true" +class Test { + + { + AtomicInteger i = new AtomicInteger(0); + Integer j = 0; + + assert j == i.get(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after13.java b/java/typeMigration/testData/intentions/atomic/after13.java new file mode 100644 index 000000000000..dea58d02e88c --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after13.java @@ -0,0 +1,6 @@ +import java.util.concurrent.atomic.AtomicInteger; + +// "Convert to atomic" "true" +class Test { + final AtomicInteger i = new AtomicInteger(0); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after14.java b/java/typeMigration/testData/intentions/atomic/after14.java new file mode 100644 index 000000000000..6109d4106e9b --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after14.java @@ -0,0 +1,10 @@ +import java.util.concurrent.atomic.AtomicLong; + +// "Convert to atomic" "true" +class T { + private final AtomicLong l = new AtomicLong(10L); + + public synchronized void update(long m) { + l.set(m); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after2.java b/java/typeMigration/testData/intentions/atomic/after2.java new file mode 100644 index 000000000000..2c2ad94beeb0 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after2.java @@ -0,0 +1,9 @@ +import java.util.concurrent.atomic.AtomicReferenceArray; + +// "Convert to atomic" "true" +class Test { + final AtomicReferenceArray<Object> field= new AtomicReferenceArray<>(foo()); + Object[] foo() { + return null; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after3.java b/java/typeMigration/testData/intentions/atomic/after3.java new file mode 100644 index 000000000000..505349d5dc36 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after3.java @@ -0,0 +1,7 @@ +import java.util.concurrent.atomic.AtomicIntegerArray; + +// "Convert to atomic" "true" +class Test { + final AtomicIntegerArray field= new AtomicIntegerArray(new int[]{1}); + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after4.java b/java/typeMigration/testData/intentions/atomic/after4.java new file mode 100644 index 000000000000..e268b2604404 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after4.java @@ -0,0 +1,9 @@ +import java.util.concurrent.atomic.AtomicInteger; + +// "Convert to atomic" "true" +class Test { + final AtomicInteger i = new AtomicInteger(0); + + int j = i.get() + 5; + String s = "i = " + i.get(); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after5.java b/java/typeMigration/testData/intentions/atomic/after5.java new file mode 100644 index 000000000000..82ff84c68e75 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after5.java @@ -0,0 +1,9 @@ +import java.util.concurrent.atomic.AtomicInteger; + +// "Convert to atomic" "true" +class Test { + final AtomicInteger i = new AtomicInteger(0 + 8); + + int j = i.get() + 5; + String s = "i = " + i.get(); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after6.java b/java/typeMigration/testData/intentions/atomic/after6.java new file mode 100644 index 000000000000..f0120300e0f9 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after6.java @@ -0,0 +1,6 @@ +import java.util.concurrent.atomic.AtomicIntegerArray; + +// "Convert to atomic" "true" +class Test { + final AtomicIntegerArray i = new AtomicIntegerArray(new int[0]); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after7.java b/java/typeMigration/testData/intentions/atomic/after7.java new file mode 100644 index 000000000000..19336f0bc61b --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after7.java @@ -0,0 +1,11 @@ +import java.util.concurrent.atomic.AtomicInteger; + +// "Convert to atomic" "true" +class Test { + final AtomicInteger o = new AtomicInteger(0); + int j = o.get(); + + void foo() { + while ((o = j) != 0) {} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after8.java b/java/typeMigration/testData/intentions/atomic/after8.java new file mode 100644 index 000000000000..bdfbd5b03a4d --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after8.java @@ -0,0 +1,11 @@ +import java.util.concurrent.atomic.AtomicInteger; + +// "Convert to atomic" "true" +class Test { + final AtomicInteger o = new AtomicInteger(); + int j = o.get(); + + void foo() { + while ((o = j) != 0) {} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/after9.java b/java/typeMigration/testData/intentions/atomic/after9.java new file mode 100644 index 000000000000..c462a10961d4 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/after9.java @@ -0,0 +1,15 @@ +import java.util.concurrent.atomic.AtomicInteger; + +// "Convert to atomic" "true" +class Test { + final AtomicInteger o; + int j = o.get(); + + Test(int o) { + this.o = new AtomicInteger(o); + } + + void foo() { + while ((o = j) != 0) {} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/afterExcl.java b/java/typeMigration/testData/intentions/atomic/afterExcl.java new file mode 100644 index 000000000000..72f91198ce3d --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/afterExcl.java @@ -0,0 +1,9 @@ +import java.util.concurrent.atomic.AtomicBoolean; + +// "Convert to atomic" "true" +class Test { + final AtomicBoolean field= new AtomicBoolean(false); + { + boolean b = !field.get(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/afterTA1.java b/java/typeMigration/testData/intentions/atomic/afterTA1.java new file mode 100644 index 000000000000..a90ed666ea30 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/afterTA1.java @@ -0,0 +1,10 @@ +// "Convert to atomic" "true" +import java.lang.annotation.*; +import java.util.concurrent.atomic.AtomicReference; + +@Target(value = ElementType.TYPE_USE) +public @interface TA { int value(); } + +class T { + final AtomicReference<@TA(42) String> v = new AtomicReference<String>(); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before1.java b/java/typeMigration/testData/intentions/atomic/before1.java new file mode 100644 index 000000000000..d3b926f29fb3 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before1.java @@ -0,0 +1,7 @@ +// "Convert to atomic" "true" +class Test { + int[] <caret>field=foo(); + int[] foo() { + return null; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before10.java b/java/typeMigration/testData/intentions/atomic/before10.java new file mode 100644 index 000000000000..a4e7c9db6b75 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before10.java @@ -0,0 +1,8 @@ +// "Convert to atomic" "true" +class Test { + final int <caret>o = 0; + + void foo() { + boolean b = this.o == 1; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before11.java b/java/typeMigration/testData/intentions/atomic/before11.java new file mode 100644 index 000000000000..b1abb55f9503 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before11.java @@ -0,0 +1,8 @@ +// "Convert to atomic" "false" +class Test { + void foo() { + try (AutoCloseable <caret>r = null) { + System.out.println(r); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before12.java b/java/typeMigration/testData/intentions/atomic/before12.java new file mode 100644 index 000000000000..2c634df22c2f --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before12.java @@ -0,0 +1,10 @@ +// "Convert to atomic" "true" +class Test { + + { + int <caret>i = 0; + Integer j = 0; + + assert j == i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before13.java b/java/typeMigration/testData/intentions/atomic/before13.java new file mode 100644 index 000000000000..179e2b165252 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before13.java @@ -0,0 +1,4 @@ +// "Convert to atomic" "true" +class Test { + volatile int <caret>i = 0; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before14.java b/java/typeMigration/testData/intentions/atomic/before14.java new file mode 100644 index 000000000000..042b4c4dd2a1 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before14.java @@ -0,0 +1,8 @@ +// "Convert to atomic" "true" +class T { + private long <caret>l = 10L; + + public synchronized void update(long m) { + l = m; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before2.java b/java/typeMigration/testData/intentions/atomic/before2.java new file mode 100644 index 000000000000..d33fffc40e20 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before2.java @@ -0,0 +1,7 @@ +// "Convert to atomic" "true" +class Test { + Object[] <caret>field=foo(); + Object[] foo() { + return null; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before3.java b/java/typeMigration/testData/intentions/atomic/before3.java new file mode 100644 index 000000000000..661dbdd63fb2 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before3.java @@ -0,0 +1,5 @@ +// "Convert to atomic" "true" +class Test { + int[] <caret>field= new int[]{1}; + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before4.java b/java/typeMigration/testData/intentions/atomic/before4.java new file mode 100644 index 000000000000..ecf4b985a5d2 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before4.java @@ -0,0 +1,7 @@ +// "Convert to atomic" "true" +class Test { + int <caret>i = 0; + + int j = i + 5; + String s = "i = " + i; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before5.java b/java/typeMigration/testData/intentions/atomic/before5.java new file mode 100644 index 000000000000..7ace336aa8be --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before5.java @@ -0,0 +1,7 @@ +// "Convert to atomic" "true" +class Test { + int <caret>i = 0 + 8; + + int j = i + 5; + String s = "i = " + i; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before6.java b/java/typeMigration/testData/intentions/atomic/before6.java new file mode 100644 index 000000000000..abc59802e025 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before6.java @@ -0,0 +1,4 @@ +// "Convert to atomic" "true" +class Test { + int[] <caret>i = new int[0]; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before7.java b/java/typeMigration/testData/intentions/atomic/before7.java new file mode 100644 index 000000000000..fd2d066a4337 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before7.java @@ -0,0 +1,9 @@ +// "Convert to atomic" "true" +class Test { + int <caret>o = 0; + int j = o; + + void foo() { + while ((o = j) != 0) {} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before8.java b/java/typeMigration/testData/intentions/atomic/before8.java new file mode 100644 index 000000000000..d2ef50810f7e --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before8.java @@ -0,0 +1,9 @@ +// "Convert to atomic" "true" +class Test { + int <caret>o; + int j = o; + + void foo() { + while ((o = j) != 0) {} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/before9.java b/java/typeMigration/testData/intentions/atomic/before9.java new file mode 100644 index 000000000000..a9f693800f81 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/before9.java @@ -0,0 +1,13 @@ +// "Convert to atomic" "true" +class Test { + final int <caret>o; + int j = o; + + Test(int o) { + this.o = o; + } + + void foo() { + while ((o = j) != 0) {} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/beforeExcl.java b/java/typeMigration/testData/intentions/atomic/beforeExcl.java new file mode 100644 index 000000000000..3df455583c35 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/beforeExcl.java @@ -0,0 +1,7 @@ +// "Convert to atomic" "true" +class Test { + boolean <caret>field=false; + { + boolean b = !field; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/beforeTA1.java b/java/typeMigration/testData/intentions/atomic/beforeTA1.java new file mode 100644 index 000000000000..10bdd5df4822 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/beforeTA1.java @@ -0,0 +1,9 @@ +// "Convert to atomic" "true" +import java.lang.annotation.*; + +@Target(value = ElementType.TYPE_USE) +public @interface TA { int value(); } + +class T { + @TA(42) String <caret>v; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/after1.java b/java/typeMigration/testData/intentions/threadLocal/after1.java new file mode 100644 index 000000000000..b5df8fd35214 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/after1.java @@ -0,0 +1,12 @@ +// "Convert to ThreadLocal" "true" +class Test { + final ThreadLocal<Integer> field = new ThreadLocal<Integer>() { + @Override + protected Integer initialValue() { + return 0; + } + }; + void foo() { + field.set(field.get() + 1); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/after2.java b/java/typeMigration/testData/intentions/threadLocal/after2.java new file mode 100644 index 000000000000..3a546c5b0c9a --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/after2.java @@ -0,0 +1,12 @@ +// "Convert to ThreadLocal" "true" +class Test { + final ThreadLocal<String> field = new ThreadLocal<String>() { + @Override + protected String initialValue() { + return ""; + } + }; + void foo() { + System.out.println(field.get()); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/after3.java b/java/typeMigration/testData/intentions/threadLocal/after3.java new file mode 100644 index 000000000000..9fc0f825ac4b --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/after3.java @@ -0,0 +1,12 @@ +// "Convert to ThreadLocal" "true" +class Test { + final ThreadLocal<Integer> field = new ThreadLocal<Integer>() { + @Override + protected Integer initialValue() { + return new Integer(0); + } + }; + void foo() { + if (field.get() == null) return; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/after4.java b/java/typeMigration/testData/intentions/threadLocal/after4.java new file mode 100644 index 000000000000..8410a1c33c0e --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/after4.java @@ -0,0 +1,12 @@ +// "Convert to ThreadLocal" "true" +class Test { + final ThreadLocal<String> field = new ThreadLocal<String>() { + @Override + protected String initialValue() { + return ""; + } + }; + void foo() { + if (field.get().indexOf("a") == -1) return; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/after5.java b/java/typeMigration/testData/intentions/threadLocal/after5.java new file mode 100644 index 000000000000..435e1b6a50e6 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/after5.java @@ -0,0 +1,12 @@ +// "Convert to ThreadLocal" "true" +class Test { + final ThreadLocal<Integer> field = new ThreadLocal<Integer>() { + @Override + protected Integer initialValue() { + return new Integer(0); + } + }; + void foo(Test t) { + if (t.field.get() == null) return; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/after6.java b/java/typeMigration/testData/intentions/threadLocal/after6.java new file mode 100644 index 000000000000..1879a46be16d --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/after6.java @@ -0,0 +1,12 @@ +// "Convert to ThreadLocal" "true" +class Test { + static final ThreadLocal<Integer> field; + static { + field = new ThreadLocal<Integer>() { + @Override + protected Integer initialValue() { + return new Integer(0); + } + }; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/after7.java b/java/typeMigration/testData/intentions/threadLocal/after7.java new file mode 100644 index 000000000000..5398ff5e2991 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/after7.java @@ -0,0 +1,15 @@ +// "Convert to ThreadLocal" "true" +class X { + private final ThreadLocal<byte[]> bytes = new ThreadLocal<byte[]>() { + @Override + protected byte[] initialValue() { + return new byte[10]; + } + }; + + byte foo(byte b) { + bytes.get()[0] = 1; + foo(bytes.get()[1]) + return bytes.get()[2]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/after8.java b/java/typeMigration/testData/intentions/threadLocal/after8.java new file mode 100644 index 000000000000..d158894b6130 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/after8.java @@ -0,0 +1,9 @@ +// "Convert to ThreadLocal" "true" +class X { + final ThreadLocal<Integer> i = new ThreadLocal<Integer>() { + @Override + protected Integer initialValue() { + return 0; + } + }; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/afterTA1.java b/java/typeMigration/testData/intentions/threadLocal/afterTA1.java new file mode 100644 index 000000000000..0e3687e146b6 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/afterTA1.java @@ -0,0 +1,14 @@ +// "Convert to ThreadLocal" "true" +import java.lang.annotation.*; + +@Target(value = ElementType.TYPE_USE) +public @interface TA { int value(); } + +class Test { + final ThreadLocal<@TA(42) Integer> field = new ThreadLocal<Integer>() { + @Override + protected Integer initialValue() { + return 0; + } + }; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/before1.java b/java/typeMigration/testData/intentions/threadLocal/before1.java new file mode 100644 index 000000000000..e35925390137 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/before1.java @@ -0,0 +1,7 @@ +// "Convert to ThreadLocal" "true" +class Test { + int <caret>field=0; + void foo() { + field++; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/before2.java b/java/typeMigration/testData/intentions/threadLocal/before2.java new file mode 100644 index 000000000000..47c6471739d7 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/before2.java @@ -0,0 +1,7 @@ +// "Convert to ThreadLocal" "true" +class Test { + String <caret>field=""; + void foo() { + System.out.println(field); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/before3.java b/java/typeMigration/testData/intentions/threadLocal/before3.java new file mode 100644 index 000000000000..19d296cffa36 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/before3.java @@ -0,0 +1,7 @@ +// "Convert to ThreadLocal" "true" +class Test { + Integer <caret>field=new Integer(0); + void foo() { + if (field == null) return; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/before4.java b/java/typeMigration/testData/intentions/threadLocal/before4.java new file mode 100644 index 000000000000..66d2efa6230a --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/before4.java @@ -0,0 +1,7 @@ +// "Convert to ThreadLocal" "true" +class Test { + String <caret>field=""; + void foo() { + if (field.indexOf("a") == -1) return; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/before5.java b/java/typeMigration/testData/intentions/threadLocal/before5.java new file mode 100644 index 000000000000..c459443241e4 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/before5.java @@ -0,0 +1,7 @@ +// "Convert to ThreadLocal" "true" +class Test { + Integer <caret>field=new Integer(0); + void foo(Test t) { + if (t.field == null) return; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/before6.java b/java/typeMigration/testData/intentions/threadLocal/before6.java new file mode 100644 index 000000000000..74427e6e4f06 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/before6.java @@ -0,0 +1,7 @@ +// "Convert to ThreadLocal" "true" +class Test { + static final Integer <caret>field; + static { + field = new Integer(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/before7.java b/java/typeMigration/testData/intentions/threadLocal/before7.java new file mode 100644 index 000000000000..dfff0417b272 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/before7.java @@ -0,0 +1,10 @@ +// "Convert to ThreadLocal" "true" +class X { + private final byte[] <caret>bytes = new byte[10]; + + byte foo(byte b) { + bytes[0] = 1; + foo(bytes[1]) + return bytes[2]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/before8.java b/java/typeMigration/testData/intentions/threadLocal/before8.java new file mode 100644 index 000000000000..af321e0da56c --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/before8.java @@ -0,0 +1,4 @@ +// "Convert to ThreadLocal" "true" +class X { + volatile int <caret>i = 0; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/beforeTA1.java b/java/typeMigration/testData/intentions/threadLocal/beforeTA1.java new file mode 100644 index 000000000000..ac3409c2e759 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/beforeTA1.java @@ -0,0 +1,9 @@ +// "Convert to ThreadLocal" "true" +import java.lang.annotation.*; + +@Target(value = ElementType.TYPE_USE) +public @interface TA { int value(); } + +class Test { + @TA(42) int <caret>field = 0; +}
\ No newline at end of file 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 diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Lvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Lvalue/after/Expr.items new file mode 100644 index 000000000000..7ce904f6afe4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Lvalue/after/Expr.items @@ -0,0 +1,33 @@ +Types: +PsiField:myForAccess : ClassParent +PsiLocalVariable:vf : ClassParent +PsiLocalVariable:vfcthis : ClassParent +PsiLocalVariable:vfnew : ClassParent +PsiLocalVariable:vfparen : ClassParent +PsiLocalVariable:vfthis : ClassParent +PsiLocalVariable:vm : ClassParent +PsiLocalVariable:vmcthis : ClassParent +PsiLocalVariable:vmnew : ClassParent +PsiLocalVariable:vmparen : ClassParent +PsiLocalVariable:vmthis : ClassParent +PsiMethod:forAccess : ClassParent +PsiMethodCallExpression:(this).forAccess() : ClassParent +PsiMethodCallExpression:Expr.this.forAccess() : ClassParent +PsiMethodCallExpression:forAccess() : ClassParent +PsiMethodCallExpression:forAccess() : ClassParent +PsiMethodCallExpression:forAccess() : ClassParent +PsiMethodCallExpression:new Expr().forAccess() : ClassParent +PsiMethodCallExpression:this.forAccess() : ClassParent +PsiReferenceExpression:(this).myForAccess : ClassParent +PsiReferenceExpression:Expr.this.myForAccess : ClassParent +PsiReferenceExpression:myForAccess : ClassParent +PsiReferenceExpression:myForAccess : ClassParent +PsiReferenceExpression:new Expr().myForAccess : ClassParent +PsiReferenceExpression:this.myForAccess : ClassParent + +Conversions: + +New expression type changes: +Fails: +forAccess()->ClassParent +forAccess()->ClassParent diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Lvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Lvalue/after/Expr.java new file mode 100644 index 000000000000..65fd52a3e86e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Lvalue/after/Expr.java @@ -0,0 +1,35 @@ +class ClassParent {} +class ClassChild extends ClassParent { + public void forAccess2() { + } + + public int myForAccess; +} +class ClassGrandChild extends ClassChild {} + +class Expr { + public ClassParent myForAccess; + public ClassParent forAccess() { + return myForAccess; + } + + public void methMemAcc() { + ClassParent vf = myForAccess; + ClassParent vm = forAccess(); + + ClassParent vfthis = this.myForAccess; + ClassParent vmthis = this.forAccess(); + + ClassParent vfcthis = Expr.this.myForAccess; + ClassParent vmcthis = Expr.this.forAccess(); + + ClassParent vfparen = (this).myForAccess; + ClassParent vmparen = (this).forAccess(); + + ClassParent vfnew = new Expr().myForAccess; + ClassParent vmnew = new Expr().forAccess(); + + int v = forAccess().myForAccess; + forAccess().forAccess2(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Lvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Lvalue/before/Expr.java new file mode 100644 index 000000000000..1c13032fa121 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Lvalue/before/Expr.java @@ -0,0 +1,35 @@ +class ClassParent {} +class ClassChild extends ClassParent { + public void forAccess2() { + } + + public int myForAccess; +} +class ClassGrandChild extends ClassChild {} + +class Expr { + public ClassChild myForAccess; + public ClassChild forAccess() { + return myForAccess; + } + + public void methMemAcc() { + ClassChild vf = myForAccess; + ClassChild vm = forAccess(); + + ClassChild vfthis = this.myForAccess; + ClassChild vmthis = this.forAccess(); + + ClassChild vfcthis = Expr.this.myForAccess; + ClassChild vmcthis = Expr.this.forAccess(); + + ClassChild vfparen = (this).myForAccess; + ClassChild vmparen = (this).forAccess(); + + ClassChild vfnew = new Expr().myForAccess; + ClassChild vmnew = new Expr().forAccess(); + + int v = forAccess().myForAccess; + forAccess().forAccess2(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Rvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Rvalue/after/Expr.items new file mode 100644 index 000000000000..d79df57fc220 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Rvalue/after/Expr.items @@ -0,0 +1,37 @@ +Types: +PsiField:myField : ClassGrandChild +PsiField:myForAccess1 : ClassGrandChild +PsiField:myForAccess2 : ClassGrandChild +PsiField:myForAccess3 : ClassGrandChild +PsiField:myForAccess4 : ClassGrandChild +PsiField:myForAccess5 : ClassGrandChild +PsiMethod:forAccess1 : ClassGrandChild +PsiMethod:forAccess2 : ClassGrandChild +PsiMethod:forAccess3 : ClassGrandChild +PsiMethod:forAccess4 : ClassGrandChild +PsiMethod:forAccess5 : ClassGrandChild +PsiMethodCallExpression:(this).forAccess4() : ClassGrandChild +PsiMethodCallExpression:Expr.this.forAccess3() : ClassGrandChild +PsiMethodCallExpression:forAccess1() : ClassGrandChild +PsiMethodCallExpression:new Expr().forAccess5() : ClassGrandChild +PsiMethodCallExpression:this.forAccess2() : ClassGrandChild +PsiReferenceExpression:(this).myForAccess4 : ClassGrandChild +PsiReferenceExpression:Expr.this.myForAccess3 : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myForAccess1 : ClassGrandChild +PsiReferenceExpression:new Expr().myForAccess5 : ClassGrandChild +PsiReferenceExpression:this.myForAccess2 : ClassGrandChild + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Rvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Rvalue/after/Expr.java new file mode 100644 index 000000000000..11599a2cd3a6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Rvalue/after/Expr.java @@ -0,0 +1,54 @@ +class ClassParent {} +class ClassChild extends ClassParent { + public void forAccess2() { + } + + public int myForAccess; +} +class ClassGrandChild extends ClassChild {} + +class Expr { + private ClassGrandChild myField; + + public ClassGrandChild myForAccess1; + public ClassGrandChild forAccess1() { + return null; + } + + public ClassGrandChild myForAccess2; + public ClassGrandChild forAccess2() { + return null; + } + + public ClassGrandChild myForAccess3; + public ClassGrandChild forAccess3() { + return null; + } + + public ClassGrandChild myForAccess4; + public ClassGrandChild forAccess4() { + return null; + } + + public ClassGrandChild myForAccess5; + public ClassGrandChild forAccess5() { + return null; + } + + public void methMemAcc() { + myField = myForAccess1; + myField = forAccess1(); + + myField = this.myForAccess2; + myField = this.forAccess2(); + + myField = Expr.this.myForAccess3; + myField = Expr.this.forAccess3(); + + myField = (this).myForAccess4; + myField = (this).forAccess4(); + + myField = new Expr().myForAccess5; + myField = new Expr().forAccess5(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Rvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Rvalue/before/Expr.java new file mode 100644 index 000000000000..64998cf198c8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccess2Rvalue/before/Expr.java @@ -0,0 +1,54 @@ +class ClassParent {} +class ClassChild extends ClassParent { + public void forAccess2() { + } + + public int myForAccess; +} +class ClassGrandChild extends ClassChild {} + +class Expr { + private ClassChild myField; + + public ClassChild myForAccess1; + public ClassChild forAccess1() { + return null; + } + + public ClassChild myForAccess2; + public ClassChild forAccess2() { + return null; + } + + public ClassChild myForAccess3; + public ClassChild forAccess3() { + return null; + } + + public ClassChild myForAccess4; + public ClassChild forAccess4() { + return null; + } + + public ClassChild myForAccess5; + public ClassChild forAccess5() { + return null; + } + + public void methMemAcc() { + myField = myForAccess1; + myField = forAccess1(); + + myField = this.myForAccess2; + myField = this.forAccess2(); + + myField = Expr.this.myForAccess3; + myField = Expr.this.forAccess3(); + + myField = (this).myForAccess4; + myField = (this).forAccess4(); + + myField = new Expr().myForAccess5; + myField = new Expr().forAccess5(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Lvalue/after/Ession.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Lvalue/after/Ession.items new file mode 100644 index 000000000000..15e80380b536 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Lvalue/after/Ession.items @@ -0,0 +1,17 @@ +Types: +PsiField:myForSuperAccess : ClassParent +PsiLocalVariable:vfcsuper : ClassParent +PsiLocalVariable:vfsuper : ClassParent +PsiLocalVariable:vmcsuper : ClassParent +PsiLocalVariable:vmsuper : ClassParent +PsiMethod:forSuperAccess : ClassParent +PsiMethodCallExpression:Expr.super.forSuperAccess() : ClassParent +PsiMethodCallExpression:super.forSuperAccess() : ClassParent +PsiReferenceExpression:Expr.super.myForSuperAccess : ClassParent +PsiReferenceExpression:myForSuperAccess : ClassParent +PsiReferenceExpression:super.myForSuperAccess : ClassParent + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Lvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Lvalue/after/Expr.java new file mode 100644 index 000000000000..3a9531d8f9d8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Lvalue/after/Expr.java @@ -0,0 +1,20 @@ +class ClassParent {} +class ClassChild extends ClassParent {} +class ClassGrandChild extends ClassChild {} + +class Ession { + public ClassParent myForSuperAccess; + public ClassParent forSuperAccess() { + return myForSuperAccess; + } +} + +class Expr extends Ession { + public void methMemAcc() { + ClassParent vfsuper = super.myForSuperAccess; + ClassParent vmsuper = super.forSuperAccess(); + + ClassParent vfcsuper = Expr.super.myForSuperAccess; + ClassParent vmcsuper = Expr.super.forSuperAccess(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Lvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Lvalue/before/Expr.java new file mode 100644 index 000000000000..898b41a6ab6f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Lvalue/before/Expr.java @@ -0,0 +1,20 @@ +class ClassParent {} +class ClassChild extends ClassParent {} +class ClassGrandChild extends ClassChild {} + +class Ession { + public ClassChild myForSuperAccess; + public ClassChild forSuperAccess() { + return myForSuperAccess; + } +} + +class Expr extends Ession { + public void methMemAcc() { + ClassChild vfsuper = super.myForSuperAccess; + ClassChild vmsuper = super.forSuperAccess(); + + ClassChild vfcsuper = Expr.super.myForSuperAccess; + ClassChild vmcsuper = Expr.super.forSuperAccess(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Rvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Rvalue/after/Expr.items new file mode 100644 index 000000000000..95bf149e7b68 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Rvalue/after/Expr.items @@ -0,0 +1,19 @@ +Types: +PsiField:myField : ClassGrandChild +PsiField:myForSuperAccess1 : ClassGrandChild +PsiField:myForSuperAccess2 : ClassGrandChild +PsiMethod:forSuperAccess1 : ClassGrandChild +PsiMethod:forSuperAccess2 : ClassGrandChild +PsiMethodCallExpression:Expr.super.forSuperAccess2() : ClassGrandChild +PsiMethodCallExpression:super.forSuperAccess1() : ClassGrandChild +PsiReferenceExpression:Expr.super.myForSuperAccess2 : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:myField : ClassGrandChild +PsiReferenceExpression:super.myForSuperAccess1 : ClassGrandChild + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Rvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Rvalue/after/Expr.java new file mode 100644 index 000000000000..9ffe2e3a7332 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Rvalue/after/Expr.java @@ -0,0 +1,26 @@ +class ClassParent {} +class ClassChild extends ClassParent {} +class ClassGrandChild extends ClassChild {} + +class Ession { + public ClassGrandChild myForSuperAccess1; + public ClassGrandChild forSuperAccess1() { + return null; + } + + public ClassGrandChild myForSuperAccess2; + public ClassGrandChild forSuperAccess2() { + return null; + } +} + +class Expr extends Ession { + private ClassGrandChild myField; + public void methMemAcc() { + myField = super.myForSuperAccess1; + myField = super.forSuperAccess1(); + + myField = Expr.super.myForSuperAccess2; + myField = Expr.super.forSuperAccess2(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Rvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Rvalue/before/Expr.java new file mode 100644 index 000000000000..0a244c6448bd --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprAccessParent2Rvalue/before/Expr.java @@ -0,0 +1,26 @@ +class ClassParent {} +class ClassChild extends ClassParent {} +class ClassGrandChild extends ClassChild {} + +class Ession { + public ClassChild myForSuperAccess1; + public ClassChild forSuperAccess1() { + return null; + } + + public ClassChild myForSuperAccess2; + public ClassChild forSuperAccess2() { + return null; + } +} + +class Expr extends Ession { + private ClassChild myField; + public void methMemAcc() { + myField = super.myForSuperAccess1; + myField = super.forSuperAccess1(); + + myField = Expr.super.myForSuperAccess2; + myField = Expr.super.forSuperAccess2(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessNegative/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessNegative/after/Expr.items new file mode 100644 index 000000000000..0f10ca83564b --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessNegative/after/Expr.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : double +PsiReferenceExpression:p : double + +Conversions: + +New expression type changes: +Fails: +p->double diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessNegative/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessNegative/after/Expr.java new file mode 100644 index 000000000000..9258f512d2b1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessNegative/after/Expr.java @@ -0,0 +1,6 @@ +class Expr { + public void meth(double p) { + String[] sa = new String[]{"0", "1"}; + String s = sa[p]; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessNegative/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessNegative/before/Expr.java new file mode 100644 index 000000000000..57fde1c6b34c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessNegative/before/Expr.java @@ -0,0 +1,6 @@ +class Expr { + public void meth(int p) { + String[] sa = new String[]{"0", "1"}; + String s = sa[p]; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessPositive/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessPositive/after/Expr.items new file mode 100644 index 000000000000..afc565fc6df7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessPositive/after/Expr.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:p : char +PsiReferenceExpression:p : char + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessPositive/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessPositive/after/Expr.java new file mode 100644 index 000000000000..7971b5e9e770 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessPositive/after/Expr.java @@ -0,0 +1,6 @@ +class Expr { + public void meth(char p) { + String[] sa = new String[]{"0", "1"}; + String s = sa[p]; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessPositive/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessPositive/before/Expr.java new file mode 100644 index 000000000000..57fde1c6b34c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprArrayAccessPositive/before/Expr.java @@ -0,0 +1,6 @@ +class Expr { + public void meth(int p) { + String[] sa = new String[]{"0", "1"}; + String s = sa[p]; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanBoolean/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanBoolean/after/Expr.items new file mode 100644 index 000000000000..4e6bf57cbb3e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanBoolean/after/Expr.items @@ -0,0 +1,30 @@ +Types: +PsiLocalVariable:vba : int +PsiLocalVariable:vbb : int +PsiLocalVariable:vbc : int +PsiParameter:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int +PsiReferenceExpression:pb : int + +Conversions: + +New expression type changes: +Fails: +pb->int +pb->int +pb->int +pb->int +pb->int +pb->int +pb->int diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanBoolean/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanBoolean/after/Expr.java new file mode 100644 index 000000000000..d0dd0e83a559 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanBoolean/after/Expr.java @@ -0,0 +1,16 @@ +class Expr { + public void meth(int pb) { + int vba = pb & pb; + int vbb = pb ^ pb; + int vbc = pb | pb; + boolean vbd = pb && pb; + boolean vbe = pb || pb; + + boolean vn1 = false; + vn1 &= pb; + boolean vn2 = false; + vn2 ^= pb; + boolean vn3 = false; + vn3 |= pb; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanBoolean/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanBoolean/before/Expr.java new file mode 100644 index 000000000000..d0364a40ca25 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanBoolean/before/Expr.java @@ -0,0 +1,16 @@ +class Expr { + public void meth(boolean pb) { + boolean vba = pb & pb; + boolean vbb = pb ^ pb; + boolean vbc = pb | pb; + boolean vbd = pb && pb; + boolean vbe = pb || pb; + + boolean vn1 = false; + vn1 &= pb; + boolean vn2 = false; + vn2 ^= pb; + boolean vn3 = false; + vn3 |= pb; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanNumeric/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanNumeric/after/Expr.items new file mode 100644 index 000000000000..21ecfb0d65a5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanNumeric/after/Expr.items @@ -0,0 +1,19 @@ +Types: +PsiParameter:pi : java.lang.Object +PsiReferenceExpression:pi : java.lang.Object +PsiReferenceExpression:pi : java.lang.Object +PsiReferenceExpression:pi : java.lang.Object +PsiReferenceExpression:pi : java.lang.Object +PsiReferenceExpression:pi : java.lang.Object +PsiReferenceExpression:pi : java.lang.Object + +Conversions: + +New expression type changes: +Fails: +pi->java.lang.Object +pi->java.lang.Object +pi->java.lang.Object +pi->java.lang.Object +pi->java.lang.Object +pi->java.lang.Object diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanNumeric/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanNumeric/after/Expr.java new file mode 100644 index 000000000000..c54d809c3906 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanNumeric/after/Expr.java @@ -0,0 +1,10 @@ +class Expr { + public void meth(Object pi) { + boolean vb1 = pi > 0; + boolean vb2 = pi >= 0; + boolean vb3 = pi < 0; + boolean vb4 = pi <= 0; + boolean vb6 = pi == 0; + boolean vb7 = pi != 0; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanNumeric/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanNumeric/before/Expr.java new file mode 100644 index 000000000000..1b113b43a3e6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanNumeric/before/Expr.java @@ -0,0 +1,10 @@ +class Expr { + public void meth(int pi) { + boolean vb1 = pi > 0; + boolean vb2 = pi >= 0; + boolean vb3 = pi < 0; + boolean vb4 = pi <= 0; + boolean vb6 = pi == 0; + boolean vb7 = pi != 0; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanReference/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanReference/after/Expr.items new file mode 100644 index 000000000000..815d62ca7530 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanReference/after/Expr.items @@ -0,0 +1,15 @@ +Types: +PsiParameter:ps : double +PsiReferenceExpression:ps : double +PsiReferenceExpression:ps : double +PsiReferenceExpression:ps : double +PsiReferenceExpression:ps : double + +Conversions: + +New expression type changes: +Fails: +ps->double +ps->double +ps->double +ps->double diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanReference/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanReference/after/Expr.java new file mode 100644 index 000000000000..bc4c04967759 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanReference/after/Expr.java @@ -0,0 +1,8 @@ +class Expr { + public void meth(double ps) { + boolean vb5 = ps instanceof CharSequence; + boolean vb8 = ps == "string"; + boolean vb9 = ps != "string"; + boolean vbf = (1 >= 0) && (ps instanceof CharSequence); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanReference/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanReference/before/Expr.java new file mode 100644 index 000000000000..6def87eb9709 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcBooleanReference/before/Expr.java @@ -0,0 +1,8 @@ +class Expr { + public void meth(String ps) { + boolean vb5 = ps instanceof CharSequence; + boolean vb8 = ps == "string"; + boolean vb9 = ps != "string"; + boolean vbf = (1 >= 0) && (ps instanceof CharSequence); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Boolean/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Boolean/after/Expr.items new file mode 100644 index 000000000000..aeddc71515d9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Boolean/after/Expr.items @@ -0,0 +1,58 @@ +Types: +PsiLocalVariable:vb9 : boolean +PsiLocalVariable:vba : boolean +PsiLocalVariable:vbb : boolean +PsiParameter:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean +PsiReferenceExpression:p : boolean + +Conversions: + +New expression type changes: +Fails: +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean +p->boolean diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Boolean/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Boolean/after/Expr.java new file mode 100644 index 000000000000..c90c55120370 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Boolean/after/Expr.java @@ -0,0 +1,35 @@ +class Expr { + public void meth(boolean p) { + int vb1 = p * p; + int vb2 = p / p; + int vb3 = p % p; + int vb4 = p + p; + int vb5 = p - p; + boolean vb9 = p & p; + boolean vba = p ^ p; + boolean vbb = p | p; + + int vn1 = 0; + vn1 *= p; + int vn2 = 0; + vn2 /= p; + int vn3 = 0; + vn3 %= p; + int vn4 = 0; + vn4 += p; + int vn5 = 0; + vn5 -= p; + int vn6 = 0; + vn6 <<= p; + int vn7 = 0; + vn7 >>= p; + int vn8 = 0; + vn8 >>>= p; + int vn9 = 0; + vn9 &= p; + int vna = 0; + vna ^= p; + int vnb = 0; + vnb |= p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Boolean/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Boolean/before/Expr.java new file mode 100644 index 000000000000..057b284248a0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Boolean/before/Expr.java @@ -0,0 +1,35 @@ +class Expr { + public void meth(int p) { + int vb1 = p * p; + int vb2 = p / p; + int vb3 = p % p; + int vb4 = p + p; + int vb5 = p - p; + int vb9 = p & p; + int vba = p ^ p; + int vbb = p | p; + + int vn1 = 0; + vn1 *= p; + int vn2 = 0; + vn2 /= p; + int vn3 = 0; + vn3 %= p; + int vn4 = 0; + vn4 += p; + int vn5 = 0; + vn5 -= p; + int vn6 = 0; + vn6 <<= p; + int vn7 = 0; + vn7 >>= p; + int vn8 = 0; + vn8 >>>= p; + int vn9 = 0; + vn9 &= p; + int vna = 0; + vna ^= p; + int vnb = 0; + vnb |= p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Floating/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Floating/after/Expr.items new file mode 100644 index 000000000000..0fdb9d1291e9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Floating/after/Expr.items @@ -0,0 +1,78 @@ +Types: +PsiLocalVariable:vb1 : float +PsiLocalVariable:vb2 : float +PsiLocalVariable:vb3 : float +PsiLocalVariable:vb4 : float +PsiLocalVariable:vb5 : float +PsiLocalVariable:vn1 : float +PsiLocalVariable:vn2 : float +PsiLocalVariable:vn3 : float +PsiLocalVariable:vn4 : float +PsiLocalVariable:vn5 : float +PsiLocalVariable:vu1 : float +PsiLocalVariable:vu2 : float +PsiLocalVariable:vu3 : float +PsiLocalVariable:vu4 : float +PsiLocalVariable:vu5 : float +PsiLocalVariable:vu6 : float +PsiParameter:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:vn1 : float +PsiReferenceExpression:vn2 : float +PsiReferenceExpression:vn3 : float +PsiReferenceExpression:vn4 : float +PsiReferenceExpression:vn5 : float + +Conversions: +0 -> $ +0 -> $ +0 -> $ +0 -> $ +0 -> $ + +New expression type changes: +Fails: +p->float +p->float +p->float +p->float +p->float +p->float +p->float +p->float +p->float +p->float +p->float +p->float diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Floating/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Floating/after/Expr.java new file mode 100644 index 000000000000..8e16d5b5d974 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Floating/after/Expr.java @@ -0,0 +1,42 @@ +class Expr { + public void meth(float p) { + float vu1 = p++; + float vu2 = p--; + float vu3 = ++p; + float vu4 = --p; + float vu5 = -p; + float vu6 = +p; + + float vb1 = p * p; + float vb2 = p / p; + float vb3 = p % p; + float vb4 = p + p; + float vb5 = p - p; + int vb9 = p & p; + int vba = p ^ p; + int vbb = p | p; + + float vn1 = 0; + vn1 *= p; + float vn2 = 0; + vn2 /= p; + float vn3 = 0; + vn3 %= p; + float vn4 = 0; + vn4 += p; + float vn5 = 0; + vn5 -= p; + int vn6 = 0; + vn6 <<= p; + int vn7 = 0; + vn7 >>= p; + int vn8 = 0; + vn8 >>>= p; + int vn9 = 0; + vn9 &= p; + int vna = 0; + vna ^= p; + int vnb = 0; + vnb |= p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Floating/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Floating/before/Expr.java new file mode 100644 index 000000000000..4088b28a0060 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Floating/before/Expr.java @@ -0,0 +1,42 @@ +class Expr { + public void meth(int p) { + int vu1 = p++; + int vu2 = p--; + int vu3 = ++p; + int vu4 = --p; + int vu5 = -p; + int vu6 = +p; + + int vb1 = p * p; + int vb2 = p / p; + int vb3 = p % p; + int vb4 = p + p; + int vb5 = p - p; + int vb9 = p & p; + int vba = p ^ p; + int vbb = p | p; + + int vn1 = 0; + vn1 *= p; + int vn2 = 0; + vn2 /= p; + int vn3 = 0; + vn3 %= p; + int vn4 = 0; + vn4 += p; + int vn5 = 0; + vn5 -= p; + int vn6 = 0; + vn6 <<= p; + int vn7 = 0; + vn7 >>= p; + int vn8 = 0; + vn8 >>>= p; + int vn9 = 0; + vn9 &= p; + int vna = 0; + vna ^= p; + int vnb = 0; + vnb |= p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Int/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Int/after/Expr.items new file mode 100644 index 000000000000..36e79ff677b4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Int/after/Expr.items @@ -0,0 +1,98 @@ +Types: +PsiLocalVariable:vb1 : long +PsiLocalVariable:vb2 : long +PsiLocalVariable:vb3 : long +PsiLocalVariable:vb4 : long +PsiLocalVariable:vb5 : long +PsiLocalVariable:vb6 : long +PsiLocalVariable:vb7 : long +PsiLocalVariable:vb8 : long +PsiLocalVariable:vb9 : long +PsiLocalVariable:vba : long +PsiLocalVariable:vbb : long +PsiLocalVariable:vn1 : long +PsiLocalVariable:vn2 : long +PsiLocalVariable:vn3 : long +PsiLocalVariable:vn4 : long +PsiLocalVariable:vn5 : long +PsiLocalVariable:vn6 : long +PsiLocalVariable:vn7 : long +PsiLocalVariable:vn8 : long +PsiLocalVariable:vn9 : long +PsiLocalVariable:vna : long +PsiLocalVariable:vnb : long +PsiLocalVariable:vu1 : long +PsiLocalVariable:vu2 : long +PsiLocalVariable:vu3 : long +PsiLocalVariable:vu4 : long +PsiLocalVariable:vu5 : long +PsiLocalVariable:vu6 : long +PsiLocalVariable:vu7 : long +PsiParameter:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:vn1 : long +PsiReferenceExpression:vn2 : long +PsiReferenceExpression:vn3 : long +PsiReferenceExpression:vn4 : long +PsiReferenceExpression:vn5 : long +PsiReferenceExpression:vn6 : long +PsiReferenceExpression:vn7 : long +PsiReferenceExpression:vn8 : long +PsiReferenceExpression:vn9 : long +PsiReferenceExpression:vna : long +PsiReferenceExpression:vnb : long + +Conversions: +0 -> $ +0 -> $ +0 -> $ +0 -> $ +0 -> $ +0 -> $ +0 -> $ +0 -> $ +0 -> $ +0 -> $ +0 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Int/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Int/after/Expr.java new file mode 100644 index 000000000000..323dad23d5d3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Int/after/Expr.java @@ -0,0 +1,46 @@ +class Expr { + public void meth(long p) { + long vu1 = p++; + long vu2 = p--; + long vu3 = ++p; + long vu4 = --p; + long vu5 = -p; + long vu6 = +p; + long vu7 = ~p; + + long vb1 = p * p; + long vb2 = p / p; + long vb3 = p % p; + long vb4 = p + p; + long vb5 = p - p; + long vb6 = p << p; + long vb7 = p >> p; + long vb8 = p >>> p; + long vb9 = p & p; + long vba = p ^ p; + long vbb = p | p; + + long vn1 = 0; + vn1 *= p; + long vn2 = 0; + vn2 /= p; + long vn3 = 0; + vn3 %= p; + long vn4 = 0; + vn4 += p; + long vn5 = 0; + vn5 -= p; + long vn6 = 0; + vn6 <<= p; + long vn7 = 0; + vn7 >>= p; + long vn8 = 0; + vn8 >>>= p; + long vn9 = 0; + vn9 &= p; + long vna = 0; + vna ^= p; + long vnb = 0; + vnb |= p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Int/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Int/before/Expr.java new file mode 100644 index 000000000000..716f4b7e60e1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2Int/before/Expr.java @@ -0,0 +1,46 @@ +class Expr { + public void meth(int p) { + int vu1 = p++; + int vu2 = p--; + int vu3 = ++p; + int vu4 = --p; + int vu5 = -p; + int vu6 = +p; + int vu7 = ~p; + + int vb1 = p * p; + int vb2 = p / p; + int vb3 = p % p; + int vb4 = p + p; + int vb5 = p - p; + int vb6 = p << p; + int vb7 = p >> p; + int vb8 = p >>> p; + int vb9 = p & p; + int vba = p ^ p; + int vbb = p | p; + + int vn1 = 0; + vn1 *= p; + int vn2 = 0; + vn2 /= p; + int vn3 = 0; + vn3 %= p; + int vn4 = 0; + vn4 += p; + int vn5 = 0; + vn5 -= p; + int vn6 = 0; + vn6 <<= p; + int vn7 = 0; + vn7 >>= p; + int vn8 = 0; + vn8 >>>= p; + int vn9 = 0; + vn9 &= p; + int vna = 0; + vna ^= p; + int vnb = 0; + vnb |= p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2String/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2String/after/Expr.items new file mode 100644 index 000000000000..406008949bd1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2String/after/Expr.items @@ -0,0 +1,62 @@ +Types: +PsiLocalVariable:vb4 : java.lang.String +PsiLocalVariable:vn4 : java.lang.String +PsiParameter:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:vn4 : java.lang.String + +Conversions: + +New expression type changes: +Fails: +0->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String +p->java.lang.String diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2String/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2String/after/Expr.java new file mode 100644 index 000000000000..62fd2ff0b0ff --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2String/after/Expr.java @@ -0,0 +1,35 @@ +class Expr { + public void meth(String p) { + int vb1 = p * p; + int vb2 = p / p; + int vb3 = p % p; + String vb4 = p + p; + int vb5 = p - p; + int vb9 = p & p; + int vba = p ^ p; + int vbb = p | p; + + int vn1 = 0; + vn1 *= p; + int vn2 = 0; + vn2 /= p; + int vn3 = 0; + vn3 %= p; + String vn4 = 0; + vn4 += p; + int vn5 = 0; + vn5 -= p; + int vn6 = 0; + vn6 <<= p; + int vn7 = 0; + vn7 >>= p; + int vn8 = 0; + vn8 >>>= p; + int vn9 = 0; + vn9 &= p; + int vna = 0; + vna ^= p; + int vnb = 0; + vnb |= p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2String/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2String/before/Expr.java new file mode 100644 index 000000000000..057b284248a0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCalcNumeric2String/before/Expr.java @@ -0,0 +1,35 @@ +class Expr { + public void meth(int p) { + int vb1 = p * p; + int vb2 = p / p; + int vb3 = p % p; + int vb4 = p + p; + int vb5 = p - p; + int vb9 = p & p; + int vba = p ^ p; + int vbb = p | p; + + int vn1 = 0; + vn1 *= p; + int vn2 = 0; + vn2 /= p; + int vn3 = 0; + vn3 %= p; + int vn4 = 0; + vn4 += p; + int vn5 = 0; + vn5 -= p; + int vn6 = 0; + vn6 <<= p; + int vn7 = 0; + vn7 >>= p; + int vn8 = 0; + vn8 >>>= p; + int vn9 = 0; + vn9 &= p; + int vna = 0; + vna ^= p; + int vnb = 0; + vnb |= p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvalueNeg/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvalueNeg/after/Expr.items new file mode 100644 index 000000000000..01f325b2852d --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvalueNeg/after/Expr.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.lang.String +PsiReferenceExpression:p : java.lang.String + +Conversions: + +New expression type changes: +Fails: +(short) p->java.lang.String diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvalueNeg/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvalueNeg/after/Expr.java new file mode 100644 index 000000000000..5a7343152288 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvalueNeg/after/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public void meth(String p) { + short v = (short) p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvalueNeg/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvalueNeg/before/Expr.java new file mode 100644 index 000000000000..e3519b4bb4bf --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvalueNeg/before/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public void meth(byte p) { + short v = (short) p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvaluePos/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvaluePos/after/Expr.items new file mode 100644 index 000000000000..f69d09024863 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvaluePos/after/Expr.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:p : int +PsiReferenceExpression:p : int + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvaluePos/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvaluePos/after/Expr.java new file mode 100644 index 000000000000..64aecc896b80 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvaluePos/after/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public void meth(int p) { + short v = (short) p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvaluePos/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvaluePos/before/Expr.java new file mode 100644 index 000000000000..e3519b4bb4bf --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprCast2LvaluePos/before/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public void meth(byte p) { + short v = (short) p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2Reference/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2Reference/after/Expr.items new file mode 100644 index 000000000000..0b73994dece5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2Reference/after/Expr.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:pns : java.lang.Object +PsiReferenceExpression:pns : java.lang.Object +PsiReferenceExpression:pns : java.lang.Object + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2Reference/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2Reference/after/Expr.java new file mode 100644 index 000000000000..cf844f4eddf2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2Reference/after/Expr.java @@ -0,0 +1,9 @@ +class Expr { + private String myString; + public void meth(Object pns, String ps) { + myString = ps + ps; + myString = ps + pns; + myString = pns + ps; + myString += ps; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2Reference/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2Reference/before/Expr.java new file mode 100644 index 000000000000..71b89f955e59 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2Reference/before/Expr.java @@ -0,0 +1,9 @@ +class Expr { + private String myString; + public void meth(int pns, String ps) { + myString = ps + ps; + myString = ps + pns; + myString = pns + ps; + myString += ps; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2String/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2String/after/Expr.items new file mode 100644 index 000000000000..46d6b1f5a15f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2String/after/Expr.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:pns : java.lang.String +PsiReferenceExpression:pns : java.lang.String +PsiReferenceExpression:pns : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2String/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2String/after/Expr.java new file mode 100644 index 000000000000..5ce2b795d268 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2String/after/Expr.java @@ -0,0 +1,9 @@ +class Expr { + private String myString; + public void meth(String pns, String ps) { + myString = ps + ps; + myString = ps + pns; + myString = pns + ps; + myString += ps; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2String/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2String/before/Expr.java new file mode 100644 index 000000000000..71b89f955e59 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatNumeric2String/before/Expr.java @@ -0,0 +1,9 @@ +class Expr { + private String myString; + public void meth(int pns, String ps) { + myString = ps + ps; + myString = ps + pns; + myString = pns + ps; + myString += ps; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Numeric/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Numeric/after/Expr.items new file mode 100644 index 000000000000..3bb9c1ebf19a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Numeric/after/Expr.items @@ -0,0 +1,17 @@ +Types: +PsiField:myString : int +PsiParameter:ps : int +PsiReferenceExpression:myString : int +PsiReferenceExpression:myString : int +PsiReferenceExpression:myString : int +PsiReferenceExpression:myString : int +PsiReferenceExpression:ps : int +PsiReferenceExpression:ps : int +PsiReferenceExpression:ps : int +PsiReferenceExpression:ps : int +PsiReferenceExpression:ps : int + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Numeric/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Numeric/after/Expr.java new file mode 100644 index 000000000000..ac05959f3c08 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Numeric/after/Expr.java @@ -0,0 +1,9 @@ +class Expr { + private int myString; + public void meth(int ps, int pns) { + myString = ps + ps; + myString = ps + pns; + myString = pns + ps; + myString += ps; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Numeric/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Numeric/before/Expr.java new file mode 100644 index 000000000000..bb57398b961c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Numeric/before/Expr.java @@ -0,0 +1,9 @@ +class Expr { + private String myString; + public void meth(String ps, int pns) { + myString = ps + ps; + myString = ps + pns; + myString = pns + ps; + myString += ps; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Reference/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Reference/after/Expr.items new file mode 100644 index 000000000000..302e3c9da48c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Reference/after/Expr.items @@ -0,0 +1,23 @@ +Types: +PsiField:myString : int +PsiParameter:ps : java.lang.Object +PsiReferenceExpression:myString : int +PsiReferenceExpression:myString : int +PsiReferenceExpression:myString : int +PsiReferenceExpression:myString : int +PsiReferenceExpression:ps : java.lang.Object +PsiReferenceExpression:ps : java.lang.Object +PsiReferenceExpression:ps : java.lang.Object +PsiReferenceExpression:ps : java.lang.Object +PsiReferenceExpression:ps : java.lang.Object + +Conversions: + +New expression type changes: +Fails: +myString->int +ps->java.lang.Object +ps->java.lang.Object +ps->java.lang.Object +ps->java.lang.Object +ps->java.lang.Object diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Reference/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Reference/after/Expr.java new file mode 100644 index 000000000000..c23893bd5b63 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Reference/after/Expr.java @@ -0,0 +1,9 @@ +class Expr { + private int myString; + public void meth(Object ps, int pns) { + myString = ps + ps; + myString = ps + pns; + myString = pns + ps; + myString += ps; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Reference/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Reference/before/Expr.java new file mode 100644 index 000000000000..bb57398b961c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprConcatString2Reference/before/Expr.java @@ -0,0 +1,9 @@ +class Expr { + private String myString; + public void meth(String ps, int pns) { + myString = ps + ps; + myString = ps + pns; + myString = pns + ps; + myString += ps; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofNeg/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofNeg/after/Expr.items new file mode 100644 index 000000000000..7712b490ec9a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofNeg/after/Expr.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.util.List +PsiReferenceExpression:p : java.util.List + +Conversions: + +New expression type changes: +Fails: +p->java.util.List diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofNeg/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofNeg/after/Expr.java new file mode 100644 index 000000000000..93da179e0c37 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofNeg/after/Expr.java @@ -0,0 +1,9 @@ +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +class Expr { + public void meth(List p) { + boolean b = p instanceof HashSet; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofNeg/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofNeg/before/Expr.java new file mode 100644 index 000000000000..72af0a04ab0b --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofNeg/before/Expr.java @@ -0,0 +1,9 @@ +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +class Expr { + public void meth(Set p) { + boolean b = p instanceof HashSet; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofPos/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofPos/after/Expr.items new file mode 100644 index 000000000000..5b608c5c0b1a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofPos/after/Expr.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:p : java.util.AbstractMap +PsiReferenceExpression:p : java.util.AbstractMap + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofPos/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofPos/after/Expr.java new file mode 100644 index 000000000000..e7f8a225bd9e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofPos/after/Expr.java @@ -0,0 +1,9 @@ +import java.util.AbstractMap; +import java.util.HashMap; +import java.util.Map; + +class Expr { + public void meth(AbstractMap p) { + boolean b = p instanceof HashMap; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofPos/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofPos/before/Expr.java new file mode 100644 index 000000000000..fa8ab953a084 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprInstanceofPos/before/Expr.java @@ -0,0 +1,9 @@ +import java.util.AbstractMap; +import java.util.HashMap; +import java.util.Map; + +class Expr { + public void meth(Map p) { + boolean b = p instanceof HashMap; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralBoolean/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralBoolean/after/Expr.items new file mode 100644 index 000000000000..b446d1101a06 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralBoolean/after/Expr.items @@ -0,0 +1,35 @@ +Types: +PsiField:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:myField : boolean + +Conversions: + +New expression type changes: +Fails: +"#"->boolean +'#'->boolean +043->boolean +043F->boolean +043L->boolean +0x23->boolean +0x23F->boolean +0x23L->boolean +35->boolean +35.0->boolean +35F->boolean +35L->boolean +null->boolean diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralBoolean/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralBoolean/after/Expr.java new file mode 100644 index 000000000000..d0d0a2d12326 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralBoolean/after/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private boolean myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralBoolean/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralBoolean/before/Expr.java new file mode 100644 index 000000000000..05b89dc47d4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralBoolean/before/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private Object myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralByte/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralByte/after/Expr.items new file mode 100644 index 000000000000..efc0c3bb0c41 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralByte/after/Expr.items @@ -0,0 +1,37 @@ +Types: +PsiField:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte + +Conversions: + +New expression type changes: +Fails: +"#"->byte +'#'->byte +043->byte +043F->byte +043L->byte +0x23->byte +0x23F->byte +0x23L->byte +35->byte +35.0->byte +35F->byte +35L->byte +false->byte +null->byte +true->byte diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralByte/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralByte/after/Expr.java new file mode 100644 index 000000000000..6288f06f450a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralByte/after/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private byte myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralByte/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralByte/before/Expr.java new file mode 100644 index 000000000000..05b89dc47d4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralByte/before/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private Object myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralChar/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralChar/after/Expr.items new file mode 100644 index 000000000000..62960ffeacf8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralChar/after/Expr.items @@ -0,0 +1,36 @@ +Types: +PsiField:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char + +Conversions: + +New expression type changes: +Fails: +"#"->char +043->char +043F->char +043L->char +0x23->char +0x23F->char +0x23L->char +35->char +35.0->char +35F->char +35L->char +false->char +null->char +true->char diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralChar/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralChar/after/Expr.java new file mode 100644 index 000000000000..eab5b7cf5059 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralChar/after/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private char myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralChar/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralChar/before/Expr.java new file mode 100644 index 000000000000..05b89dc47d4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralChar/before/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private Object myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassExtends/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassExtends/after/Expr.items new file mode 100644 index 000000000000..2a1f903ca5ab --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassExtends/after/Expr.items @@ -0,0 +1,17 @@ +Types: +PsiField:myField : java.lang.Class<? extends java.util.Collection[]> +PsiReferenceExpression:myField : java.lang.Class<? extends java.util.Collection[]> +PsiReferenceExpression:myField : java.lang.Class<? extends java.util.Collection[]> +PsiReferenceExpression:myField : java.lang.Class<? extends java.util.Collection[]> +PsiReferenceExpression:myField : java.lang.Class<? extends java.util.Collection[]> +PsiReferenceExpression:myField : java.lang.Class<? extends java.util.Collection[]> + +Conversions: +Set[].class -> $ + +New expression type changes: +Fails: +Set.class->java.lang.Class<? extends java.util.Collection[]> +int.class->java.lang.Class<? extends java.util.Collection[]> +int[].class->java.lang.Class<? extends java.util.Collection[]> +void.class->java.lang.Class<? extends java.util.Collection[]> diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassExtends/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassExtends/after/Expr.java new file mode 100644 index 000000000000..a9f761e2bd1f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassExtends/after/Expr.java @@ -0,0 +1,13 @@ +import java.util.Collection; +import java.util.Set; + +class Expr { + private Class<? extends Collection[]> myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassExtends/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassExtends/before/Expr.java new file mode 100644 index 000000000000..202ef9ef2da6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassExtends/before/Expr.java @@ -0,0 +1,13 @@ +import java.util.Collection; +import java.util.Set; + +class Expr { + private Object myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitive/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitive/after/Expr.items new file mode 100644 index 000000000000..485a0f5d91a4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitive/after/Expr.items @@ -0,0 +1,16 @@ +Types: +PsiField:myField : java.lang.Class<java.lang.Integer> +PsiReferenceExpression:myField : java.lang.Class<java.lang.Integer> +PsiReferenceExpression:myField : java.lang.Class<java.lang.Integer> +PsiReferenceExpression:myField : java.lang.Class<java.lang.Integer> +PsiReferenceExpression:myField : java.lang.Class<java.lang.Integer> +PsiReferenceExpression:myField : java.lang.Class<java.lang.Integer> + +Conversions: + +New expression type changes: +Fails: +Set.class->java.lang.Class<java.lang.Integer> +Set[].class->java.lang.Class<java.lang.Integer> +int[].class->java.lang.Class<java.lang.Integer> +void.class->java.lang.Class<java.lang.Integer> diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitive/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitive/after/Expr.java new file mode 100644 index 000000000000..44edef75bfe4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitive/after/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Class<Integer> myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitive/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitive/before/Expr.java new file mode 100644 index 000000000000..35a3d63f8dea --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitive/before/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Object myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitiveArray/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitiveArray/after/Expr.items new file mode 100644 index 000000000000..cd609774cf24 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitiveArray/after/Expr.items @@ -0,0 +1,16 @@ +Types: +PsiField:myField : java.lang.Class<int[]> +PsiReferenceExpression:myField : java.lang.Class<int[]> +PsiReferenceExpression:myField : java.lang.Class<int[]> +PsiReferenceExpression:myField : java.lang.Class<int[]> +PsiReferenceExpression:myField : java.lang.Class<int[]> +PsiReferenceExpression:myField : java.lang.Class<int[]> + +Conversions: + +New expression type changes: +Fails: +Set.class->java.lang.Class<int[]> +Set[].class->java.lang.Class<int[]> +int.class->java.lang.Class<int[]> +void.class->java.lang.Class<int[]> diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitiveArray/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitiveArray/after/Expr.java new file mode 100644 index 000000000000..9939d2f3d410 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitiveArray/after/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Class<int[]> myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitiveArray/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitiveArray/before/Expr.java new file mode 100644 index 000000000000..35a3d63f8dea --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassPrimitiveArray/before/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Object myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassRaw/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassRaw/after/Expr.items new file mode 100644 index 000000000000..0bda2fd18195 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassRaw/after/Expr.items @@ -0,0 +1,17 @@ +Types: +PsiField:myField : java.lang.Class +PsiReferenceExpression:myField : java.lang.Class +PsiReferenceExpression:myField : java.lang.Class +PsiReferenceExpression:myField : java.lang.Class +PsiReferenceExpression:myField : java.lang.Class +PsiReferenceExpression:myField : java.lang.Class + +Conversions: +Set.class -> $ +Set[].class -> $ +int.class -> $ +int[].class -> $ +void.class -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassRaw/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassRaw/after/Expr.java new file mode 100644 index 000000000000..9edcf9d47a31 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassRaw/after/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Class myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassRaw/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassRaw/before/Expr.java new file mode 100644 index 000000000000..35a3d63f8dea --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassRaw/before/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Object myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReference/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReference/after/Expr.items new file mode 100644 index 000000000000..ee8fece53e89 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReference/after/Expr.items @@ -0,0 +1,16 @@ +Types: +PsiField:myField : java.lang.Class<java.util.Set> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set> + +Conversions: + +New expression type changes: +Fails: +Set[].class->java.lang.Class<java.util.Set> +int.class->java.lang.Class<java.util.Set> +int[].class->java.lang.Class<java.util.Set> +void.class->java.lang.Class<java.util.Set> diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReference/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReference/after/Expr.java new file mode 100644 index 000000000000..45fd995735ae --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReference/after/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Class<Set> myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReference/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReference/before/Expr.java new file mode 100644 index 000000000000..35a3d63f8dea --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReference/before/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Object myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReferenceArray/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReferenceArray/after/Expr.items new file mode 100644 index 000000000000..26be6c5d8e6f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReferenceArray/after/Expr.items @@ -0,0 +1,16 @@ +Types: +PsiField:myField : java.lang.Class<java.util.Set[]> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set[]> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set[]> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set[]> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set[]> +PsiReferenceExpression:myField : java.lang.Class<java.util.Set[]> + +Conversions: + +New expression type changes: +Fails: +Set.class->java.lang.Class<java.util.Set[]> +int.class->java.lang.Class<java.util.Set[]> +int[].class->java.lang.Class<java.util.Set[]> +void.class->java.lang.Class<java.util.Set[]> diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReferenceArray/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReferenceArray/after/Expr.java new file mode 100644 index 000000000000..46b110d7f75f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReferenceArray/after/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Class<Set[]> myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReferenceArray/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReferenceArray/before/Expr.java new file mode 100644 index 000000000000..35a3d63f8dea --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassReferenceArray/before/Expr.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Expr { + private Object myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassSuper/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassSuper/after/Expr.items new file mode 100644 index 000000000000..61336d444497 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassSuper/after/Expr.items @@ -0,0 +1,17 @@ +Types: +PsiField:myField : java.lang.Class<? super java.util.AbstractSet[]> +PsiReferenceExpression:myField : java.lang.Class<? super java.util.AbstractSet[]> +PsiReferenceExpression:myField : java.lang.Class<? super java.util.AbstractSet[]> +PsiReferenceExpression:myField : java.lang.Class<? super java.util.AbstractSet[]> +PsiReferenceExpression:myField : java.lang.Class<? super java.util.AbstractSet[]> +PsiReferenceExpression:myField : java.lang.Class<? super java.util.AbstractSet[]> + +Conversions: +Set[].class -> $ + +New expression type changes: +Fails: +Set.class->java.lang.Class<? super java.util.AbstractSet[]> +int.class->java.lang.Class<? super java.util.AbstractSet[]> +int[].class->java.lang.Class<? super java.util.AbstractSet[]> +void.class->java.lang.Class<? super java.util.AbstractSet[]> diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassSuper/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassSuper/after/Expr.java new file mode 100644 index 000000000000..3ae94c8c1228 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassSuper/after/Expr.java @@ -0,0 +1,13 @@ +import java.util.AbstractSet; +import java.util.Set; + +class Expr { + private Class<? super AbstractSet[]> myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassSuper/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassSuper/before/Expr.java new file mode 100644 index 000000000000..1e5b26a44e4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralClassSuper/before/Expr.java @@ -0,0 +1,13 @@ +import java.util.AbstractSet; +import java.util.Set; + +class Expr { + private Object myField; + public void meth() { + myField = int.class; + myField = int[].class; + myField = Set.class; + myField = Set[].class; + myField = void.class; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralDouble/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralDouble/after/Expr.items new file mode 100644 index 000000000000..eb7229ef905e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralDouble/after/Expr.items @@ -0,0 +1,36 @@ +Types: +PsiField:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double +PsiReferenceExpression:myField : double + +Conversions: +'#' -> $ +043 -> $ +043F -> $ +043L -> $ +0x23 -> $ +0x23F -> $ +0x23L -> $ +35 -> $ +35F -> $ +35L -> $ + +New expression type changes: +Fails: +"#"->double +false->double +null->double +true->double diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralDouble/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralDouble/after/Expr.java new file mode 100644 index 000000000000..a1fafc25fe6e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralDouble/after/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private double myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralDouble/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralDouble/before/Expr.java new file mode 100644 index 000000000000..05b89dc47d4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralDouble/before/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private Object myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralFloat/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralFloat/after/Expr.items new file mode 100644 index 000000000000..dcf1562d69b7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralFloat/after/Expr.items @@ -0,0 +1,35 @@ +Types: +PsiField:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float + +Conversions: +'#' -> $ +043 -> $ +043L -> $ +0x23 -> $ +0x23F -> $ +0x23L -> $ +35 -> $ +35L -> $ + +New expression type changes: +Fails: +"#"->float +35.0->float +false->float +null->float +true->float diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralFloat/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralFloat/after/Expr.java new file mode 100644 index 000000000000..8210b283c426 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralFloat/after/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private float myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralFloat/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralFloat/before/Expr.java new file mode 100644 index 000000000000..05b89dc47d4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralFloat/before/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private Object myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralInt/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralInt/after/Expr.items new file mode 100644 index 000000000000..6969f1efd214 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralInt/after/Expr.items @@ -0,0 +1,33 @@ +Types: +PsiField:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int + +Conversions: +'#' -> $ + +New expression type changes: +Fails: +"#"->int +043F->int +043L->int +0x23L->int +35.0->int +35F->int +35L->int +false->int +null->int +true->int diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralInt/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralInt/after/Expr.java new file mode 100644 index 000000000000..51bce6ac6430 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralInt/after/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private int myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralInt/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralInt/before/Expr.java new file mode 100644 index 000000000000..05b89dc47d4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralInt/before/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private Object myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralLong/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralLong/after/Expr.items new file mode 100644 index 000000000000..71718fa25bb1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralLong/after/Expr.items @@ -0,0 +1,34 @@ +Types: +PsiField:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long + +Conversions: +'#' -> $ +043 -> $ +0x23 -> $ +0x23F -> $ +35 -> $ + +New expression type changes: +Fails: +"#"->long +043F->long +35.0->long +35F->long +false->long +null->long +true->long diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralLong/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralLong/after/Expr.java new file mode 100644 index 000000000000..1556e9f05ffb --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralLong/after/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private long myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralLong/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralLong/before/Expr.java new file mode 100644 index 000000000000..05b89dc47d4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralLong/before/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private Object myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralShort/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralShort/after/Expr.items new file mode 100644 index 000000000000..f282b956c933 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralShort/after/Expr.items @@ -0,0 +1,37 @@ +Types: +PsiField:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short + +Conversions: + +New expression type changes: +Fails: +"#"->short +'#'->short +043->short +043F->short +043L->short +0x23->short +0x23F->short +0x23L->short +35->short +35.0->short +35F->short +35L->short +false->short +null->short +true->short diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralShort/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralShort/after/Expr.java new file mode 100644 index 000000000000..39b549b335bb --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralShort/after/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private short myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralShort/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralShort/before/Expr.java new file mode 100644 index 000000000000..05b89dc47d4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralShort/before/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private Object myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralString/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralString/after/Expr.items new file mode 100644 index 000000000000..6bb1edafdfa8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralString/after/Expr.items @@ -0,0 +1,35 @@ +Types: +PsiField:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String +PsiReferenceExpression:myField : java.lang.String + +Conversions: + +New expression type changes: +Fails: +'#'->java.lang.String +043->java.lang.String +043F->java.lang.String +043L->java.lang.String +0x23->java.lang.String +0x23F->java.lang.String +0x23L->java.lang.String +35->java.lang.String +35.0->java.lang.String +35F->java.lang.String +35L->java.lang.String +false->java.lang.String +true->java.lang.String diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralString/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralString/after/Expr.java new file mode 100644 index 000000000000..3adc44418ad4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralString/after/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private String myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralString/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralString/before/Expr.java new file mode 100644 index 000000000000..05b89dc47d4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprLiteralString/before/Expr.java @@ -0,0 +1,27 @@ +class Expr { + private Object myField; + public void meth() { + myField = null; + + myField = false; + myField = true; + + myField = 043; + myField = 35; + myField = 0x23; + + myField = '#'; + + myField = 043L; + myField = 35L; + myField = 0x23L; + + myField = 043F; + myField = 35F; + myField = 0x23F; + + myField = 35.0; + + myField = "#"; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Lvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Lvalue/after/Expr.items new file mode 100644 index 000000000000..444531918ce0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Lvalue/after/Expr.items @@ -0,0 +1,22 @@ +Types: +PsiArrayInitializerExpression:{pfc} : FaceParent[][] +PsiArrayInitializerExpression:{pfc} : FaceParent[][] +PsiArrayInitializerExpression:{{pfc}} : FaceParent[][][] +PsiField:myArrayOne : FaceParent[][] +PsiField:myArrayTwo : FaceParent[][][] +PsiNewExpression:new FaceChild[][][]{{pfc}} : FaceParent[][][] +PsiNewExpression:new FaceChild[][]{pfc} : FaceParent[][] +PsiParameter:pfc : FaceParent[] +PsiReferenceExpression:myArrayOne : FaceParent[][] +PsiReferenceExpression:myArrayTwo : FaceParent[][][] +PsiReferenceExpression:pfc : FaceParent[] +PsiReferenceExpression:pfc : FaceParent[] + +Conversions: +pfc -> $ +pfc -> $ + +New expression type changes: +new FaceChild[][][]{{pfc}} -> FaceParent[][][] +new FaceChild[][]{pfc} -> FaceParent[][] +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Lvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Lvalue/after/Expr.java new file mode 100644 index 000000000000..570367998bd1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Lvalue/after/Expr.java @@ -0,0 +1,11 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} + +class Expr { + private FaceParent[][] myArrayOne; + private FaceParent[][][] myArrayTwo; + public void meth(FaceParent[] pfc) { + myArrayOne = new FaceParent[][]{pfc}; + myArrayTwo = new FaceParent[][][]{{pfc}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Lvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Lvalue/before/Expr.java new file mode 100644 index 000000000000..d88808766d7d --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Lvalue/before/Expr.java @@ -0,0 +1,11 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} + +class Expr { + private FaceChild[][] myArrayOne; + private FaceChild[][][] myArrayTwo; + public void meth(FaceChild[] pfc) { + myArrayOne = new FaceChild[][]{pfc}; + myArrayTwo = new FaceChild[][][]{{pfc}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Rvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Rvalue/after/Expr.items new file mode 100644 index 000000000000..4b4b9036abb0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Rvalue/after/Expr.items @@ -0,0 +1,14 @@ +Types: +PsiArrayInitializerExpression:{null} : ClassParent[][] +PsiArrayInitializerExpression:{pfc} : ClassParent[][] +PsiField:myField : ClassParent[][][] +PsiNewExpression:new FaceChild[][][]{{pfc}, {null}, null} : ClassParent[][][] +PsiParameter:pfc : ClassParent[] +PsiReferenceExpression:myField : ClassParent[][][] +PsiReferenceExpression:pfc : ClassParent[] + +Conversions: + +New expression type changes: +new FaceChild[][][]{{pfc}, {null}, null} -> ClassParent[][][] +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Rvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Rvalue/after/Expr.java new file mode 100644 index 000000000000..fc54bb6ca9d6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Rvalue/after/Expr.java @@ -0,0 +1,11 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Expr { + private ClassParent[][][] myField; + public void meth(ClassParent[] pfc) { + myField = new ClassParent[][][]{{pfc}, {null}, null}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Rvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Rvalue/before/Expr.java new file mode 100644 index 000000000000..8c4093e44d75 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayArray2Rvalue/before/Expr.java @@ -0,0 +1,11 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Expr { + private FaceChild[][][] myField; + public void meth(FaceChild[] pfc) { + myField = new FaceChild[][][]{{pfc}, {null}, null}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayGen2Rvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayGen2Rvalue/after/Expr.items new file mode 100644 index 000000000000..825ef4f10f19 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayGen2Rvalue/after/Expr.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : java.util.Set<java.lang.Integer>[] +PsiReferenceExpression:myField : java.util.Set<java.lang.Integer>[] + +Conversions: + +New expression type changes: +Fails: +new Set[1]->java.util.Set<java.lang.Integer>[] diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayGen2Rvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayGen2Rvalue/after/Expr.java new file mode 100644 index 000000000000..5083896eb293 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayGen2Rvalue/after/Expr.java @@ -0,0 +1,8 @@ +import java.util.Set; + +class Expr { + private Set<Integer>[] myField; + public void meth() { + myField = new Set[1]; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayGen2Rvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayGen2Rvalue/before/Expr.java new file mode 100644 index 000000000000..c2301a434ec9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayGen2Rvalue/before/Expr.java @@ -0,0 +1,8 @@ +import java.util.Set; + +class Expr { + private Set[] myField; + public void meth() { + myField = new Set[1]; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Lvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Lvalue/after/Expr.items new file mode 100644 index 000000000000..d5976f11c486 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Lvalue/after/Expr.items @@ -0,0 +1,25 @@ +Types: +PsiArrayInitializerExpression:{!p} : int[] +PsiArrayInitializerExpression:{p} : int[] +PsiArrayInitializerExpression:{p} : int[] +PsiArrayInitializerExpression:{{p}, {!p}} : int[][] +PsiField:myArrayOne : int[] +PsiField:myArrayTwo : int[][] +PsiNewExpression:new boolean[][]{{p}, {!p}} : int[][] +PsiNewExpression:new boolean[]{p} : int[] +PsiParameter:p : int +PsiReferenceExpression:myArrayOne : int[] +PsiReferenceExpression:myArrayTwo : int[][] +PsiReferenceExpression:p : int +PsiReferenceExpression:p : int +PsiReferenceExpression:p : int + +Conversions: +p -> $ +p -> $ + +New expression type changes: +new boolean[][]{{p}, {!p}} -> int[][] +new boolean[]{p} -> int[] +Fails: +!p->int diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Lvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Lvalue/after/Expr.java new file mode 100644 index 000000000000..0c6c31bf4929 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Lvalue/after/Expr.java @@ -0,0 +1,8 @@ +class Expr { + private int[] myArrayOne; + private int[][] myArrayTwo; + public void meth(int p) { + myArrayOne = new int[]{p}; + myArrayTwo = new int[][]{{p}, {!p}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Lvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Lvalue/before/Expr.java new file mode 100644 index 000000000000..e7724ca422f4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Lvalue/before/Expr.java @@ -0,0 +1,8 @@ +class Expr { + private boolean[] myArrayOne; + private boolean[][] myArrayTwo; + public void meth(boolean p) { + myArrayOne = new boolean[]{p}; + myArrayTwo = new boolean[][]{{p}, {!p}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Rvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Rvalue/after/Expr.items new file mode 100644 index 000000000000..5f371c0c6430 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Rvalue/after/Expr.items @@ -0,0 +1,21 @@ +Types: +PsiArrayInitializerExpression:{!p} : int[] +PsiArrayInitializerExpression:{0} : int[] +PsiArrayInitializerExpression:{p} : int[] +PsiArrayInitializerExpression:{true} : int[] +PsiArrayInitializerExpression:{{p}, {!p}, {true}, {0}} : int[][] +PsiField:myField : int[][] +PsiNewExpression:new boolean[][]{{p}, {!p}, {true}, {0}} : int[][] +PsiParameter:p : int +PsiReferenceExpression:myField : int[][] +PsiReferenceExpression:p : int +PsiReferenceExpression:p : int + +Conversions: +p -> $ + +New expression type changes: +new boolean[][]{{p}, {!p}, {true}, {0}} -> int[][] +Fails: +!p->int +true->int diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Rvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Rvalue/after/Expr.java new file mode 100644 index 000000000000..58017644820c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Rvalue/after/Expr.java @@ -0,0 +1,6 @@ +class Expr { + private int[][] myField; + public void meth(int p) { + myField = new int[][]{{p}, {!p}, {true}, {0}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Rvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Rvalue/before/Expr.java new file mode 100644 index 000000000000..cb1e0d64aa4b --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayPrimitive2Rvalue/before/Expr.java @@ -0,0 +1,6 @@ +class Expr { + private boolean[][] myField; + public void meth(boolean p) { + myField = new boolean[][]{{p}, {!p}, {true}, {0}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Lvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Lvalue/after/Expr.items new file mode 100644 index 000000000000..a1472a46da67 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Lvalue/after/Expr.items @@ -0,0 +1,34 @@ +Types: +PsiArrayInitializerExpression:{pcc} : FaceParent[] +PsiArrayInitializerExpression:{pcp} : FaceParent[] +PsiArrayInitializerExpression:{pfc, pcp, pcc} : FaceParent[] +PsiArrayInitializerExpression:{pfc} : FaceParent[] +PsiArrayInitializerExpression:{{pfc}, {pcp}, {pcc}} : FaceParent[][] +PsiField:myArrayOne : FaceParent[] +PsiField:myArrayTwo : FaceParent[][] +PsiNewExpression:new FaceChild[][]{{pfc}, {pcp}, {pcc}} : FaceParent[][] +PsiNewExpression:new FaceChild[]{pfc, pcp, pcc} : FaceParent[] +PsiParameter:pcc : ClassChild +PsiParameter:pcp : ClassParent +PsiParameter:pfc : FaceParent +PsiReferenceExpression:myArrayOne : FaceParent[] +PsiReferenceExpression:myArrayTwo : FaceParent[][] +PsiReferenceExpression:pcc : ClassChild +PsiReferenceExpression:pcc : ClassChild +PsiReferenceExpression:pcp : ClassParent +PsiReferenceExpression:pcp : ClassParent +PsiReferenceExpression:pfc : FaceParent +PsiReferenceExpression:pfc : FaceParent + +Conversions: +pcc -> $ +pcc -> $ +pcp -> $ +pcp -> $ +pfc -> $ +pfc -> $ + +New expression type changes: +new FaceChild[][]{{pfc}, {pcp}, {pcc}} -> FaceParent[][] +new FaceChild[]{pfc, pcp, pcc} -> FaceParent[] +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Lvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Lvalue/after/Expr.java new file mode 100644 index 000000000000..bfae5390508e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Lvalue/after/Expr.java @@ -0,0 +1,13 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Expr { + private FaceParent[] myArrayOne; + private FaceParent[][] myArrayTwo; + public void meth(FaceParent pfc, ClassParent pcp, ClassChild pcc) { + myArrayOne = new FaceParent[]{pfc, pcp, pcc}; + myArrayTwo = new FaceParent[][]{{pfc}, {pcp}, {pcc}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Lvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Lvalue/before/Expr.java new file mode 100644 index 000000000000..5cb70f7265f7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Lvalue/before/Expr.java @@ -0,0 +1,13 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Expr { + private FaceChild[] myArrayOne; + private FaceChild[][] myArrayTwo; + public void meth(FaceChild pfc, ClassParent pcp, ClassChild pcc) { + myArrayOne = new FaceChild[]{pfc, pcp, pcc}; + myArrayTwo = new FaceChild[][]{{pfc}, {pcp}, {pcc}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Rvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Rvalue/after/Expr.items new file mode 100644 index 000000000000..4dabd7d9161e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Rvalue/after/Expr.items @@ -0,0 +1,18 @@ +Types: +PsiArrayInitializerExpression:{null} : ClassParent[] +PsiArrayInitializerExpression:{pcc} : ClassParent[] +PsiArrayInitializerExpression:{pcp} : ClassParent[] +PsiArrayInitializerExpression:{pfc} : ClassParent[] +PsiField:myField : ClassParent[][] +PsiNewExpression:new FaceChild[][]{{pfc}, {pcp}, {pcc}, {null}} : ClassParent[][] +PsiParameter:pcc : ClassChild +PsiParameter:pfc : ClassParent +PsiReferenceExpression:myField : ClassParent[][] +PsiReferenceExpression:pcc : ClassChild +PsiReferenceExpression:pfc : ClassParent + +Conversions: + +New expression type changes: +new FaceChild[][]{{pfc}, {pcp}, {pcc}, {null}} -> ClassParent[][] +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Rvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Rvalue/after/Expr.java new file mode 100644 index 000000000000..f2d53b50f272 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Rvalue/after/Expr.java @@ -0,0 +1,11 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Expr { + private ClassParent[][] myField; + public void meth(ClassParent pfc, ClassParent pcp, ClassChild pcc) { + myField = new ClassParent[][]{{pfc}, {pcp}, {pcc}, {null}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Rvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Rvalue/before/Expr.java new file mode 100644 index 000000000000..9e973b7925a0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewArrayReftype2Rvalue/before/Expr.java @@ -0,0 +1,11 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Expr { + private FaceChild[][] myField; + public void meth(FaceChild pfc, ClassParent pcp, ClassChild pcc) { + myField = new FaceChild[][]{{pfc}, {pcp}, {pcc}, {null}}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGen/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGen/after/Expr.items new file mode 100644 index 000000000000..d19a8ab094b7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGen/after/Expr.items @@ -0,0 +1,17 @@ +Types: +PsiField:myField : java.util.Set<Subject> +PsiNewExpression:new Set() : java.util.Set +PsiNewExpression:new Set<Ancestor>() : java.util.Set<Subject> +PsiNewExpression:new Set<Descendant>() : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> + +Conversions: + +New expression type changes: +new Set() -> java.util.Set +new Set<Ancestor>() -> java.util.Set<Subject> +new Set<Descendant>() -> java.util.Set<Subject> +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGen/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGen/after/Expr.java new file mode 100644 index 000000000000..aab73939b929 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGen/after/Expr.java @@ -0,0 +1,15 @@ +import java.util.Set; + +class Ancestor {} +class Subject extends Ancestor {} +class Descendant extends Subject {} + +class Expr { + private Set<Subject> myField; + public void meth() { + myField = new Set(); + myField = new Set<Subject>(); + myField = new Set<Subject>(); + myField = new Set<Subject>(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGen/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGen/before/Expr.java new file mode 100644 index 000000000000..e38d8aa7229f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGen/before/Expr.java @@ -0,0 +1,15 @@ +import java.util.Set; + +class Ancestor {} +class Subject extends Ancestor {} +class Descendant extends Subject {} + +class Expr { + private Object myField; + public void meth() { + myField = new Set(); + myField = new Set<Ancestor>(); + myField = new Set<Subject>(); + myField = new Set<Descendant>(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenExtends/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenExtends/after/Expr.items new file mode 100644 index 000000000000..9003258e73a5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenExtends/after/Expr.items @@ -0,0 +1,16 @@ +Types: +PsiField:myField : java.util.Set<? extends Subject> +PsiNewExpression:new Set() : java.util.Set +PsiNewExpression:new Set<Ancestor>() : java.util.Set<Subject> +PsiNewExpression:new Set<Subject>() : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<? extends Subject> +PsiReferenceExpression:myField : java.util.Set<? extends Subject> +PsiReferenceExpression:myField : java.util.Set<? extends Subject> + +Conversions: + +New expression type changes: +new Set() -> java.util.Set +new Set<Ancestor>() -> java.util.Set<Subject> +new Set<Subject>() -> java.util.Set<Subject> +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenExtends/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenExtends/after/Expr.java new file mode 100644 index 000000000000..f939534d6972 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenExtends/after/Expr.java @@ -0,0 +1,15 @@ +import java.util.Set; + +class Ancestor {} +class Subject extends Ancestor {} +class Descendant extends Subject {} + +class Expr { + private Set<? extends Subject> myField; + public void meth() { + myField = new Set(); + myField = new Set<Subject>(); + myField = new Set<Subject>(); + // myField = new Set<Descendant>(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenExtends/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenExtends/before/Expr.java new file mode 100644 index 000000000000..e65ce8b9a8fc --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenExtends/before/Expr.java @@ -0,0 +1,15 @@ +import java.util.Set; + +class Ancestor {} +class Subject extends Ancestor {} +class Descendant extends Subject {} + +class Expr { + private Object myField; + public void meth() { + myField = new Set(); + myField = new Set<Ancestor>(); + myField = new Set<Subject>(); + // myField = new Set<Descendant>(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenSuper/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenSuper/after/Expr.items new file mode 100644 index 000000000000..ca323d833a2c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenSuper/after/Expr.items @@ -0,0 +1,10 @@ +Types: +PsiField:myField : java.util.Set<? super Subject> +PsiNewExpression:new Set() : java.util.Set +PsiReferenceExpression:myField : java.util.Set<? super Subject> + +Conversions: + +New expression type changes: +new Set() -> java.util.Set +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenSuper/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenSuper/after/Expr.java new file mode 100644 index 000000000000..4f5a29eecc6c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenSuper/after/Expr.java @@ -0,0 +1,15 @@ +import java.util.Set; + +class Ancestor {} +class Subject extends Ancestor {} +class Descendant extends Subject {} + +class Expr { + private Set<? super Subject> myField; + public void meth() { + myField = new Set(); + // myField = new Set<Ancestor>(); + // myField = new Set<Subject>(); + // myField = new Set<Descendant>(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenSuper/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenSuper/before/Expr.java new file mode 100644 index 000000000000..73a22ebeccde --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewGenSuper/before/Expr.java @@ -0,0 +1,15 @@ +import java.util.Set; + +class Ancestor {} +class Subject extends Ancestor {} +class Descendant extends Subject {} + +class Expr { + private Object myField; + public void meth() { + myField = new Set(); + // myField = new Set<Ancestor>(); + // myField = new Set<Subject>(); + // myField = new Set<Descendant>(); + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewReference/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewReference/after/Expr.items new file mode 100644 index 000000000000..cab7f8173076 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewReference/after/Expr.items @@ -0,0 +1,27 @@ +Types: +PsiField:myField : Expr.Subject +PsiNewExpression:new Descendant() : Expr.Descendant +PsiNewExpression:new Descendant() {} : Expr.Descendant +PsiNewExpression:new Subject() {} : Expr.Subject +PsiNewExpression:this.new Descendant() : Expr.Descendant +PsiReferenceExpression:myField : Expr.Subject +PsiReferenceExpression:myField : Expr.Subject +PsiReferenceExpression:myField : Expr.Subject +PsiReferenceExpression:myField : Expr.Subject +PsiReferenceExpression:myField : Expr.Subject +PsiReferenceExpression:myField : Expr.Subject +PsiReferenceExpression:myField : Expr.Subject +PsiReferenceExpression:myField : Expr.Subject +PsiReferenceExpression:myField : Expr.Subject + +Conversions: + +New expression type changes: +new Descendant() -> Expr.Descendant +new Descendant() {} -> Expr.Descendant +new Subject() {} -> Expr.Subject +this.new Descendant() -> Expr.Descendant +Fails: +new Ancestor()->Expr.Subject +new Ancestor() {}->Expr.Subject +this.new Ancestor()->Expr.Subject diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewReference/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewReference/after/Expr.java new file mode 100644 index 000000000000..5cc9c87ec7e4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewReference/after/Expr.java @@ -0,0 +1,21 @@ +class Expr { + private class Ancestor {} + private class Subject extends Ancestor {} + private class Descendant extends Subject {} + + private Subject myField; + + public void meth() { + myField = new Ancestor(); + myField = this.new Ancestor(); + myField = new Ancestor() {}; + + myField = new Subject(); + myField = this.new Subject(); + myField = new Subject() {}; + + myField = new Descendant(); + myField = this.new Descendant(); + myField = new Descendant() {}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewReference/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewReference/before/Expr.java new file mode 100644 index 000000000000..ed03e4ddc1d3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprNewReference/before/Expr.java @@ -0,0 +1,21 @@ +class Expr { + private class Ancestor {} + private class Subject extends Ancestor {} + private class Descendant extends Subject {} + + private Ancestor myField; + + public void meth() { + myField = new Ancestor(); + myField = this.new Ancestor(); + myField = new Ancestor() {}; + + myField = new Subject(); + myField = this.new Subject(); + myField = new Subject() {}; + + myField = new Descendant(); + myField = this.new Descendant(); + myField = new Descendant() {}; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Lvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Lvalue/after/Expr.items new file mode 100644 index 000000000000..e91631f5c332 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Lvalue/after/Expr.items @@ -0,0 +1,9 @@ +Types: +PsiMethod:meth : java.lang.String +PsiParameter:p : java.lang.String +PsiReferenceExpression:p : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Lvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Lvalue/after/Expr.java new file mode 100644 index 000000000000..37c310d405e3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Lvalue/after/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public String meth(String p) { + return p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Lvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Lvalue/before/Expr.java new file mode 100644 index 000000000000..76e26b5c15bb --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Lvalue/before/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public int meth(int p) { + return p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Rvalue/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Rvalue/after/Expr.items new file mode 100644 index 000000000000..e91631f5c332 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Rvalue/after/Expr.items @@ -0,0 +1,9 @@ +Types: +PsiMethod:meth : java.lang.String +PsiParameter:p : java.lang.String +PsiReferenceExpression:p : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Rvalue/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Rvalue/after/Expr.java new file mode 100644 index 000000000000..37c310d405e3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Rvalue/after/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public String meth(String p) { + return p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Rvalue/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Rvalue/before/Expr.java new file mode 100644 index 000000000000..76e26b5c15bb --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprReturn2Rvalue/before/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public int meth(int p) { + return p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprTernary/after/Expr.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprTernary/after/Expr.items new file mode 100644 index 000000000000..6e445ca2c431 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprTernary/after/Expr.items @@ -0,0 +1,10 @@ +Types: +PsiLocalVariable:v : java.lang.String +PsiParameter:pd : java.lang.String +PsiReferenceExpression:pd : java.lang.String +PsiReferenceExpression:pd : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprTernary/after/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprTernary/after/Expr.java new file mode 100644 index 000000000000..1e75f910f300 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprTernary/after/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public void meth(String pd, int pp) { + String v = pp > 0 ? pd : pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/exprTernary/before/Expr.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprTernary/before/Expr.java new file mode 100644 index 000000000000..3a714e5334a4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/exprTernary/before/Expr.java @@ -0,0 +1,5 @@ +class Expr { + public void meth(double pd, int pp) { + double v = pp > 0 ? pd : pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingDown/after/Overriding.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingDown/after/Overriding.java new file mode 100644 index 000000000000..9fb5b2161ba1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingDown/after/Overriding.java @@ -0,0 +1,13 @@ +class Parent { + private byte myInt; + public byte getInt() { + return myInt; + } +} + +class Child extends Parent { + private byte myInt; + public byte getInt() { + return myInt; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingDown/after/Parent.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingDown/after/Parent.items new file mode 100644 index 000000000000..0857363a2808 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingDown/after/Parent.items @@ -0,0 +1,12 @@ +Types: +PsiField:myInt : byte +PsiField:myInt : byte +PsiMethod:getInt : byte +PsiMethod:getInt : byte +PsiReferenceExpression:myInt : byte +PsiReferenceExpression:myInt : byte + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingDown/before/Overriding.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingDown/before/Overriding.java new file mode 100644 index 000000000000..212ce8080636 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingDown/before/Overriding.java @@ -0,0 +1,13 @@ +class Parent { + private int myInt; + public int getInt() { + return myInt; + } +} + +class Child extends Parent { + private int myInt; + public int getInt() { + return myInt; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingUp/after/Child.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingUp/after/Child.items new file mode 100644 index 000000000000..0857363a2808 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingUp/after/Child.items @@ -0,0 +1,12 @@ +Types: +PsiField:myInt : byte +PsiField:myInt : byte +PsiMethod:getInt : byte +PsiMethod:getInt : byte +PsiReferenceExpression:myInt : byte +PsiReferenceExpression:myInt : byte + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingUp/after/Overriding.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingUp/after/Overriding.java new file mode 100644 index 000000000000..9fb5b2161ba1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingUp/after/Overriding.java @@ -0,0 +1,13 @@ +class Parent { + private byte myInt; + public byte getInt() { + return myInt; + } +} + +class Child extends Parent { + private byte myInt; + public byte getInt() { + return myInt; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingUp/before/Overriding.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingUp/before/Overriding.java new file mode 100644 index 000000000000..212ce8080636 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/overridingUp/before/Overriding.java @@ -0,0 +1,13 @@ +class Parent { + private int myInt; + public int getInt() { + return myInt; + } +} + +class Child extends Parent { + private int myInt; + public int getInt() { + return myInt; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/specJavadoc/after/Spec.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/specJavadoc/after/Spec.items new file mode 100644 index 000000000000..4428712f4683 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/specJavadoc/after/Spec.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:p : java.util.Set + +Conversions: +#meth(double) -> PsiMethod:meth + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/specJavadoc/after/Spec.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/specJavadoc/after/Spec.java new file mode 100644 index 000000000000..b6c748c1e749 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/specJavadoc/after/Spec.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Spec { + /** + * @see #meth(java.util.Set) + */ + public void methRef() { + } + + public void meth(Set p) { + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/specJavadoc/before/Spec.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/specJavadoc/before/Spec.java new file mode 100644 index 000000000000..45080dc2dec1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/specJavadoc/before/Spec.java @@ -0,0 +1,12 @@ +import java.util.Set; + +class Spec { + /** + * @see #meth(double) + */ + public void methRef() { + } + + public void meth(double p) { + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/specNotUsed/after/Spec.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/specNotUsed/after/Spec.items new file mode 100644 index 000000000000..8ffc5c9a6744 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/specNotUsed/after/Spec.items @@ -0,0 +1,7 @@ +Types: +PsiField:myField : boolean + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/specNotUsed/after/Spec.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/specNotUsed/after/Spec.java new file mode 100644 index 000000000000..03d0dc267246 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/specNotUsed/after/Spec.java @@ -0,0 +1,3 @@ +class Spec { + private boolean myField; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/specNotUsed/before/Spec.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/specNotUsed/before/Spec.java new file mode 100644 index 000000000000..36a606c54faa --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/specNotUsed/before/Spec.java @@ -0,0 +1,3 @@ +class Spec { + private int myField; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Lvalue/after/Type.items new file mode 100644 index 000000000000..e56da57e1062 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Lvalue/after/Type.items @@ -0,0 +1,13 @@ +Types: +PsiField:myDescendants : Subject[] +PsiParameter:p : Subject[] +PsiReferenceExpression:myDescendants : Subject[] +PsiReferenceExpression:p : Subject[] +PsiReferenceExpression:p : Subject[] +PsiReferenceExpression:p : Subject[] + +Conversions: +myAncestors -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Lvalue/after/Type.java new file mode 100644 index 000000000000..5b667afd7284 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Lvalue/after/Type.java @@ -0,0 +1,15 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Ancestor[] myAncestors; + private Subject[] mySubjects; + private Subject[] myDescendants; + + public void meth(Subject[] p) { + myAncestors = p; + mySubjects = p; + myDescendants = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Lvalue/before/Type.java new file mode 100644 index 000000000000..6c0ad8e907ae --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Lvalue/before/Type.java @@ -0,0 +1,15 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Ancestor[] myAncestors; + private Subject[] mySubjects; + private Descendant[] myDescendants; + + public void meth(Descendant[] p) { + myAncestors = p; + mySubjects = p; + myDescendants = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Rvalue/after/Type.items new file mode 100644 index 000000000000..aa0545cd97f1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Rvalue/after/Type.items @@ -0,0 +1,13 @@ +Types: +PsiField:myField : Subject[][] +PsiParameter:pa : Subject[][] +PsiReferenceExpression:myField : Subject[][] +PsiReferenceExpression:myField : Subject[][] +PsiReferenceExpression:myField : Subject[][] +PsiReferenceExpression:pa : Subject[][] + +Conversions: +pd -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Rvalue/after/Type.java new file mode 100644 index 000000000000..1dc9d19b69d7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Rvalue/after/Type.java @@ -0,0 +1,12 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Subject[][] myField; + public void meth(Subject[][] pa, Subject[][] ps, Descendant[][] pd) { + myField = pa; + myField = ps; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Rvalue/before/Type.java new file mode 100644 index 000000000000..b84f5fada9b6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayReftype2Rvalue/before/Type.java @@ -0,0 +1,12 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Ancestor[][] myField; + public void meth(Ancestor[][] pa, Subject[][] ps, Descendant[][] pd) { + myField = pa; + myField = ps; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayRoots2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayRoots2Lvalue/after/Type.items new file mode 100644 index 000000000000..bfcf79449245 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayRoots2Lvalue/after/Type.items @@ -0,0 +1,16 @@ +Types: +PsiField:myHolder : Holder[] +PsiParameter:p : Holder[] +PsiReferenceExpression:myHolder : Holder[] +PsiReferenceExpression:p : Holder[] +PsiReferenceExpression:p : Holder[] +PsiReferenceExpression:p : Holder[] +PsiReferenceExpression:p : Holder[] + +Conversions: +myCloneable -> $ +myObject -> $ +mySerializable -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayRoots2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayRoots2Lvalue/after/Type.java new file mode 100644 index 000000000000..ea67626d3e12 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayRoots2Lvalue/after/Type.java @@ -0,0 +1,15 @@ +class Holder implements Cloneable, java.io.Serializable {} + +class Type { + private Object myObject; + private Cloneable myCloneable; + private java.io.Serializable mySerializable; + private Holder[] myHolder; + + public void meth(Holder[] p) { + myObject = p; + myCloneable = p; + mySerializable = p; + myHolder = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayRoots2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayRoots2Lvalue/before/Type.java new file mode 100644 index 000000000000..41bb17f7fec2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayRoots2Lvalue/before/Type.java @@ -0,0 +1,15 @@ +class Holder implements Cloneable, java.io.Serializable {} + +class Type { + private Object myObject; + private Cloneable myCloneable; + private java.io.Serializable mySerializable; + private Holder myHolder; + + public void meth(Holder p) { + myObject = p; + myCloneable = p; + mySerializable = p; + myHolder = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2Lvalue/after/Type.items new file mode 100644 index 000000000000..9bcbf6e3ccf2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2Lvalue/after/Type.items @@ -0,0 +1,13 @@ +Types: +PsiField:myDescendants : Subject[] +PsiParameter:p : Subject... +PsiReferenceExpression:myDescendants : Subject[] +PsiReferenceExpression:p : Subject[] +PsiReferenceExpression:p : Subject[] +PsiReferenceExpression:p : Subject[] + +Conversions: +myAncestors -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2Lvalue/after/Type.java new file mode 100644 index 000000000000..82714edc14eb --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2Lvalue/after/Type.java @@ -0,0 +1,15 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Ancestor[] myAncestors; + private Subject[] mySubjects; + private Subject[] myDescendants; + + public void meth(Subject... p) { + myAncestors = p; + mySubjects = p; + myDescendants = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2Lvalue/before/Type.java new file mode 100644 index 000000000000..6c0ad8e907ae --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2Lvalue/before/Type.java @@ -0,0 +1,15 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Ancestor[] myAncestors; + private Subject[] mySubjects; + private Descendant[] myDescendants; + + public void meth(Descendant[] p) { + myAncestors = p; + mySubjects = p; + myDescendants = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvalueNeg/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvalueNeg/after/Type.items new file mode 100644 index 000000000000..8e16567f6b52 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvalueNeg/after/Type.items @@ -0,0 +1,10 @@ +Types: +PsiField:myField : Descendant[] +PsiParameter:p : Descendant[] +PsiReferenceExpression:myField : Descendant[] +PsiReferenceExpression:p : Descendant[] + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvalueNeg/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvalueNeg/after/Type.java new file mode 100644 index 000000000000..b14ffa0b66b9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvalueNeg/after/Type.java @@ -0,0 +1,10 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Descendant[] myField; + public void meth(Descendant[] p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvalueNeg/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvalueNeg/before/Type.java new file mode 100644 index 000000000000..299d07095294 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvalueNeg/before/Type.java @@ -0,0 +1,10 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Ancestor[] myField; + public void meth(Subject... p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvaluePos/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvaluePos/after/Type.items new file mode 100644 index 000000000000..fa58313766a2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvaluePos/after/Type.items @@ -0,0 +1,8 @@ +Types: +PsiField:myField : Subject[] +PsiReferenceExpression:myField : Subject[] + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvaluePos/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvaluePos/after/Type.java new file mode 100644 index 000000000000..b17f19ce9366 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvaluePos/after/Type.java @@ -0,0 +1,10 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Subject[] myField; + public void meth(Subject... p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvaluePos/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvaluePos/before/Type.java new file mode 100644 index 000000000000..299d07095294 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeArrayVararg2RvaluePos/before/Type.java @@ -0,0 +1,10 @@ +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Ancestor[] myField; + public void meth(Subject... p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Lvalue/after/Type.items new file mode 100644 index 000000000000..d2a5bdf18da5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Lvalue/after/Type.items @@ -0,0 +1,11 @@ +Types: +PsiParameter:p : java.lang.Boolean +PsiReferenceExpression:p : java.lang.Boolean +PsiReferenceExpression:p : java.lang.Boolean + +Conversions: +myField -> $ +myFieldSuper3 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Lvalue/after/Type.java new file mode 100644 index 000000000000..256ad8ae87ba --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Lvalue/after/Type.java @@ -0,0 +1,8 @@ +class Type { + private boolean myField; + private Object myFieldSuper3; + public void meth(Boolean p) { + myField = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Lvalue/before/Type.java new file mode 100644 index 000000000000..e27196d88750 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Lvalue/before/Type.java @@ -0,0 +1,8 @@ +class Type { + private boolean myField; + private Object myFieldSuper3; + public void meth(boolean p) { + myField = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Rvalue/after/Type.items new file mode 100644 index 000000000000..ddbe17fb4ffc --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Rvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : boolean +PsiReferenceExpression:myField : boolean + +Conversions: +p -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Rvalue/after/Type.java new file mode 100644 index 000000000000..d58f3df69336 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Rvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private boolean myField; + public void meth(Boolean p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Rvalue/before/Type.java new file mode 100644 index 000000000000..fcfe89fe9eca --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxBoolean2Rvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private Boolean myField; + public void meth(Boolean p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Lvalue/after/Type.items new file mode 100644 index 000000000000..1c80a5546782 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Lvalue/after/Type.items @@ -0,0 +1,15 @@ +Types: +PsiParameter:p : java.lang.Byte +PsiReferenceExpression:p : java.lang.Byte +PsiReferenceExpression:p : java.lang.Byte +PsiReferenceExpression:p : java.lang.Byte +PsiReferenceExpression:p : java.lang.Byte + +Conversions: +myField -> $ +myFieldSuper1 -> $ +myFieldSuper2 -> $ +myFieldSuper3 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Lvalue/after/Type.java new file mode 100644 index 000000000000..40e19f5b4a68 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Lvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private byte myField; + private short myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(Byte p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Lvalue/before/Type.java new file mode 100644 index 000000000000..c525d82e6f19 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Lvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private byte myField; + private short myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(byte p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Rvalue/after/Type.items new file mode 100644 index 000000000000..192b82591e68 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Rvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : byte +PsiReferenceExpression:myField : byte + +Conversions: +p -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Rvalue/after/Type.java new file mode 100644 index 000000000000..435b929c8591 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Rvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private byte myField; + public void meth(Byte p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Rvalue/before/Type.java new file mode 100644 index 000000000000..c0c7993580df --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxByte2Rvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private Byte myField; + public void meth(Byte p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Lvalue/after/Type.items new file mode 100644 index 000000000000..3499c81915b3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Lvalue/after/Type.items @@ -0,0 +1,13 @@ +Types: +PsiParameter:p : java.lang.Character +PsiReferenceExpression:p : java.lang.Character +PsiReferenceExpression:p : java.lang.Character +PsiReferenceExpression:p : java.lang.Character + +Conversions: +myField -> $ +myFieldSuper1 -> $ +myFieldSuper3 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Lvalue/after/Type.java new file mode 100644 index 000000000000..c075b5ea1ae1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Lvalue/after/Type.java @@ -0,0 +1,10 @@ +class Type { + private char myField; + private int myFieldSuper1; + private Object myFieldSuper3; + public void meth(Character p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Lvalue/before/Type.java new file mode 100644 index 000000000000..c821e8a38b8e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Lvalue/before/Type.java @@ -0,0 +1,10 @@ +class Type { + private char myField; + private int myFieldSuper1; + private Object myFieldSuper3; + public void meth(char p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Rvalue/after/Type.items new file mode 100644 index 000000000000..8f1b31f74f05 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Rvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : char +PsiReferenceExpression:myField : char + +Conversions: +p -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Rvalue/after/Type.java new file mode 100644 index 000000000000..bec7b611e95a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Rvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private char myField; + public void meth(Character p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Rvalue/before/Type.java new file mode 100644 index 000000000000..a98d2a5fa05a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxChar2Rvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private Character myField; + public void meth(Character p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Lvalue/after/Type.items new file mode 100644 index 000000000000..c961b407f293 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Lvalue/after/Type.items @@ -0,0 +1,13 @@ +Types: +PsiParameter:p : java.lang.Double +PsiReferenceExpression:p : java.lang.Double +PsiReferenceExpression:p : java.lang.Double +PsiReferenceExpression:p : java.lang.Double + +Conversions: +myField -> $ +myFieldSuper2 -> $ +myFieldSuper3 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Lvalue/after/Type.java new file mode 100644 index 000000000000..c2cc8485f4f5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Lvalue/after/Type.java @@ -0,0 +1,10 @@ +class Type { + private double myField; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(Double p) { + myField = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Lvalue/before/Type.java new file mode 100644 index 000000000000..56ec2d53eb99 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Lvalue/before/Type.java @@ -0,0 +1,10 @@ +class Type { + private double myField; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(double p) { + myField = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Rvalue/after/Type.items new file mode 100644 index 000000000000..2c80921ecfcb --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Rvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : double +PsiReferenceExpression:myField : double + +Conversions: +p -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Rvalue/after/Type.java new file mode 100644 index 000000000000..ac0e3c68ebdb --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Rvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private double myField; + public void meth(Double p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Rvalue/before/Type.java new file mode 100644 index 000000000000..4950dcb0d5bd --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxDouble2Rvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private Double myField; + public void meth(Double p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Lvalue/after/Type.items new file mode 100644 index 000000000000..d51dd6bd244e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Lvalue/after/Type.items @@ -0,0 +1,15 @@ +Types: +PsiParameter:p : java.lang.Float +PsiReferenceExpression:p : java.lang.Float +PsiReferenceExpression:p : java.lang.Float +PsiReferenceExpression:p : java.lang.Float +PsiReferenceExpression:p : java.lang.Float + +Conversions: +myField -> $ +myFieldSuper1 -> $ +myFieldSuper2 -> $ +myFieldSuper3 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Lvalue/after/Type.java new file mode 100644 index 000000000000..4e06d3369857 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Lvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private float myField; + private double myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(Float p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Lvalue/before/Type.java new file mode 100644 index 000000000000..24ec9a945603 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Lvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private float myField; + private double myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(float p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Rvalue/after/Type.items new file mode 100644 index 000000000000..1b905928d822 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Rvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : float +PsiReferenceExpression:myField : float + +Conversions: +p -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Rvalue/after/Type.java new file mode 100644 index 000000000000..1db8edb10bed --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Rvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private float myField; + public void meth(Float p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Rvalue/before/Type.java new file mode 100644 index 000000000000..078b103e8df1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxFloat2Rvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private Float myField; + public void meth(Float p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Lvalue/after/Type.items new file mode 100644 index 000000000000..24c52d5796ed --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Lvalue/after/Type.items @@ -0,0 +1,15 @@ +Types: +PsiParameter:p : java.lang.Integer +PsiReferenceExpression:p : java.lang.Integer +PsiReferenceExpression:p : java.lang.Integer +PsiReferenceExpression:p : java.lang.Integer +PsiReferenceExpression:p : java.lang.Integer + +Conversions: +myField -> $ +myFieldSuper1 -> $ +myFieldSuper2 -> $ +myFieldSuper3 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Lvalue/after/Type.java new file mode 100644 index 000000000000..e0075f597b24 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Lvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private int myField; + private long myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(Integer p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Lvalue/before/Type.java new file mode 100644 index 000000000000..9c2f74c3f26f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Lvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private int myField; + private long myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(int p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Rvalue/after/Type.items new file mode 100644 index 000000000000..d95e0af0768c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Rvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : int +PsiReferenceExpression:myField : int + +Conversions: +p -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Rvalue/after/Type.java new file mode 100644 index 000000000000..4bf28b31788c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Rvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private int myField; + public void meth(Integer p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Rvalue/before/Type.java new file mode 100644 index 000000000000..87273262b496 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxInt2Rvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private Integer myField; + public void meth(Integer p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Lvalue/after/Type.items new file mode 100644 index 000000000000..29939f335f62 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Lvalue/after/Type.items @@ -0,0 +1,15 @@ +Types: +PsiParameter:p : java.lang.Long +PsiReferenceExpression:p : java.lang.Long +PsiReferenceExpression:p : java.lang.Long +PsiReferenceExpression:p : java.lang.Long +PsiReferenceExpression:p : java.lang.Long + +Conversions: +myField -> $ +myFieldSuper1 -> $ +myFieldSuper2 -> $ +myFieldSuper3 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Lvalue/after/Type.java new file mode 100644 index 000000000000..695801b1bc4f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Lvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private long myField; + private float myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(Long p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Lvalue/before/Type.java new file mode 100644 index 000000000000..c6a909f7c46a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Lvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private long myField; + private float myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(long p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Rvalue/after/Type.items new file mode 100644 index 000000000000..0fa3e3feb520 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Rvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : long +PsiReferenceExpression:myField : long + +Conversions: +p -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Rvalue/after/Type.java new file mode 100644 index 000000000000..6f407a2591a1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Rvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private long myField; + public void meth(Long p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Rvalue/before/Type.java new file mode 100644 index 000000000000..ceceb07caa8e --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxLong2Rvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private Long myField; + public void meth(Long p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Lvalue/after/Type.items new file mode 100644 index 000000000000..c6a4cc9b70c8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Lvalue/after/Type.items @@ -0,0 +1,15 @@ +Types: +PsiParameter:p : java.lang.Short +PsiReferenceExpression:p : java.lang.Short +PsiReferenceExpression:p : java.lang.Short +PsiReferenceExpression:p : java.lang.Short +PsiReferenceExpression:p : java.lang.Short + +Conversions: +myField -> $ +myFieldSuper1 -> $ +myFieldSuper2 -> $ +myFieldSuper3 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Lvalue/after/Type.java new file mode 100644 index 000000000000..50d61183a785 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Lvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private short myField; + private int myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(Short p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Lvalue/before/Type.java new file mode 100644 index 000000000000..52eb7aa5b30c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Lvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private short myField; + private int myFieldSuper1; + private Number myFieldSuper2; + private Object myFieldSuper3; + public void meth(short p) { + myField = p; + myFieldSuper1 = p; + myFieldSuper2 = p; + myFieldSuper3 = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Rvalue/after/Type.items new file mode 100644 index 000000000000..28ba15701be6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Rvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : short +PsiReferenceExpression:myField : short + +Conversions: +p -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Rvalue/after/Type.java new file mode 100644 index 000000000000..ba146982c723 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Rvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private short myField; + public void meth(Short p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Rvalue/before/Type.java new file mode 100644 index 000000000000..9ca0f4947260 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeAutoboxShort2Rvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private Short myField; + public void meth(Short p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestor2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestor2Lvalue/after/Type.items new file mode 100644 index 000000000000..6106a705cdd8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestor2Lvalue/after/Type.items @@ -0,0 +1,33 @@ +Types: +PsiField:myAncestorSupers : java.util.Set<Subject> +PsiField:myAncestors : java.util.Set<Subject> +PsiField:myCollection : java.util.Collection<Subject> +PsiField:myDescendantExtends : java.util.Set<Subject> +PsiField:myDescendants : java.util.Set<Subject> +PsiParameter:p : java.util.Set<Subject> +PsiReferenceExpression:myAncestorSupers : java.util.Set<Subject> +PsiReferenceExpression:myAncestors : java.util.Set<Subject> +PsiReferenceExpression:myCollection : java.util.Collection<Subject> +PsiReferenceExpression:myDescendantExtends : java.util.Set<Subject> +PsiReferenceExpression:myDescendants : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> +PsiReferenceExpression:p : java.util.Set<Subject> + +Conversions: +myAncestorExtends -> $ +myDescendantSupers -> $ +mySet -> $ +mySubjectExtends -> $ +mySubjectSupers -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestor2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestor2Lvalue/after/Type.java new file mode 100644 index 000000000000..7e3eeb9770ca --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestor2Lvalue/after/Type.java @@ -0,0 +1,40 @@ +import java.util.Collection; +import java.util.Set; + +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Set<Subject> myAncestors; + private Set<? extends Ancestor> myAncestorExtends; + private Set<Subject> myAncestorSupers; + + private Set<Subject> mySubjects; + private Set<? extends Subject> mySubjectExtends; + private Set<? super Subject> mySubjectSupers; + + private Set<Subject> myDescendants; + private Set<Subject> myDescendantExtends; + private Set<? super Descendant> myDescendantSupers; + + private Set mySet; + private Collection<Subject> myCollection; + + public void meth(Set<Subject> p) { + myAncestors = p; + myAncestorExtends = p; + myAncestorSupers = p; + + mySubjects = p; + mySubjectExtends = p; + mySubjectSupers = p; + + myDescendants = p; + myDescendantExtends = p; + myDescendantSupers = p; + + mySet = p; + myCollection = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestor2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestor2Lvalue/before/Type.java new file mode 100644 index 000000000000..2e63240580ca --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestor2Lvalue/before/Type.java @@ -0,0 +1,40 @@ +import java.util.Collection; +import java.util.Set; + +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Set<Ancestor> myAncestors; + private Set<? extends Ancestor> myAncestorExtends; + private Set<? super Ancestor> myAncestorSupers; + + private Set<Subject> mySubjects; + private Set<? extends Subject> mySubjectExtends; + private Set<? super Subject> mySubjectSupers; + + private Set<Descendant> myDescendants; + private Set<? extends Descendant> myDescendantExtends; + private Set<? super Descendant> myDescendantSupers; + + private Set mySet; + private Collection<Ancestor> myCollection; + + public void meth(Set p) { + myAncestors = p; + myAncestorExtends = p; + myAncestorSupers = p; + + mySubjects = p; + mySubjectExtends = p; + mySubjectSupers = p; + + myDescendants = p; + myDescendantExtends = p; + myDescendantSupers = p; + + mySet = p; + myCollection = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestorWildcard2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestorWildcard2Lvalue/after/Type.items new file mode 100644 index 000000000000..6cb2f2be0d34 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestorWildcard2Lvalue/after/Type.items @@ -0,0 +1,33 @@ +Types: +PsiField:myAncestorSupers : java.util.Set<? extends Subject> +PsiField:myAncestors : java.util.Set<? extends Subject> +PsiField:myDescendantExtends : java.util.Set<? extends Subject> +PsiField:myDescendantSupers : java.util.Set<? extends Subject> +PsiField:myDescendants : java.util.Set<? extends Subject> +PsiField:mySubjectSupers : java.util.Set<? extends Subject> +PsiField:mySubjects : java.util.Set<? extends Subject> +PsiParameter:p : java.util.Set<? extends Subject> +PsiReferenceExpression:myAncestorSupers : java.util.Set<? extends Subject> +PsiReferenceExpression:myAncestors : java.util.Set<? extends Subject> +PsiReferenceExpression:myDescendantExtends : java.util.Set<? extends Subject> +PsiReferenceExpression:myDescendantSupers : java.util.Set<? extends Subject> +PsiReferenceExpression:myDescendants : java.util.Set<? extends Subject> +PsiReferenceExpression:mySubjectSupers : java.util.Set<? extends Subject> +PsiReferenceExpression:mySubjects : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> +PsiReferenceExpression:p : java.util.Set<? extends Subject> + +Conversions: +myAncestorExtends -> $ +mySet -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestorWildcard2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestorWildcard2Lvalue/after/Type.java new file mode 100644 index 000000000000..2ffef9b4e9ad --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestorWildcard2Lvalue/after/Type.java @@ -0,0 +1,37 @@ +import java.util.Set; + +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Set<? extends Subject> myAncestors; + private Set<? extends Ancestor> myAncestorExtends; + private Set<? extends Subject> myAncestorSupers; + + private Set<? extends Subject> mySubjects; + private Set<? extends Subject> mySubjectExtends; + private Set<? extends Subject> mySubjectSupers; + + private Set<? extends Subject> myDescendants; + private Set<? extends Subject> myDescendantExtends; + private Set<? extends Subject> myDescendantSupers; + + private Set mySet; + + public void meth(Set<? extends Subject> p) { + myAncestors = p; + myAncestorExtends = p; + myAncestorSupers = p; + + mySubjects = p; + mySubjectExtends = p; + mySubjectSupers = p; + + myDescendants = p; + myDescendantExtends = p; + myDescendantSupers = p; + + mySet = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestorWildcard2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestorWildcard2Lvalue/before/Type.java new file mode 100644 index 000000000000..4fc8d5baf167 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenAncestorWildcard2Lvalue/before/Type.java @@ -0,0 +1,37 @@ +import java.util.Set; + +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Set<Ancestor> myAncestors; + private Set<? extends Ancestor> myAncestorExtends; + private Set<? super Ancestor> myAncestorSupers; + + private Set<Subject> mySubjects; + private Set<? extends Subject> mySubjectExtends; + private Set<? super Subject> mySubjectSupers; + + private Set<Descendant> myDescendants; + private Set<? extends Descendant> myDescendantExtends; + private Set<? super Descendant> myDescendantSupers; + + private Set mySet; + + public void meth(Set p) { + myAncestors = p; + myAncestorExtends = p; + myAncestorSupers = p; + + mySubjects = p; + mySubjectExtends = p; + mySubjectSupers = p; + + myDescendants = p; + myDescendantExtends = p; + myDescendantSupers = p; + + mySet = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.items new file mode 100644 index 000000000000..ab6a62095446 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.items @@ -0,0 +1,37 @@ +Types: +PsiField:myField : java.util.Set<Subject> +PsiLocalVariable:ancestorExtends : java.util.Set<Subject> +PsiLocalVariable:ancestorSupers : java.util.Set<Subject> +PsiLocalVariable:ancestors : java.util.Set<Subject> +PsiLocalVariable:descendantExtends : java.util.Set<Subject> +PsiLocalVariable:descendantSupers : java.util.Set<Subject> +PsiLocalVariable:descendants : java.util.Set<Subject> +PsiLocalVariable:myCollection : java.util.AbstractSet<Subject> +PsiLocalVariable:subjectExtends : java.util.Set<Subject> +PsiLocalVariable:subjectSupers : java.util.Set<Subject> +PsiReferenceExpression:ancestorExtends : java.util.Set<Subject> +PsiReferenceExpression:ancestorSupers : java.util.Set<Subject> +PsiReferenceExpression:ancestors : java.util.Set<Subject> +PsiReferenceExpression:descendantExtends : java.util.Set<Subject> +PsiReferenceExpression:descendantSupers : java.util.Set<Subject> +PsiReferenceExpression:descendants : java.util.Set<Subject> +PsiReferenceExpression:myCollection : java.util.AbstractSet<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:myField : java.util.Set<Subject> +PsiReferenceExpression:subjectExtends : java.util.Set<Subject> +PsiReferenceExpression:subjectSupers : java.util.Set<Subject> + +Conversions: +set -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java new file mode 100644 index 000000000000..119e65ca61b5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java @@ -0,0 +1,39 @@ +import java.util.AbstractSet; +import java.util.Set; + +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Set<Subject> myField; + + public void meth() { + Set<Subject> ancestors = null; + myField = ancestors; + Set<Subject> ancestorExtends = null; + myField = ancestorExtends; + Set<Subject> ancestorSupers = null; + myField = ancestorSupers; + + // turning everything into Set<Subject> is actually too strict, but correct + Set<Subject> subjects = null; + myField = subjects; + Set<Subject> subjectExtends = null; + myField = subjectExtends; + Set<Subject> subjectSupers = null; + myField = subjectSupers; + + Set<Subject> descendants = null; + myField = descendants; + Set<Subject> descendantExtends = null; + myField = descendantExtends; + Set<Subject> descendantSupers = null; + myField = descendantSupers; + + Set set = null; + myField = set; + AbstractSet<Subject> myCollection = null; + myField = myCollection; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java new file mode 100644 index 000000000000..e53aa1d3cd1b --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java @@ -0,0 +1,39 @@ +import java.util.AbstractSet; +import java.util.Set; + +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Set myField; + + public void meth() { + Set<Ancestor> ancestors = null; + myField = ancestors; + Set<? extends Ancestor> ancestorExtends = null; + myField = ancestorExtends; + Set<? super Ancestor> ancestorSupers = null; + myField = ancestorSupers; + + // turning everything into Set<Subject> is actually too strict, but correct + Set<Subject> subjects = null; + myField = subjects; + Set<? extends Subject> subjectExtends = null; + myField = subjectExtends; + Set<? super Subject> subjectSupers = null; + myField = subjectSupers; + + Set<Descendant> descendants = null; + myField = descendants; + Set<? extends Descendant> descendantExtends = null; + myField = descendantExtends; + Set<? super Descendant> descendantSupers = null; + myField = descendantSupers; + + Set set = null; + myField = set; + AbstractSet<Descendant> myCollection = null; + myField = myCollection; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendantWildcard2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendantWildcard2Rvalue/after/Type.items new file mode 100644 index 000000000000..e34aedf887d3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendantWildcard2Rvalue/after/Type.items @@ -0,0 +1,32 @@ +Types: +PsiField:myField : java.util.Set<? super Subject> +PsiLocalVariable:ancestorExtends : java.util.Set<? super Subject> +PsiLocalVariable:descendantExtends : java.util.Set<? super Subject> +PsiLocalVariable:descendantSupers : java.util.Set<? super Subject> +PsiLocalVariable:descendants : java.util.Set<? super Subject> +PsiLocalVariable:subjectExtends : java.util.Set<? super Subject> +PsiReferenceExpression:ancestorExtends : java.util.Set<? super Subject> +PsiReferenceExpression:descendantExtends : java.util.Set<? super Subject> +PsiReferenceExpression:descendantSupers : java.util.Set<? super Subject> +PsiReferenceExpression:descendants : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:myField : java.util.Set<? super Subject> +PsiReferenceExpression:subjectExtends : java.util.Set<? super Subject> + +Conversions: +ancestorSupers -> $ +ancestors -> $ +set -> $ +subjectSupers -> $ +subjects -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendantWildcard2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendantWildcard2Rvalue/after/Type.java new file mode 100644 index 000000000000..a0982c89aa5c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendantWildcard2Rvalue/after/Type.java @@ -0,0 +1,35 @@ +import java.util.Set; + +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Set<? super Subject> myField; + + public void meth() { + Set<Ancestor> ancestors = null; + myField = ancestors; + Set<? super Subject> ancestorExtends = null; + myField = ancestorExtends; + Set<? super Ancestor> ancestorSupers = null; + myField = ancestorSupers; + + Set<Subject> subjects = null; + myField = subjects; + Set<? super Subject> subjectExtends = null; + myField = subjectExtends; + Set<? super Subject> subjectSupers = null; + myField = subjectSupers; + + Set<? super Subject> descendants = null; + myField = descendants; + Set<? super Subject> descendantExtends = null; + myField = descendantExtends; + Set<? super Subject> descendantSupers = null; + myField = descendantSupers; + + Set set = null; + myField = set; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendantWildcard2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendantWildcard2Rvalue/before/Type.java new file mode 100644 index 000000000000..79f4d219b47c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendantWildcard2Rvalue/before/Type.java @@ -0,0 +1,35 @@ +import java.util.Set; + +interface Ancestor {} +interface Subject extends Ancestor {} +class Descendant implements Subject {} + +class Type { + private Set myField; + + public void meth() { + Set<Ancestor> ancestors = null; + myField = ancestors; + Set<? extends Ancestor> ancestorExtends = null; + myField = ancestorExtends; + Set<? super Ancestor> ancestorSupers = null; + myField = ancestorSupers; + + Set<Subject> subjects = null; + myField = subjects; + Set<? extends Subject> subjectExtends = null; + myField = subjectExtends; + Set<? super Subject> subjectSupers = null; + myField = subjectSupers; + + Set<Descendant> descendants = null; + myField = descendants; + Set<? extends Descendant> descendantExtends = null; + myField = descendantExtends; + Set<? super Descendant> descendantSupers = null; + myField = descendantSupers; + + Set set = null; + myField = set; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Lvalue/after/Type.items new file mode 100644 index 000000000000..9da02a3b248c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Lvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.util.Set +PsiReferenceExpression:p : java.util.Set + +Conversions: +myField -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Lvalue/after/Type.java new file mode 100644 index 000000000000..f66a7c1fadc0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Lvalue/after/Type.java @@ -0,0 +1,10 @@ +import java.util.Set; + +class Any {} + +class Type { + private Set<Any> myField; + public void meth(Set p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Lvalue/before/Type.java new file mode 100644 index 000000000000..968d7e85e0b7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Lvalue/before/Type.java @@ -0,0 +1,10 @@ +import java.util.Set; + +class Any {} + +class Type { + private Set<Any> myField; + public void meth(Set<Any> p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Rvalue/after/Type.items new file mode 100644 index 000000000000..a3dd46449c57 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Rvalue/after/Type.items @@ -0,0 +1,9 @@ +Types: +PsiField:myField : java.util.Set +PsiReferenceExpression:myField : java.util.Set + +Conversions: +p -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Rvalue/after/Type.java new file mode 100644 index 000000000000..f78a0b3d5a68 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Rvalue/after/Type.java @@ -0,0 +1,10 @@ +import java.util.Set; + +class Any {} + +class Type { + private Set myField; + public void meth(Set<Any> p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Rvalue/before/Type.java new file mode 100644 index 000000000000..968d7e85e0b7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenRaw2Rvalue/before/Type.java @@ -0,0 +1,10 @@ +import java.util.Set; + +class Any {} + +class Type { + private Set<Any> myField; + public void meth(Set<Any> p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Lvalue/after/Type.items new file mode 100644 index 000000000000..361d3837f2da --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Lvalue/after/Type.items @@ -0,0 +1,10 @@ +Types: +PsiField:myField : boolean +PsiParameter:p : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:p : boolean + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Lvalue/after/Type.java new file mode 100644 index 000000000000..8a5b062df2e6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Lvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private boolean myField; + public void meth(boolean p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Lvalue/before/Type.java new file mode 100644 index 000000000000..b9185a0c81ed --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Lvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private int myField; + public void meth(int p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Rvalue/after/Type.items new file mode 100644 index 000000000000..361d3837f2da --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Rvalue/after/Type.items @@ -0,0 +1,10 @@ +Types: +PsiField:myField : boolean +PsiParameter:p : boolean +PsiReferenceExpression:myField : boolean +PsiReferenceExpression:p : boolean + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Rvalue/after/Type.java new file mode 100644 index 000000000000..8a5b062df2e6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Rvalue/after/Type.java @@ -0,0 +1,6 @@ +class Type { + private boolean myField; + public void meth(boolean p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Rvalue/before/Type.java new file mode 100644 index 000000000000..b9185a0c81ed --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubBoolean2Rvalue/before/Type.java @@ -0,0 +1,6 @@ +class Type { + private int myField; + public void meth(int p) { + myField = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubByte2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubByte2Rvalue/after/Type.items new file mode 100644 index 000000000000..71e76cc5a1e9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubByte2Rvalue/after/Type.items @@ -0,0 +1,26 @@ +Types: +PsiField:myField : byte +PsiParameter:pc : byte +PsiParameter:pd : byte +PsiParameter:pf : byte +PsiParameter:pi : byte +PsiParameter:pl : byte +PsiParameter:ps : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:myField : byte +PsiReferenceExpression:pc : byte +PsiReferenceExpression:pd : byte +PsiReferenceExpression:pf : byte +PsiReferenceExpression:pi : byte +PsiReferenceExpression:pl : byte +PsiReferenceExpression:ps : byte + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubByte2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubByte2Rvalue/after/Type.java new file mode 100644 index 000000000000..ac3a40879f5b --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubByte2Rvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private byte myField; + public void meth(byte pb, byte ps, byte pc, byte pi, byte pl, byte pf, byte pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubByte2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubByte2Rvalue/before/Type.java new file mode 100644 index 000000000000..f7edce2eea98 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubByte2Rvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private double myField; + public void meth(byte pb, short ps, char pc, int pi, long pl, float pf, double pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Lvalue/after/Type.items new file mode 100644 index 000000000000..521321c601c1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Lvalue/after/Type.items @@ -0,0 +1,22 @@ +Types: +PsiField:myByte : char +PsiField:myShort : char +PsiParameter:p : char +PsiReferenceExpression:myByte : char +PsiReferenceExpression:myShort : char +PsiReferenceExpression:p : char +PsiReferenceExpression:p : char +PsiReferenceExpression:p : char +PsiReferenceExpression:p : char +PsiReferenceExpression:p : char +PsiReferenceExpression:p : char +PsiReferenceExpression:p : char + +Conversions: +myDouble -> $ +myFloat -> $ +myInt -> $ +myLong -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Lvalue/after/Type.java new file mode 100644 index 000000000000..8b94e45d5626 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Lvalue/after/Type.java @@ -0,0 +1,18 @@ +class Type { + private char myByte; + private char myShort; + private char myChar; + private int myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(char p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Lvalue/before/Type.java new file mode 100644 index 000000000000..2d55ceaa511a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Lvalue/before/Type.java @@ -0,0 +1,18 @@ +class Type { + private byte myByte; + private short myShort; + private char myChar; + private int myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(byte p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Rvalue/after/Type.items new file mode 100644 index 000000000000..404f84f33867 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Rvalue/after/Type.items @@ -0,0 +1,26 @@ +Types: +PsiField:myField : char +PsiParameter:pb : char +PsiParameter:pd : char +PsiParameter:pf : char +PsiParameter:pi : char +PsiParameter:pl : char +PsiParameter:ps : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:myField : char +PsiReferenceExpression:pb : char +PsiReferenceExpression:pd : char +PsiReferenceExpression:pf : char +PsiReferenceExpression:pi : char +PsiReferenceExpression:pl : char +PsiReferenceExpression:ps : char + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Rvalue/after/Type.java new file mode 100644 index 000000000000..dc346a77074c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Rvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private char myField; + public void meth(char pb, char ps, char pc, char pi, char pl, char pf, char pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Rvalue/before/Type.java new file mode 100644 index 000000000000..f7edce2eea98 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubChar2Rvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private double myField; + public void meth(byte pb, short ps, char pc, int pi, long pl, float pf, double pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubDouble2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubDouble2Lvalue/after/Type.items new file mode 100644 index 000000000000..6946fcefbac0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubDouble2Lvalue/after/Type.items @@ -0,0 +1,26 @@ +Types: +PsiField:myByte : double +PsiField:myChar : double +PsiField:myFloat : double +PsiField:myInt : double +PsiField:myLong : double +PsiField:myShort : double +PsiParameter:p : double +PsiReferenceExpression:myByte : double +PsiReferenceExpression:myChar : double +PsiReferenceExpression:myFloat : double +PsiReferenceExpression:myInt : double +PsiReferenceExpression:myLong : double +PsiReferenceExpression:myShort : double +PsiReferenceExpression:p : double +PsiReferenceExpression:p : double +PsiReferenceExpression:p : double +PsiReferenceExpression:p : double +PsiReferenceExpression:p : double +PsiReferenceExpression:p : double +PsiReferenceExpression:p : double + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubDouble2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubDouble2Lvalue/after/Type.java new file mode 100644 index 000000000000..8a5035c81e4d --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubDouble2Lvalue/after/Type.java @@ -0,0 +1,18 @@ +class Type { + private double myByte; + private double myShort; + private double myChar; + private double myInt; + private double myLong; + private double myFloat; + private double myDouble; + public void meth(double p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubDouble2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubDouble2Lvalue/before/Type.java new file mode 100644 index 000000000000..2d55ceaa511a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubDouble2Lvalue/before/Type.java @@ -0,0 +1,18 @@ +class Type { + private byte myByte; + private short myShort; + private char myChar; + private int myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(byte p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Lvalue/after/Type.items new file mode 100644 index 000000000000..c479836287e0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Lvalue/after/Type.items @@ -0,0 +1,25 @@ +Types: +PsiField:myByte : float +PsiField:myChar : float +PsiField:myInt : float +PsiField:myLong : float +PsiField:myShort : float +PsiParameter:p : float +PsiReferenceExpression:myByte : float +PsiReferenceExpression:myChar : float +PsiReferenceExpression:myInt : float +PsiReferenceExpression:myLong : float +PsiReferenceExpression:myShort : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float + +Conversions: +myDouble -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Lvalue/after/Type.java new file mode 100644 index 000000000000..8b59184de85f --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Lvalue/after/Type.java @@ -0,0 +1,18 @@ +class Type { + private float myByte; + private float myShort; + private float myChar; + private float myInt; + private float myLong; + private float myFloat; + private double myDouble; + public void meth(float p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Lvalue/before/Type.java new file mode 100644 index 000000000000..2d55ceaa511a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Lvalue/before/Type.java @@ -0,0 +1,18 @@ +class Type { + private byte myByte; + private short myShort; + private char myChar; + private int myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(byte p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Rvalue/after/Type.items new file mode 100644 index 000000000000..7a22f6771caf --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Rvalue/after/Type.items @@ -0,0 +1,21 @@ +Types: +PsiField:myField : float +PsiParameter:pd : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:myField : float +PsiReferenceExpression:pd : float + +Conversions: +pb -> $ +pc -> $ +pi -> $ +pl -> $ +ps -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Rvalue/after/Type.java new file mode 100644 index 000000000000..0b933cce77dd --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Rvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private float myField; + public void meth(byte pb, short ps, char pc, int pi, long pl, float pf, float pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Rvalue/before/Type.java new file mode 100644 index 000000000000..f7edce2eea98 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubFloat2Rvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private double myField; + public void meth(byte pb, short ps, char pc, int pi, long pl, float pf, double pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Lvalue/after/Type.items new file mode 100644 index 000000000000..200b3b8b3fb5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Lvalue/after/Type.items @@ -0,0 +1,23 @@ +Types: +PsiField:myByte : int +PsiField:myChar : int +PsiField:myShort : int +PsiParameter:p : int +PsiReferenceExpression:myByte : int +PsiReferenceExpression:myChar : int +PsiReferenceExpression:myShort : int +PsiReferenceExpression:p : int +PsiReferenceExpression:p : int +PsiReferenceExpression:p : int +PsiReferenceExpression:p : int +PsiReferenceExpression:p : int +PsiReferenceExpression:p : int +PsiReferenceExpression:p : int + +Conversions: +myDouble -> $ +myFloat -> $ +myLong -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Lvalue/after/Type.java new file mode 100644 index 000000000000..b15830da724d --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Lvalue/after/Type.java @@ -0,0 +1,18 @@ +class Type { + private int myByte; + private int myShort; + private int myChar; + private int myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(int p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Lvalue/before/Type.java new file mode 100644 index 000000000000..2d55ceaa511a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Lvalue/before/Type.java @@ -0,0 +1,18 @@ +class Type { + private byte myByte; + private short myShort; + private char myChar; + private int myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(byte p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Rvalue/after/Type.items new file mode 100644 index 000000000000..b7c45d6a6aff --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Rvalue/after/Type.items @@ -0,0 +1,23 @@ +Types: +PsiField:myField : int +PsiParameter:pd : int +PsiParameter:pf : int +PsiParameter:pl : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:myField : int +PsiReferenceExpression:pd : int +PsiReferenceExpression:pf : int +PsiReferenceExpression:pl : int + +Conversions: +pb -> $ +pc -> $ +ps -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Rvalue/after/Type.java new file mode 100644 index 000000000000..c13b0ab9bee2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Rvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private int myField; + public void meth(byte pb, short ps, char pc, int pi, int pl, int pf, int pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Rvalue/before/Type.java new file mode 100644 index 000000000000..f7edce2eea98 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubInt2Rvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private double myField; + public void meth(byte pb, short ps, char pc, int pi, long pl, float pf, double pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Lvalue/after/Type.items new file mode 100644 index 000000000000..3f94bd20c6e8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Lvalue/after/Type.items @@ -0,0 +1,24 @@ +Types: +PsiField:myByte : long +PsiField:myChar : long +PsiField:myInt : long +PsiField:myShort : long +PsiParameter:p : long +PsiReferenceExpression:myByte : long +PsiReferenceExpression:myChar : long +PsiReferenceExpression:myInt : long +PsiReferenceExpression:myShort : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long +PsiReferenceExpression:p : long + +Conversions: +myDouble -> $ +myFloat -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Lvalue/after/Type.java new file mode 100644 index 000000000000..1b594666283c --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Lvalue/after/Type.java @@ -0,0 +1,18 @@ +class Type { + private long myByte; + private long myShort; + private long myChar; + private long myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(long p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Lvalue/before/Type.java new file mode 100644 index 000000000000..2d55ceaa511a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Lvalue/before/Type.java @@ -0,0 +1,18 @@ +class Type { + private byte myByte; + private short myShort; + private char myChar; + private int myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(byte p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Rvalue/after/Type.items new file mode 100644 index 000000000000..98a3c92987b9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Rvalue/after/Type.items @@ -0,0 +1,22 @@ +Types: +PsiField:myField : long +PsiParameter:pd : long +PsiParameter:pf : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:myField : long +PsiReferenceExpression:pd : long +PsiReferenceExpression:pf : long + +Conversions: +pb -> $ +pc -> $ +pi -> $ +ps -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Rvalue/after/Type.java new file mode 100644 index 000000000000..e3e3b25d89b4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Rvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private long myField; + public void meth(byte pb, short ps, char pc, int pi, long pl, long pf, long pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Rvalue/before/Type.java new file mode 100644 index 000000000000..f7edce2eea98 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubLong2Rvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private double myField; + public void meth(byte pb, short ps, char pc, int pi, long pl, float pf, double pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Lvalue/after/Type.items new file mode 100644 index 000000000000..8f0cd52a3560 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Lvalue/after/Type.items @@ -0,0 +1,22 @@ +Types: +PsiField:myByte : short +PsiField:myChar : short +PsiParameter:p : short +PsiReferenceExpression:myByte : short +PsiReferenceExpression:myChar : short +PsiReferenceExpression:p : short +PsiReferenceExpression:p : short +PsiReferenceExpression:p : short +PsiReferenceExpression:p : short +PsiReferenceExpression:p : short +PsiReferenceExpression:p : short +PsiReferenceExpression:p : short + +Conversions: +myDouble -> $ +myFloat -> $ +myInt -> $ +myLong -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Lvalue/after/Type.java new file mode 100644 index 000000000000..ccbe23c4b4e2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Lvalue/after/Type.java @@ -0,0 +1,18 @@ +class Type { + private short myByte; + private short myShort; + private short myChar; + private int myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(short p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Lvalue/before/Type.java new file mode 100644 index 000000000000..2d55ceaa511a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Lvalue/before/Type.java @@ -0,0 +1,18 @@ +class Type { + private byte myByte; + private short myShort; + private char myChar; + private int myInt; + private long myLong; + private float myFloat; + private double myDouble; + public void meth(byte p) { + myByte = p; + myShort = p; + myChar = p; + myInt = p; + myLong = p; + myFloat = p; + myDouble = p; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Rvalue/after/Type.items new file mode 100644 index 000000000000..754060e723ec --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Rvalue/after/Type.items @@ -0,0 +1,25 @@ +Types: +PsiField:myField : short +PsiParameter:pc : short +PsiParameter:pd : short +PsiParameter:pf : short +PsiParameter:pi : short +PsiParameter:pl : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:myField : short +PsiReferenceExpression:pc : short +PsiReferenceExpression:pd : short +PsiReferenceExpression:pf : short +PsiReferenceExpression:pi : short +PsiReferenceExpression:pl : short + +Conversions: +pb -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Rvalue/after/Type.java new file mode 100644 index 000000000000..eb53bcd49ebc --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Rvalue/after/Type.java @@ -0,0 +1,12 @@ +class Type { + private short myField; + public void meth(byte pb, short ps, short pc, short pi, short pl, short pf, short pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Rvalue/before/Type.java new file mode 100644 index 000000000000..f7edce2eea98 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typePrimsubShort2Rvalue/before/Type.java @@ -0,0 +1,12 @@ +class Type { + private double myField; + public void meth(byte pb, short ps, char pc, int pi, long pl, float pf, double pd) { + myField = pb; + myField = ps; + myField = pc; + myField = pi; + myField = pl; + myField = pf; + myField = pd; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassChild2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassChild2Rvalue/after/Type.items new file mode 100644 index 000000000000..78431b6e4a4a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassChild2Rvalue/after/Type.items @@ -0,0 +1,17 @@ +Types: +PsiField:myField : ClassChild +PsiParameter:pcp : ClassChild +PsiParameter:pfc : ClassChild +PsiParameter:pfp : ClassChild +PsiReferenceExpression:myField : ClassChild +PsiReferenceExpression:myField : ClassChild +PsiReferenceExpression:myField : ClassChild +PsiReferenceExpression:myField : ClassChild +PsiReferenceExpression:pcp : ClassChild +PsiReferenceExpression:pfc : ClassChild +PsiReferenceExpression:pfp : ClassChild + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassChild2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassChild2Rvalue/after/Type.java new file mode 100644 index 000000000000..f5d9434c07c4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassChild2Rvalue/after/Type.java @@ -0,0 +1,14 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private ClassChild myField; + public void meth(ClassChild pcc, ClassChild pcp, ClassChild pfc, ClassChild pfp) { + myField = pcc; + myField = pcp; + myField = pfc; + myField = pfp; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassChild2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassChild2Rvalue/before/Type.java new file mode 100644 index 000000000000..e5cfab9f9af5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassChild2Rvalue/before/Type.java @@ -0,0 +1,14 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private FaceParent myField; + public void meth(ClassChild pcc, ClassParent pcp, FaceChild pfc, FaceParent pfp) { + myField = pcc; + myField = pcp; + myField = pfc; + myField = pfp; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Lvalue/after/Type.items new file mode 100644 index 000000000000..18fce6b3d6ec --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Lvalue/after/Type.items @@ -0,0 +1,15 @@ +Types: +PsiField:myClassChild : ClassParent +PsiParameter:p : ClassParent +PsiReferenceExpression:myClassChild : ClassParent +PsiReferenceExpression:p : ClassParent +PsiReferenceExpression:p : ClassParent +PsiReferenceExpression:p : ClassParent +PsiReferenceExpression:p : ClassParent + +Conversions: +myFaceChild -> $ +myFaceParent -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Lvalue/after/Type.java new file mode 100644 index 000000000000..8d7fee567890 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Lvalue/after/Type.java @@ -0,0 +1,18 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private ClassParent myClassChild; + private ClassParent myClassParent; + private FaceChild myFaceChild; + private FaceParent myFaceParent; + + public void meth(ClassParent p) { + myClassChild = p; + myClassParent = p; + myFaceChild = p; + myFaceParent = p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Lvalue/before/Type.java new file mode 100644 index 000000000000..074af076748d --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Lvalue/before/Type.java @@ -0,0 +1,18 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private ClassChild myClassChild; + private ClassParent myClassParent; + private FaceChild myFaceChild; + private FaceParent myFaceParent; + + public void meth(ClassChild p) { + myClassChild = p; + myClassParent = p; + myFaceChild = p; + myFaceParent = p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Rvalue/after/Type.items new file mode 100644 index 000000000000..4e7bfb9a5f9a --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Rvalue/after/Type.items @@ -0,0 +1,16 @@ +Types: +PsiField:myField : ClassParent +PsiParameter:pfc : ClassParent +PsiParameter:pfp : ClassParent +PsiReferenceExpression:myField : ClassParent +PsiReferenceExpression:myField : ClassParent +PsiReferenceExpression:myField : ClassParent +PsiReferenceExpression:myField : ClassParent +PsiReferenceExpression:pfc : ClassParent +PsiReferenceExpression:pfp : ClassParent + +Conversions: +pcc -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Rvalue/after/Type.java new file mode 100644 index 000000000000..9953f41083c5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Rvalue/after/Type.java @@ -0,0 +1,14 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private ClassParent myField; + public void meth(ClassChild pcc, ClassParent pcp, ClassParent pfc, ClassParent pfp) { + myField = pcc; + myField = pcp; + myField = pfc; + myField = pfp; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Rvalue/before/Type.java new file mode 100644 index 000000000000..e5cfab9f9af5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefClassParent2Rvalue/before/Type.java @@ -0,0 +1,14 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private FaceParent myField; + public void meth(ClassChild pcc, ClassParent pcp, FaceChild pfc, FaceParent pfp) { + myField = pcc; + myField = pcp; + myField = pfc; + myField = pfp; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Lvalue/after/Type.items new file mode 100644 index 000000000000..9dd227a952df --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Lvalue/after/Type.items @@ -0,0 +1,16 @@ +Types: +PsiField:myClassChild : FaceChild +PsiField:myClassParent : FaceChild +PsiParameter:p : FaceChild +PsiReferenceExpression:myClassChild : FaceChild +PsiReferenceExpression:myClassParent : FaceChild +PsiReferenceExpression:p : FaceChild +PsiReferenceExpression:p : FaceChild +PsiReferenceExpression:p : FaceChild +PsiReferenceExpression:p : FaceChild + +Conversions: +myFaceParent -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Lvalue/after/Type.java new file mode 100644 index 000000000000..f4b8de1d6028 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Lvalue/after/Type.java @@ -0,0 +1,18 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private FaceChild myClassChild; + private FaceChild myClassParent; + private FaceChild myFaceChild; + private FaceParent myFaceParent; + + public void meth(FaceChild p) { + myClassChild = p; + myClassParent = p; + myFaceChild = p; + myFaceParent = p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Lvalue/before/Type.java new file mode 100644 index 000000000000..074af076748d --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Lvalue/before/Type.java @@ -0,0 +1,18 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private ClassChild myClassChild; + private ClassParent myClassParent; + private FaceChild myFaceChild; + private FaceParent myFaceParent; + + public void meth(ClassChild p) { + myClassChild = p; + myClassParent = p; + myFaceChild = p; + myFaceParent = p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Rvalue/after/Type.items new file mode 100644 index 000000000000..91683c097f98 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Rvalue/after/Type.items @@ -0,0 +1,15 @@ +Types: +PsiField:myField : FaceChild +PsiParameter:pfp : FaceChild +PsiReferenceExpression:myField : FaceChild +PsiReferenceExpression:myField : FaceChild +PsiReferenceExpression:myField : FaceChild +PsiReferenceExpression:myField : FaceChild +PsiReferenceExpression:pfp : FaceChild + +Conversions: +pcc -> $ +pcp -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Rvalue/after/Type.java new file mode 100644 index 000000000000..f16470efa1df --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Rvalue/after/Type.java @@ -0,0 +1,14 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private FaceChild myField; + public void meth(ClassChild pcc, ClassParent pcp, FaceChild pfc, FaceChild pfp) { + myField = pcc; + myField = pcp; + myField = pfc; + myField = pfp; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Rvalue/before/Type.java new file mode 100644 index 000000000000..e5cfab9f9af5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceChild2Rvalue/before/Type.java @@ -0,0 +1,14 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private FaceParent myField; + public void meth(ClassChild pcc, ClassParent pcp, FaceChild pfc, FaceParent pfp) { + myField = pcc; + myField = pcp; + myField = pfc; + myField = pfp; + } +} diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceParent2Lvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceParent2Lvalue/after/Type.items new file mode 100644 index 000000000000..a10aad579ef2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceParent2Lvalue/after/Type.items @@ -0,0 +1,17 @@ +Types: +PsiField:myClassChild : FaceParent +PsiField:myClassParent : FaceParent +PsiField:myFaceChild : FaceParent +PsiParameter:p : FaceParent +PsiReferenceExpression:myClassChild : FaceParent +PsiReferenceExpression:myClassParent : FaceParent +PsiReferenceExpression:myFaceChild : FaceParent +PsiReferenceExpression:p : FaceParent +PsiReferenceExpression:p : FaceParent +PsiReferenceExpression:p : FaceParent +PsiReferenceExpression:p : FaceParent + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceParent2Lvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceParent2Lvalue/after/Type.java new file mode 100644 index 000000000000..d53c072b9b56 --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceParent2Lvalue/after/Type.java @@ -0,0 +1,18 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private FaceParent myClassChild; + private FaceParent myClassParent; + private FaceParent myFaceChild; + private FaceParent myFaceParent; + + public void meth(FaceParent p) { + myClassChild = p; + myClassParent = p; + myFaceChild = p; + myFaceParent = p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceParent2Lvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceParent2Lvalue/before/Type.java new file mode 100644 index 000000000000..074af076748d --- /dev/null +++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeRefFaceParent2Lvalue/before/Type.java @@ -0,0 +1,18 @@ +interface FaceParent {} +interface FaceChild extends FaceParent {} +class ClassParent implements FaceChild {} +class ClassChild extends ClassParent {} + +class Type { + private ClassChild myClassChild; + private ClassParent myClassParent; + private FaceChild myFaceChild; + private FaceParent myFaceParent; + + public void meth(ClassChild p) { + myClassChild = p; + myClassParent = p; + myFaceChild = p; + myFaceParent = p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t01/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t01/after/Test.items new file mode 100644 index 000000000000..702373b694d5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t01/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiMethodCallExpression:i.foo(new Integer[0]) : Foo +PsiParameter:i : Foo +PsiReferenceExpression:i : Foo + +Conversions: +i.foo -> PsiMethod:moo + +New expression type changes: +Fails: +new Integer[0]->int diff --git a/java/typeMigration/testData/refactoring/typeMigration/t01/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t01/after/test.java new file mode 100644 index 000000000000..cf8dd0203f05 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t01/after/test.java @@ -0,0 +1,39 @@ + +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Oct 16, 2004 + * Time: 10:10:35 PM + * To change this template use File | Settings | File Templates. + */ + +class Foo { + Moo moo(int i) { + return null; + } +} + +class Moo { + Foo foo(Integer[] j) { + return null; + } +} + +class P { + int f(int y) { + return y; + } +} + +class G extends P { + int f(int y) { + return y; + } +} + +public class Test { + Moo g(Foo i) { + Foo j = i.moo(new Integer[0]); + return null; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t01/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t01/before/test.java new file mode 100644 index 000000000000..1f7a52e4aa63 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t01/before/test.java @@ -0,0 +1,39 @@ + +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Oct 16, 2004 + * Time: 10:10:35 PM + * To change this template use File | Settings | File Templates. + */ + +class Foo { + Moo moo(int i) { + return null; + } +} + +class Moo { + Foo foo(Integer[] j) { + return null; + } +} + +class P { + int f(int y) { + return y; + } +} + +class G extends P { + int f(int y) { + return y; + } +} + +public class Test { + Moo g(Moo i) { + Foo j = i.foo(new Integer[0]); + return null; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t02/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t02/after/Test.items new file mode 100644 index 000000000000..eb13633449ca --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t02/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethod:sum : java.lang.Integer +PsiMethodCallExpression:sum(n, k) : java.lang.Integer + +Conversions: +a -> $ +i + j -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t02/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t02/after/test.java new file mode 100644 index 000000000000..5842b8fa99e0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t02/after/test.java @@ -0,0 +1,20 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +public class Test { + Integer sum(int i, int j) { + return i + j; + } + + int foo(int n, int k) { + int a; + + a = sum(n, k); + + return a; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t02/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t02/before/test.java new file mode 100644 index 000000000000..d0ebca58783c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t02/before/test.java @@ -0,0 +1,20 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +public class Test { + int sum(int i, int j) { + return i + j; + } + + int foo(int n, int k) { + int a; + + a = sum(n, k); + + return a; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t03/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t03/after/Test.items new file mode 100644 index 000000000000..f1747c90b2ed --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t03/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethod:sum : java.lang.Integer +PsiMethodCallExpression:sum(i, k) : java.lang.Integer + +Conversions: +a -> $ +i + j -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t03/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t03/after/test.java new file mode 100644 index 000000000000..5fd61417ba05 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t03/after/test.java @@ -0,0 +1,22 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +public class Test { + Integer sum(int i, int j) { + return i + j; + } + + int[] foo(int n, int k) { + int[] a = new int[n]; + + for (int i = 0; i < a.length; i++) { + a[i] = sum(i, k); + } + + return a; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t03/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t03/before/test.java new file mode 100644 index 000000000000..9e1559784bde --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t03/before/test.java @@ -0,0 +1,22 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +public class Test { + int sum(int i, int j) { + return i + j; + } + + int[] foo(int n, int k) { + int[] a = new int[n]; + + for (int i = 0; i < a.length; i++) { + a[i] = sum(i, k); + } + + return a; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t04/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t04/after/Test.items new file mode 100644 index 000000000000..edea723357ea --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t04/after/Test.items @@ -0,0 +1,21 @@ +Types: +PsiLocalVariable:a : java.lang.Long[][] +PsiMethod:bar : java.lang.Long[] +PsiMethod:foo : java.lang.Long[][] +PsiMethodCallExpression:bar() : java.lang.Long[] +PsiNewExpression:new Integer[0] : java.lang.Long[] +PsiNewExpression:new Integer[0] : java.lang.Long[] +PsiNewExpression:new Integer[0] : java.lang.Long[] +PsiNewExpression:new Integer[][] {new Integer[0], new Integer[0]} : java.lang.Long[][] +PsiReferenceExpression:a : java.lang.Long[][] +PsiReferenceExpression:a : java.lang.Long[][] +PsiReferenceExpression:a : java.lang.Long[][] + +Conversions: + +New expression type changes: +new Integer[0] -> java.lang.Long[] +new Integer[0] -> java.lang.Long[] +new Integer[0] -> java.lang.Long[] +new Integer[][] {new Integer[0], new Integer[0]} -> java.lang.Long[][] +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t04/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t04/after/test.java new file mode 100644 index 000000000000..080208fcbd6c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t04/after/test.java @@ -0,0 +1,22 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +public class Test { + Long[] bar() { + return new Long[0]; + } + + Long[][] foo(int n, int k) { + Long[][] a = new Long[][]{new Long[0], new Long[0]}; + + for (int i = 0; i < a.length; i++) { + a[i] = bar(); + } + + return a; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t04/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t04/before/test.java new file mode 100644 index 000000000000..591b5a530d2b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t04/before/test.java @@ -0,0 +1,22 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +public class Test { + Integer[] bar() { + return new Integer[0]; + } + + Integer[] foo(int n, int k) { + Integer[][] a = new Integer[][] {new Integer[0], new Integer[0]}; + + for (int i = 0; i < a.length; i++) { + a[i] = bar(); + } + + return a; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t05/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t05/after/Test.items new file mode 100644 index 000000000000..8152c1b711e7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t05/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:i : java.lang.Integer +PsiReferenceExpression:i : java.lang.Integer + +Conversions: +i -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t05/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t05/after/test.java new file mode 100644 index 000000000000..b74d13b84fda --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t05/after/test.java @@ -0,0 +1,22 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +public class Test { + int sum(Integer i, int j) { + return i + j; + } + + int[] foo(int n, int k) { + int[] a = new int[] {1, 2, 3, 4}; + + for (int i = 0; i < a.length; i++) { + a[i] = sum(i, k); + } + + return a; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t05/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t05/before/test.java new file mode 100644 index 000000000000..e8a96127f4fd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t05/before/test.java @@ -0,0 +1,22 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +public class Test { + int sum(int i, int j) { + return i + j; + } + + int[] foo(int n, int k) { + int[] a = new int[] {1, 2, 3, 4}; + + for (int i = 0; i < a.length; i++) { + a[i] = sum(i, k); + } + + return a; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t06/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t06/after/Test.items new file mode 100644 index 000000000000..3ad4c0f7992f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t06/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiLocalVariable:a : B +PsiMethod:getA : B +PsiMethodCallExpression:getA () : B +PsiReferenceExpression:a : B + +Conversions: + +New expression type changes: +Fails: +new A ()->B diff --git a/java/typeMigration/testData/refactoring/typeMigration/t06/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t06/after/test.java new file mode 100644 index 000000000000..f4fa6ab1f876 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t06/after/test.java @@ -0,0 +1,25 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +class A {} +class B {} + +public class Test { + B getA() { + return new A (); + } + + int foo() { + B a = getA (); + + if (a != null){ + return 0; + } + + return 1; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t06/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t06/before/test.java new file mode 100644 index 000000000000..862356ebd9cc --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t06/before/test.java @@ -0,0 +1,25 @@ +/** + * Created by IntelliJ IDEA. + * User: db + * Date: Nov 15, 2004 + * Time: 5:40:02 PM + * To change this template use File | Settings | File Templates. + */ +class A {} +class B {} + +public class Test { + A getA() { + return new A (); + } + + int foo() { + A a = getA (); + + if (a != null){ + return 0; + } + + return 1; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t07/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t07/after/Test.items new file mode 100644 index 000000000000..12252787a292 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t07/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f : java.lang.Integer[] +PsiNewExpression:new int[0] : java.lang.Integer[] + +Conversions: + +New expression type changes: +new int[0] -> java.lang.Integer[] +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t07/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t07/after/test.java new file mode 100644 index 000000000000..09d7a0982009 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t07/after/test.java @@ -0,0 +1,3 @@ +public class Test { + Integer[] f = new Integer[0]; +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t07/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t07/before/test.java new file mode 100644 index 000000000000..87955af32435 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t07/before/test.java @@ -0,0 +1,3 @@ +public class Test { + int[] f = new int[0]; +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t08/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t08/after/Test.items new file mode 100644 index 000000000000..7c09ce5a46f7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t08/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : java.lang.String[] +PsiNewExpression:new Integer[0] : java.lang.String[] +PsiParameter:i : java.lang.String +PsiReferenceExpression:f : java.lang.String[] + +Conversions: + +New expression type changes: +new Integer[0] -> java.lang.String[] +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t08/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t08/after/test.java new file mode 100644 index 000000000000..9f13a80a2f2a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t08/after/test.java @@ -0,0 +1,6 @@ +public class Test { + String[] f = new String[0]; + void foo() { + for (String i : f) {} + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t08/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t08/before/test.java new file mode 100644 index 000000000000..e38a9aa3155d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t08/before/test.java @@ -0,0 +1,6 @@ +public class Test { + Integer[] f = new Integer[0]; + void foo() { + for (Integer i : f) {} + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t09/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t09/after/Test.items new file mode 100644 index 000000000000..39394462b76e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t09/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiField:f : java.lang.String[] +PsiNewExpression:new Integer[0] : java.lang.String[] +PsiParameter:g : java.lang.String[] +PsiReferenceExpression:f : java.lang.String[] + +Conversions: +f -> $ + +New expression type changes: +new Integer[0] -> java.lang.String[] +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t09/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t09/after/test.java new file mode 100644 index 000000000000..5e779c9e12f5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t09/after/test.java @@ -0,0 +1,8 @@ +public class Test { + String[] f = new String[0]; + void foo() { + bar(1, f); + } + + void bar(int i, String[] g){} +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t09/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t09/before/test.java new file mode 100644 index 000000000000..db3f02ed1976 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t09/before/test.java @@ -0,0 +1,8 @@ +public class Test { + Integer[] f = new Integer[0]; + void foo() { + bar(1, f); + } + + void bar(int i, Integer[] g){} +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t10/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t10/after/Test.items new file mode 100644 index 000000000000..77d161720fb5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t10/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f : java.util.List<java.lang.String> +PsiParameter:i : java.lang.String +PsiReferenceExpression:f : java.util.List<java.lang.String> + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t10/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t10/after/test.java new file mode 100644 index 000000000000..7820f54d0340 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t10/after/test.java @@ -0,0 +1,7 @@ +import java.util.List; +public class Test { + List<String> f; + void foo() { + for (String i : f) {} + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t10/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t10/before/test.java new file mode 100644 index 000000000000..726f23a4bf8d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t10/before/test.java @@ -0,0 +1,7 @@ +import java.util.List; +public class Test { + List<Integer> f; + void foo() { + for (Integer i : f) {} + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t100/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t100/after/Test.items new file mode 100644 index 000000000000..135dca6a135e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t100/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f : java.util.Map<java.lang.String,java.lang.Integer> +PsiNewExpression:new HashMap<String,String>() : java.util.HashMap<java.lang.String,java.lang.Integer> + +Conversions: + +New expression type changes: +new HashMap<String,String>() -> java.util.HashMap<java.lang.String,java.lang.Integer> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t100/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t100/after/test.java new file mode 100644 index 000000000000..b2917c86149e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t100/after/test.java @@ -0,0 +1,6 @@ +import java.util.*; +public class Test { + Map<String, Integer> f = new HashMap<>(); + + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t100/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t100/before/test.java new file mode 100644 index 000000000000..7bf03e3a27da --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t100/before/test.java @@ -0,0 +1,6 @@ +import java.util.*; +public class Test { + Map<String,String> f = new HashMap<String,String>(); + + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t101/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t101/after/Test.items new file mode 100644 index 000000000000..285bc5b6ca51 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t101/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:p.get(0) : java.util.ArrayList<java.lang.Integer> +PsiParameter:p : java.util.ArrayList<java.lang.Integer>[] +PsiReferenceExpression:p : java.util.ArrayList<java.lang.Integer>[] + +Conversions: +p.get(0) -> $qualifier$[$i$] $qualifier$.get($i$) p.get(0) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t101/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t101/after/test.java new file mode 100644 index 000000000000..6344b428b46c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t101/after/test.java @@ -0,0 +1,6 @@ +import java.util.*; +public class Test { + void meth(ArrayList<Integer>[] p) { + ArrayList<Integer> v = p[0]; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t101/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t101/before/test.java new file mode 100644 index 000000000000..e16f3d100bc9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t101/before/test.java @@ -0,0 +1,6 @@ +import java.util.*; +public class Test { + void meth(List<ArrayList<Integer>> p) { + ArrayList<Integer> v = p.get(0); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t102/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t102/after/Test.items new file mode 100644 index 000000000000..b9f794b195bf --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t102/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:s : java.lang.Object[] +PsiReferenceExpression:s : java.lang.Object[] + +Conversions: + +New expression type changes: +Fails: +s->java.lang.Object[] diff --git a/java/typeMigration/testData/refactoring/typeMigration/t102/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t102/after/test.java new file mode 100644 index 000000000000..dcd056fcaf90 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t102/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +public class Test { + void method(Object[] s) { + s.add(null); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t102/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t102/before/test.java new file mode 100644 index 000000000000..f59b5db84644 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t102/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +public class Test { + void method(Set<? extends Object> s) { + s.add(null); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t103/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t103/after/Test.items new file mode 100644 index 000000000000..b13c3192a1d8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t103/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:l : java.lang.Integer[] +PsiReferenceExpression:l : java.lang.Integer[] + +Conversions: + +New expression type changes: +Fails: +l->java.lang.Integer[] diff --git a/java/typeMigration/testData/refactoring/typeMigration/t103/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t103/after/test.java new file mode 100644 index 000000000000..af807d53c7b0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t103/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +public class Test { + void method(Integer[] l) { + l.set(1, ""); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t103/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t103/before/test.java new file mode 100644 index 000000000000..7e5802d50574 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t103/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +public class Test { + void method(ArrayList<String> l) { + l.set(1, ""); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t104/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t104/after/Test.items new file mode 100644 index 000000000000..f085abb3c681 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t104/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:l : java.lang.String[] +PsiReferenceExpression:l : java.lang.String[] + +Conversions: + +New expression type changes: +Fails: +l->java.lang.String[] diff --git a/java/typeMigration/testData/refactoring/typeMigration/t104/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t104/after/test.java new file mode 100644 index 000000000000..d70a09a513bd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t104/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +public class Test { + void method(String[] l) { + l.set(1, ""); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t104/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t104/before/test.java new file mode 100644 index 000000000000..bc4b40c061a2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t104/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +public class Test { + void method(ArrayList l) { + l.set(1, ""); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t105/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t105/after/Test.items new file mode 100644 index 000000000000..7821f01df96c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t105/after/Test.items @@ -0,0 +1,7 @@ +Types: +PsiField:t : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t105/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t105/after/test.java new file mode 100644 index 000000000000..71797316503f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t105/after/test.java @@ -0,0 +1,3 @@ +public class Test<T> { + String t; +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t105/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t105/before/test.java new file mode 100644 index 000000000000..763dc905176d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t105/before/test.java @@ -0,0 +1,3 @@ +public class Test<T> { + T t; +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t106/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t106/after/Test.items new file mode 100644 index 000000000000..2fab8a1f5fae --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t106/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:t : java.lang.String +PsiReferenceExpression:t : java.lang.String + +Conversions: + +New expression type changes: +Fails: +t->java.lang.String diff --git a/java/typeMigration/testData/refactoring/typeMigration/t106/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t106/after/test.java new file mode 100644 index 000000000000..dafbfca4a742 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t106/after/test.java @@ -0,0 +1,6 @@ +public class Test<T extends Number> { + String t; + void foo() { + int i = t.intValue(); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t106/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t106/before/test.java new file mode 100644 index 000000000000..65ad21055710 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t106/before/test.java @@ -0,0 +1,6 @@ +public class Test<T extends Number> { + T t; + void foo() { + int i = t.intValue(); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t107/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t107/after/Test.items new file mode 100644 index 000000000000..93a16148be72 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t107/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:t : java.lang.Integer +PsiMethodCallExpression:t.intValue() : int +PsiReferenceExpression:t : java.lang.Integer + +Conversions: +t.intValue() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t107/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t107/after/test.java new file mode 100644 index 000000000000..ce44f19e2458 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t107/after/test.java @@ -0,0 +1,6 @@ +public class Test<T extends Number> { + Integer t; + void foo() { + int i = t.intValue(); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t107/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t107/before/test.java new file mode 100644 index 000000000000..65ad21055710 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t107/before/test.java @@ -0,0 +1,6 @@ +public class Test<T extends Number> { + T t; + void foo() { + int i = t.intValue(); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t108/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t108/after/Test.items new file mode 100644 index 000000000000..a9f530ce25f7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t108/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiMethodCallExpression:integer.intValue() : int +PsiParameter:integer : java.lang.Number +PsiParameter:l : java.util.List<? extends java.lang.Number> +PsiReferenceExpression:integer : java.lang.Number +PsiReferenceExpression:l : java.util.List<? extends java.lang.Number> + +Conversions: +integer.intValue() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t108/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t108/after/test.java new file mode 100644 index 000000000000..26b9322b4739 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t108/after/test.java @@ -0,0 +1,8 @@ +import java.util.*; +public class Test { + void method(List<? extends Number> l) { + for (Number integer : l) { + System.out.println(integer.intValue()); + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t108/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t108/before/test.java new file mode 100644 index 000000000000..08a3229cd932 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t108/before/test.java @@ -0,0 +1,8 @@ +import java.util.*; +public class Test { + void method(List<Integer> l) { + for (Integer integer : l) { + System.out.println(integer.intValue()); + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t109/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t109/after/Test.items new file mode 100644 index 000000000000..6a47f6675781 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t109/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiMethodCallExpression:integer.hashCode() : int +PsiParameter:integer : java.lang.Object +PsiParameter:l : java.util.List<? super java.lang.Number> +PsiReferenceExpression:integer : java.lang.Object +PsiReferenceExpression:l : java.util.List<? super java.lang.Number> + +Conversions: +integer.hashCode() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t109/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t109/after/test.java new file mode 100644 index 000000000000..bae70cd5b0d4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t109/after/test.java @@ -0,0 +1,8 @@ +import java.util.*; +public class Test { + void method(List<? super Number> l) { + for (Object integer : l) { + System.out.println(integer.hashCode()); + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t109/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t109/before/test.java new file mode 100644 index 000000000000..26280e892cd0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t109/before/test.java @@ -0,0 +1,8 @@ +import java.util.*; +public class Test { + void method(List<Integer> l) { + for (Integer integer : l) { + System.out.println(integer.hashCode()); + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t11/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t11/after/Test.items new file mode 100644 index 000000000000..4058a7862ff2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t11/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : java.util.Map<java.lang.String,java.lang.Integer> +PsiMethodCallExpression:f.keySet() : java.util.Set<java.lang.String> +PsiParameter:i : java.lang.String +PsiReferenceExpression:f : java.util.Map<java.lang.String,java.lang.Integer> + +Conversions: +f.keySet() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t11/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t11/after/test.java new file mode 100644 index 000000000000..1491875ea2b7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t11/after/test.java @@ -0,0 +1,7 @@ +import java.util.Map; +public class Test { + Map<String, Integer> f; + void foo() { + for (String i : f.keySet()) {} + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t11/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t11/before/test.java new file mode 100644 index 000000000000..b0aa7086f175 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t11/before/test.java @@ -0,0 +1,7 @@ +import java.util.Map; +public class Test { + Map<Integer, Integer> f; + void foo() { + for (Integer i : f.keySet()) {} + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t110/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t110/after/Test.items new file mode 100644 index 000000000000..3853e035e26b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t110/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiParameter:integer : java.lang.String +PsiParameter:l : java.util.List<? extends java.lang.String> +PsiReferenceExpression:integer : java.lang.String +PsiReferenceExpression:l : java.util.List<? extends java.lang.String> + +Conversions: + +New expression type changes: +Fails: +integer->java.lang.String diff --git a/java/typeMigration/testData/refactoring/typeMigration/t110/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t110/after/test.java new file mode 100644 index 000000000000..cb813fd6567f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t110/after/test.java @@ -0,0 +1,8 @@ +import java.util.*; +public class Test { + void method(List<? extends String> l) { + for (String integer : l) { + System.out.println(integer.intValue()); + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t110/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t110/before/test.java new file mode 100644 index 000000000000..08a3229cd932 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t110/before/test.java @@ -0,0 +1,8 @@ +import java.util.*; +public class Test { + void method(List<Integer> l) { + for (Integer integer : l) { + System.out.println(integer.intValue()); + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t111/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t111/after/Test.items new file mode 100644 index 000000000000..29717a0b2377 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t111/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiParameter:i : java.lang.Integer[] +PsiReferenceExpression:i : java.lang.Integer[] +PsiReferenceExpression:i : java.lang.Integer[] + +Conversions: + +New expression type changes: +Fails: +i->java.lang.Integer[] +i++->java.lang.Integer[] diff --git a/java/typeMigration/testData/refactoring/typeMigration/t111/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t111/after/test.java new file mode 100644 index 000000000000..e257e485d6bb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t111/after/test.java @@ -0,0 +1,7 @@ +public class Test { + void method(Integer[] i) { + if (i == 0) { + i++; + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t111/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t111/before/test.java new file mode 100644 index 000000000000..2620dd9f5d6a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t111/before/test.java @@ -0,0 +1,7 @@ +public class Test { + void method(Integer i) { + if (i == 0) { + i++; + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t112/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t112/after/Test.items new file mode 100644 index 000000000000..78f2ed729f10 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t112/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiMethod:method : java.lang.Integer[] + +Conversions: +112 -> new java.lang.Integer[]{$qualifier$} $qualifier$ 112 + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t112/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t112/after/test.java new file mode 100644 index 000000000000..c31ec11010c3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t112/after/test.java @@ -0,0 +1,5 @@ +public class Test { + Integer[] method() { + return new Integer[]{112}; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t112/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t112/before/test.java new file mode 100644 index 000000000000..e7bf28f0de1e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t112/before/test.java @@ -0,0 +1,5 @@ +public class Test { + Integer method() { + return 112; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t113/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t113/after/Test.items new file mode 100644 index 000000000000..1b69785be552 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t113/after/Test.items @@ -0,0 +1,7 @@ +Types: +PsiParameter:p : java.lang.Number... + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t113/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t113/after/test.java new file mode 100644 index 000000000000..9f9bdcaffad7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t113/after/test.java @@ -0,0 +1,7 @@ +public class Test { + void method(Number... p) {} + + public void doSmth() { + m(123); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t113/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t113/before/test.java new file mode 100644 index 000000000000..6627e8d101de --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t113/before/test.java @@ -0,0 +1,7 @@ +public class Test { + void method(Integer... p) {} + + public void doSmth() { + m(123); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t114/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t114/after/Test.items new file mode 100644 index 000000000000..b6c70f112866 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t114/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.lang.String... +PsiReferenceExpression:p : java.lang.String[] + +Conversions: + +New expression type changes: +Fails: +p[0]->java.lang.String diff --git a/java/typeMigration/testData/refactoring/typeMigration/t114/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t114/after/test.java new file mode 100644 index 000000000000..6e2b9f24c22a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t114/after/test.java @@ -0,0 +1,9 @@ +public class Test { + void method(String... p) { + int i = p[0].intValue(); + } + + public void doSmth() { + m(123); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t114/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t114/before/test.java new file mode 100644 index 000000000000..f73951e56432 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t114/before/test.java @@ -0,0 +1,9 @@ +public class Test { + void method(Integer... p) { + int i = p[0].intValue(); + } + + public void doSmth() { + m(123); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t115/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t115/after/Test.items new file mode 100644 index 000000000000..b07cf0af793c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t115/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:i : java.lang.String... + +Conversions: + +New expression type changes: +Fails: +2->java.lang.String diff --git a/java/typeMigration/testData/refactoring/typeMigration/t115/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t115/after/test.java new file mode 100644 index 000000000000..8d69a2330c70 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t115/after/test.java @@ -0,0 +1,8 @@ +class Test { + void foo(String... i) { + } + + void bar() { + foo("str", 2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t115/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t115/before/test.java new file mode 100644 index 000000000000..f585aba2e91c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t115/before/test.java @@ -0,0 +1,8 @@ +class Test { + void foo(Object... i) { + } + + void bar() { + foo("str", 2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t116/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t116/after/Test.items new file mode 100644 index 000000000000..0aee5ef814c6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t116/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:str : java.lang.String +PsiParameter:number : java.lang.String +PsiReferenceExpression:number : java.lang.String +PsiReferenceExpression:str : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t116/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t116/after/test.java new file mode 100644 index 000000000000..95ddfb44251f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t116/after/test.java @@ -0,0 +1,9 @@ +class Test { + String str; + + void foo(String[] p) { + for (String number : p) { + number = str; + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t116/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t116/before/test.java new file mode 100644 index 000000000000..d68047e81823 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t116/before/test.java @@ -0,0 +1,9 @@ +class Test { + Number str; + + void foo(String[] p) { + for (Number number : p) { + number = str; + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t117/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t117/after/Test.items new file mode 100644 index 000000000000..0aee5ef814c6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t117/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:str : java.lang.String +PsiParameter:number : java.lang.String +PsiReferenceExpression:number : java.lang.String +PsiReferenceExpression:str : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t117/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t117/after/test.java new file mode 100644 index 000000000000..3172eaa133dc --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t117/after/test.java @@ -0,0 +1,10 @@ +import java.util.*; +class Test { + String str; + + void foo(List<String> p) { + for (String number : p) { + number = str; + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t117/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t117/before/test.java new file mode 100644 index 000000000000..46cde69dca96 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t117/before/test.java @@ -0,0 +1,10 @@ +import java.util.*; +class Test { + Number str; + + void foo(List<String> p) { + for (Number number : p) { + number = str; + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t118/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t118/after/Test.items new file mode 100644 index 000000000000..dcd1be2928cb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t118/after/Test.items @@ -0,0 +1,7 @@ +Types: +PsiParameter:p : java.lang.Integer... + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t118/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t118/after/test.java new file mode 100644 index 000000000000..37d684a97957 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t118/after/test.java @@ -0,0 +1,10 @@ +import java.util.*; +class Test { + + void method(Integer... p) { + } + + public void doSmth(ArrayList<Integer> p) { + method(p.get(2)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t118/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t118/before/test.java new file mode 100644 index 000000000000..012a188e5ad5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t118/before/test.java @@ -0,0 +1,10 @@ +import java.util.*; +class Test { + + void method(Integer p) { + } + + public void doSmth(ArrayList<Integer> p) { + method(p.get(2)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t119/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t119/after/Test.items new file mode 100644 index 000000000000..dcd1be2928cb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t119/after/Test.items @@ -0,0 +1,7 @@ +Types: +PsiParameter:p : java.lang.Integer... + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t119/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t119/after/test.java new file mode 100644 index 000000000000..28446b6bc761 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t119/after/test.java @@ -0,0 +1,9 @@ +class Test { + + void method(Integer... p) { + } + + public void doSmth(Integer[] p) { + method(p[2]); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t119/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t119/before/test.java new file mode 100644 index 000000000000..28aeed25cefa --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t119/before/test.java @@ -0,0 +1,9 @@ +class Test { + + void method(Integer p) { + } + + public void doSmth(Integer[] p) { + method(p[2]); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t12/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t12/after/Test.items new file mode 100644 index 000000000000..a1b75e0f23ac --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t12/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f : java.util.List<java.lang.String> +PsiLocalVariable:i : java.lang.String +PsiReferenceExpression:f : java.util.List<java.lang.String> + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t12/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t12/after/test.java new file mode 100644 index 000000000000..657869206253 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t12/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +public class Test { + List<String> f; + void foo() { + String i = Collections.min(f); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t12/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t12/before/test.java new file mode 100644 index 000000000000..24199ff02584 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t12/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +public class Test { + List<Integer> f; + void foo() { + Integer i = Collections.min(f); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t120/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t120/after/Test.items new file mode 100644 index 000000000000..6f23d60f1d3c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t120/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiParameter:p : java.lang.String... +PsiParameter:p : java.lang.String[] +PsiReferenceExpression:p : java.lang.String[] +PsiReferenceExpression:p : java.lang.String[] + +Conversions: + +New expression type changes: +Fails: +p[3]->java.lang.String diff --git a/java/typeMigration/testData/refactoring/typeMigration/t120/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t120/after/test.java new file mode 100644 index 000000000000..e40c1215581b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t120/after/test.java @@ -0,0 +1,10 @@ +class Test { + + void method(String... p) { + } + + public void doSmth(String[] p) { + method(p[2]); + System.out.println(p[3].intValue()); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t120/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t120/before/test.java new file mode 100644 index 000000000000..0f65e57d94ee --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t120/before/test.java @@ -0,0 +1,10 @@ +class Test { + + void method(Integer p) { + } + + public void doSmth(Integer[] p) { + method(p[2]); + System.out.println(p[3].intValue()); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t121/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t121/after/Test.items new file mode 100644 index 000000000000..dadc2c72891a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t121/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiMethodCallExpression:p.add(8) : boolean +PsiParameter:p : java.util.ArrayList<java.lang.Float> +PsiReferenceExpression:p : java.util.ArrayList<java.lang.Float> + +Conversions: +8 -> $ +p.add(8) -> $ + +New expression type changes: +Fails: +8->java.lang.Float diff --git a/java/typeMigration/testData/refactoring/typeMigration/t121/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t121/after/test.java new file mode 100644 index 000000000000..e3a952e4d560 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t121/after/test.java @@ -0,0 +1,8 @@ +import java.util.*; +class Test { + + void method(ArrayList<Float> p){ + p.add(8); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t121/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t121/before/test.java new file mode 100644 index 000000000000..aad87ca532b7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t121/before/test.java @@ -0,0 +1,8 @@ +import java.util.*; +class Test { + + void method(ArrayList<Number> p){ + p.add(8); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t122/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t122/after/Test.items new file mode 100644 index 000000000000..00092fc53a55 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t122/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.util.List<java.lang.Integer>[] +PsiReferenceExpression:p : java.util.List<java.lang.Integer>[] + +Conversions: + +New expression type changes: +Fails: +p->java.util.List<java.lang.Integer>[] diff --git a/java/typeMigration/testData/refactoring/typeMigration/t122/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t122/after/test.java new file mode 100644 index 000000000000..5784ee52e360 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t122/after/test.java @@ -0,0 +1,8 @@ +import java.util.*; +class Test { + + void method(List<Integer>[] p){ + ArrayList<Integer> v = p.get(0); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t122/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t122/before/test.java new file mode 100644 index 000000000000..bb086dad2af8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t122/before/test.java @@ -0,0 +1,8 @@ +import java.util.*; +class Test { + + void method(List<ArrayList<Integer>> p){ + ArrayList<Integer> v = p.get(0); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t123/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t123/after/Test.items new file mode 100644 index 000000000000..691d3e6a1e26 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t123/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiField:n : java.lang.Integer +PsiParameter:number : java.lang.Integer +PsiParameter:p : java.lang.Integer[] +PsiReferenceExpression:n : java.lang.Integer +PsiReferenceExpression:number : java.lang.Integer +PsiReferenceExpression:p : java.lang.Integer[] + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t123/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t123/after/test.java new file mode 100644 index 000000000000..883991ffec9d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t123/after/test.java @@ -0,0 +1,9 @@ +class Test { + Integer n; + + void foo(Integer[] p) { + for (Integer number : p) { + n = number; + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t123/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t123/before/test.java new file mode 100644 index 000000000000..516fcf828234 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t123/before/test.java @@ -0,0 +1,9 @@ +class Test { + Number n; + + void foo(Number[] p) { + for (Number number : p) { + n = number; + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t124/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t124/after/Test.items new file mode 100644 index 000000000000..4a7df94f76b2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t124/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.lang.Integer +PsiReferenceExpression:p : java.lang.Integer + +Conversions: + +New expression type changes: +Fails: +p->java.lang.Integer diff --git a/java/typeMigration/testData/refactoring/typeMigration/t124/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t124/after/test.java new file mode 100644 index 000000000000..f41fe88534f4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t124/after/test.java @@ -0,0 +1,5 @@ +class Test { + public <U> U meth(Integer p) { + return p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t124/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t124/before/test.java new file mode 100644 index 000000000000..b40d864d16c7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t124/before/test.java @@ -0,0 +1,5 @@ +class Test { + public <U> U meth(U p) { + return p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t125/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t125/after/Test.items new file mode 100644 index 000000000000..3859bad4e428 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t125/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.lang.Integer +PsiReferenceExpression:p : java.lang.Integer + +Conversions: + +New expression type changes: +Fails: +Collections.singletonList(p)->java.util.List<java.lang.Integer> diff --git a/java/typeMigration/testData/refactoring/typeMigration/t125/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t125/after/test.java new file mode 100644 index 000000000000..7854f476cc9e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t125/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + public <U> List<U> meth(Integer p) { + return Collections.singletonList(p); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t125/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t125/before/test.java new file mode 100644 index 000000000000..30cf3914d62a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t125/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + public <U> List<U> meth(U p) { + return Collections.singletonList(p); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t126/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t126/after/Test.items new file mode 100644 index 000000000000..f870c21c0523 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t126/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiMethod:meth : T + +Conversions: + +New expression type changes: +Fails: +map.get(2)->T diff --git a/java/typeMigration/testData/refactoring/typeMigration/t126/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t126/after/test.java new file mode 100644 index 000000000000..7b2814378d28 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t126/after/test.java @@ -0,0 +1,9 @@ +import java.util.*; + +class Test<T> { + Map<Integer, String> map; + + T meth() { + return map.get(2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t126/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t126/before/test.java new file mode 100644 index 000000000000..0dc76ccbdc72 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t126/before/test.java @@ -0,0 +1,9 @@ +import java.util.*; + +class Test<T> { + Map<Integer, String> map; + + String meth() { + return map.get(2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t127/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t127/after/Test.items new file mode 100644 index 000000000000..78aa0fbd396b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t127/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiLocalVariable:i : long +PsiMethod:test234 : long +PsiMethodCallExpression:test234(1, + 2) : long + +Conversions: +1 -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t127/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t127/after/test.java new file mode 100644 index 000000000000..06a4d09a41a6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t127/after/test.java @@ -0,0 +1,13 @@ +public class Test { + + public long test234(int i, + int j) + { + return 1; + } + + public void foo() { + long i = test234(1, + 2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t127/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t127/before/test.java new file mode 100644 index 000000000000..dd2c813fd38e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t127/before/test.java @@ -0,0 +1,13 @@ +public class Test { + + public int test234(int i, + int j) + { + return 1; + } + + public void foo() { + int i = test234(1, + 2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t128/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t128/after/Test.items new file mode 100644 index 000000000000..24ec208dbb43 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t128/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:e.printStackTrace() : void +PsiParameter:e : Test.E +PsiReferenceExpression:e : Test.E + +Conversions: +e.printStackTrace() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t128/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t128/after/test.java new file mode 100644 index 000000000000..8f2ad153d911 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t128/after/test.java @@ -0,0 +1,16 @@ +class Test { + static class E extends Exception { } + static class E1 extends E { } + static class E2 extends E { } + + void m(boolean f) { + try { + if (f) + throw new E1(); + else + throw new E2(); + } catch (E e) { + e.printStackTrace(); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t128/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t128/before/test.java new file mode 100644 index 000000000000..33bb6bf973c1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t128/before/test.java @@ -0,0 +1,16 @@ +class Test { + static class E extends Exception { } + static class E1 extends E { } + static class E2 extends E { } + + void m(boolean f) { + try { + if (f) + throw new E1(); + else + throw new E2(); + } catch (E1 | E2 e) { + e.printStackTrace(); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t129/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t129/after/Test.items new file mode 100644 index 000000000000..8ca26492b5bd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t129/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:e.printStackTrace() : void +PsiParameter:e : Test.E1 | Test.E2 +PsiReferenceExpression:e : Test.E1 | Test.E2 + +Conversions: +e.printStackTrace() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t129/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t129/after/test.java new file mode 100644 index 000000000000..33bb6bf973c1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t129/after/test.java @@ -0,0 +1,16 @@ +class Test { + static class E extends Exception { } + static class E1 extends E { } + static class E2 extends E { } + + void m(boolean f) { + try { + if (f) + throw new E1(); + else + throw new E2(); + } catch (E1 | E2 e) { + e.printStackTrace(); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t129/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t129/before/test.java new file mode 100644 index 000000000000..8f2ad153d911 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t129/before/test.java @@ -0,0 +1,16 @@ +class Test { + static class E extends Exception { } + static class E1 extends E { } + static class E2 extends E { } + + void m(boolean f) { + try { + if (f) + throw new E1(); + else + throw new E2(); + } catch (E e) { + e.printStackTrace(); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t13/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t13/after/Test.items new file mode 100644 index 000000000000..ca5cc75efa2e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t13/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : java.util.List<java.lang.Integer> +PsiMethodCallExpression:f.add("val") : boolean +PsiReferenceExpression:f : java.util.List<java.lang.Integer> + +Conversions: +f.add("val") -> $ + +New expression type changes: +Fails: +"val"->java.lang.Integer diff --git a/java/typeMigration/testData/refactoring/typeMigration/t13/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t13/after/test.java new file mode 100644 index 000000000000..53b97a29e38c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t13/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +public class Test { + List<Integer> f; + void foo() { + f.add("val"); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t13/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t13/before/test.java new file mode 100644 index 000000000000..9024eab86966 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t13/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +public class Test { + List<String> f; + void foo() { + f.add("val"); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t130/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t130/after/Test.items new file mode 100644 index 000000000000..056ae7968e06 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t130/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiMethodCallExpression:e.printStackTrace() : void +PsiParameter:e : Test.E +PsiReferenceExpression:e : Test.E +PsiReferenceExpression:e : Test.E + +Conversions: +e.printStackTrace() -> $ + +New expression type changes: +Fails: +e->Test.E diff --git a/java/typeMigration/testData/refactoring/typeMigration/t130/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t130/after/test.java new file mode 100644 index 000000000000..67ed3db2315a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t130/after/test.java @@ -0,0 +1,18 @@ +class Test { + static class E extends Exception { } + static interface I { void i(); } + static class E1 extends E implements I { public void i() { } } + static class E2 extends E implements I { public void i() { } } + + void m(boolean f) { + try { + if (f) + throw new E1(); + else + throw new E2(); + } catch (E e) { + e.printStackTrace(); + e.i(); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t130/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t130/before/test.java new file mode 100644 index 000000000000..7ee7852db3d4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t130/before/test.java @@ -0,0 +1,18 @@ +class Test { + static class E extends Exception { } + static interface I { void i(); } + static class E1 extends E implements I { public void i() { } } + static class E2 extends E implements I { public void i() { } } + + void m(boolean f) { + try { + if (f) + throw new E1(); + else + throw new E2(); + } catch (E1 | E2 e) { + e.printStackTrace(); + e.i(); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t131/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t131/after/Test.items new file mode 100644 index 000000000000..e8d3b6152d2d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t131/after/Test.items @@ -0,0 +1,13 @@ +Types: +PsiMethodCallExpression:e.i() : void +PsiMethodCallExpression:e.printStackTrace() : void +PsiParameter:e : Test.E2 | Test.E1 +PsiReferenceExpression:e : Test.E2 | Test.E1 +PsiReferenceExpression:e : Test.E2 | Test.E1 + +Conversions: +e.i() -> $ +e.printStackTrace() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t131/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t131/after/test.java new file mode 100644 index 000000000000..5c02bb8a41f2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t131/after/test.java @@ -0,0 +1,18 @@ +class Test { + static class E extends Exception { } + static interface I { void i(); } + static class E1 extends E implements I { public void i() { } } + static class E2 extends E implements I { public void i() { } } + + void m(boolean f) { + try { + if (f) + throw new E1(); + else + throw new E2(); + } catch (E2 | E1 e) { + e.printStackTrace(); + e.i(); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t131/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t131/before/test.java new file mode 100644 index 000000000000..7ee7852db3d4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t131/before/test.java @@ -0,0 +1,18 @@ +class Test { + static class E extends Exception { } + static interface I { void i(); } + static class E1 extends E implements I { public void i() { } } + static class E2 extends E implements I { public void i() { } } + + void m(boolean f) { + try { + if (f) + throw new E1(); + else + throw new E2(); + } catch (E1 | E2 e) { + e.printStackTrace(); + e.i(); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t132/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t132/after/Test.items new file mode 100644 index 000000000000..e5b813b90288 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t132/after/Test.items @@ -0,0 +1,15 @@ +Types: +PsiMethodCallExpression:i.f() : void +PsiMethodCallExpression:i.f() : void +PsiParameter:i : I +PsiParameter:i : I +PsiParameter:i : I +PsiReferenceExpression:i : I +PsiReferenceExpression:i : I + +Conversions: +i.f() -> $ +i.f() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t132/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t132/after/test.java new file mode 100644 index 000000000000..6f53c98f5459 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t132/after/test.java @@ -0,0 +1,25 @@ +interface I { + void f(); +} + +interface J extends I { + void g(); +} + +public interface Test { + void h(I i); +} + +class B implements Test { + @Override + public void h(I i) { + i.f(); + } +} + +class C implements Test { + @Override + public void h(I i) { + i.f(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t132/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t132/before/test.java new file mode 100644 index 000000000000..2e6ab23c21d6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t132/before/test.java @@ -0,0 +1,25 @@ +interface I { + void f(); +} + +interface J extends I { + void g(); +} + +public interface Test { + void h(J i); +} + +class B implements Test { + @Override + public void h(J i) { + i.f(); + } +} + +class C implements Test { + @Override + public void h(J i) { + i.f(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t133/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t133/after/Test.items new file mode 100644 index 000000000000..777fddf90a83 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t133/after/Test.items @@ -0,0 +1,16 @@ +Types: +PsiMethodCallExpression:i.f() : void +PsiMethodCallExpression:i.f() : void +PsiParameter:i : I +PsiParameter:i : I +PsiParameter:i : I +PsiParameter:i : I +PsiReferenceExpression:i : I +PsiReferenceExpression:i : I + +Conversions: +i.f() -> $ +i.f() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t133/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t133/after/test.java new file mode 100644 index 000000000000..41db920f7120 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t133/after/test.java @@ -0,0 +1,33 @@ +interface I { + void f(); +} + +interface J extends I { + void g(); +} + +public interface Test { + void h(I i); +} + +class B implements Test { + @Override + public void h(I i) { + i.f(); + } +} + +class C extends B { + @Override + public void h(I i) { + i.f(); + } +} + +abstract class F implements Test {} + +class FF extends F { + @Override + public void h(I i) { + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t133/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t133/before/test.java new file mode 100644 index 000000000000..5599c1a59b46 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t133/before/test.java @@ -0,0 +1,33 @@ +interface I { + void f(); +} + +interface J extends I { + void g(); +} + +public interface Test { + void h(J i); +} + +class B implements Test { + @Override + public void h(J i) { + i.f(); + } +} + +class C extends B { + @Override + public void h(J i) { + i.f(); + } +} + +abstract class F implements Test {} + +class FF extends F { + @Override + public void h(J i) { + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t134/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t134/after/Test.items new file mode 100644 index 000000000000..2880fefdc224 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t134/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiLocalVariable:i : java.lang.String +PsiParameter:a : java.lang.String +PsiReferenceExpression:a : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t134/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t134/after/test.java new file mode 100644 index 000000000000..26cb24f419d2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t134/after/test.java @@ -0,0 +1,5 @@ +class Test { + void buzz(final String a, final int b, final int c) { + String i = a + b + c; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t134/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t134/before/test.java new file mode 100644 index 000000000000..7a7760404f36 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t134/before/test.java @@ -0,0 +1,5 @@ +class Test { + void buzz(final int a, final int b, final int c) { + int i = a + b + c; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t135/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t135/after/Test.items new file mode 100644 index 000000000000..4e20b05def59 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t135/after/Test.items @@ -0,0 +1,16 @@ +Types: +PsiField:bar : int +PsiField:foo : int +PsiParameter:bar : int +PsiParameter:foo : int +PsiReferenceExpression:bar : int +PsiReferenceExpression:bar : int +PsiReferenceExpression:foo : int +PsiReferenceExpression:foo : int +PsiReferenceExpression:this.bar : int +PsiReferenceExpression:this.foo : int + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t135/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t135/after/test.java new file mode 100644 index 000000000000..c992fd8569bf --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t135/after/test.java @@ -0,0 +1,19 @@ +class Test { + private int foo, bar; + + public long getFoo() { + return foo; + } + + public void setFoo(int foo) { + this.foo = foo; + } + + public long getBar() { + return bar; + } + + public void setBar(int bar) { + this.bar = bar; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t135/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t135/before/test.java new file mode 100644 index 000000000000..756e9380835d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t135/before/test.java @@ -0,0 +1,19 @@ +class Test { + private long foo, bar; + + public long getFoo() { + return foo; + } + + public void setFoo(long foo) { + this.foo = foo; + } + + public long getBar() { + return bar; + } + + public void setBar(long bar) { + this.bar = bar; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t136/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t136/after/Test.items new file mode 100644 index 000000000000..617357a07275 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t136/after/Test.items @@ -0,0 +1,17 @@ +Types: +PsiLocalVariable:ints : java.util.ArrayList<java.lang.String> +PsiMethodCallExpression:ints.add(i) : boolean +PsiNewExpression:new ArrayList<Integer>() : java.util.ArrayList<java.lang.String> +PsiParameter:i : java.lang.String +PsiReferenceExpression:i : java.lang.String +PsiReferenceExpression:i : java.lang.String +PsiReferenceExpression:ints : java.util.ArrayList<java.lang.String> +PsiReferenceExpression:ints : java.util.ArrayList<java.lang.String> + +Conversions: +i -> $ +ints.add(i) -> $ + +New expression type changes: +new ArrayList<Integer>() -> java.util.ArrayList<java.lang.String> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t136/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t136/after/test.java new file mode 100644 index 000000000000..08185f4c079c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t136/after/test.java @@ -0,0 +1,8 @@ +import java.util.*; +class Test { + private void foo(String i) { + ArrayList<String> ints = new ArrayList<>(); + ints.add(i); + Object j = constantaB == null ? ints : i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t136/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t136/before/test.java new file mode 100644 index 000000000000..e66f3a5f5bfa --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t136/before/test.java @@ -0,0 +1,8 @@ +import java.util.*; +class Test { + private void foo(Integer i) { + ArrayList<Integer> ints = new ArrayList<Integer>(); + ints.add(i); + Object j = constantaB == null ? ints : i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t137/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t137/after/Test.items new file mode 100644 index 000000000000..01da876f7e94 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t137/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:i : java.lang.String +PsiReferenceExpression:i : java.lang.String + +Conversions: + +New expression type changes: +Fails: +i[0]->java.lang.String diff --git a/java/typeMigration/testData/refactoring/typeMigration/t137/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t137/after/test.java new file mode 100644 index 000000000000..b2d59c1303dc --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t137/after/test.java @@ -0,0 +1,5 @@ +class Test { + private void foo(String i) { + int p = i[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t137/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t137/before/test.java new file mode 100644 index 000000000000..832535bc9440 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t137/before/test.java @@ -0,0 +1,5 @@ +class Test { + private void foo(int i) { + int p = i[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t138/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t138/after/Test.items new file mode 100644 index 000000000000..176574ab1bc0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t138/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:set : java.util.Collection<java.lang.String> +PsiReferenceExpression:set : java.util.Collection<java.lang.String> + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t138/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t138/after/test.java new file mode 100644 index 000000000000..141e122e2ccc --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t138/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + Set<String> mySet = new HashSet(); + void foo(Collection<String> set) { + mySet.retainAll(set); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t138/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t138/before/test.java new file mode 100644 index 000000000000..28feb3c90d4a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t138/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + Set<String> mySet = new HashSet(); + void foo(Set<String> set) { + mySet.retainAll(set); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t139/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t139/after/Test.items new file mode 100644 index 000000000000..2fbe632fa578 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t139/after/Test.items @@ -0,0 +1,7 @@ +Types: +PsiParameter:s : java.lang.Integer + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t139/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t139/after/test.java new file mode 100644 index 000000000000..d91661b68309 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t139/after/test.java @@ -0,0 +1,10 @@ +import java.util.*; + +abstract class A implements Iterable<String> {} + +class Test { + void test(A it) { + for(Integer s : it) { + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t139/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t139/before/test.java new file mode 100644 index 000000000000..f937525f52e2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t139/before/test.java @@ -0,0 +1,10 @@ +import java.util.*; + +abstract class A implements Iterable<String> {} + +class Test { + void test(A it) { + for(String s : it) { + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t14/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t14/after/Test.items new file mode 100644 index 000000000000..21635daebc66 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t14/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:f : A +PsiMethodCallExpression:f.foo() : int +PsiReferenceExpression:f : A + +Conversions: +f.foo() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t14/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t14/after/test.java new file mode 100644 index 000000000000..de034ae20adf --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t14/after/test.java @@ -0,0 +1,13 @@ +public class Test { + A f; + int bar(){ + return f.foo(); + } +} +class A { + int foo(){ + return 0; + } +} + +class B extends A{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t14/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t14/before/test.java new file mode 100644 index 000000000000..8f6feeba681d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t14/before/test.java @@ -0,0 +1,13 @@ +public class Test { + B f; + int bar(){ + return f.foo(); + } +} +class A { + int foo(){ + return 0; + } +} + +class B extends A{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t15/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t15/after/Test.items new file mode 100644 index 000000000000..31ff4b94b421 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t15/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : A +PsiMethodCallExpression:f.foo(f) : int +PsiReferenceExpression:f : A +PsiReferenceExpression:f : A + +Conversions: +f.foo(f) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t15/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t15/after/test.java new file mode 100644 index 000000000000..dcc5808448d5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t15/after/test.java @@ -0,0 +1,16 @@ +public class Test { + A f; + int bar(){ + return f.foo(f); + } +} +class A { + /** + * @param a + */ + int foo(A a){ + return 0; + } +} + +class B extends A{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t15/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t15/before/test.java new file mode 100644 index 000000000000..b22cc32ea85b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t15/before/test.java @@ -0,0 +1,16 @@ +public class Test { + B f; + int bar(){ + return f.foo(f); + } +} +class A { + /** + * @param a + */ + int foo(A a){ + return 0; + } +} + +class B extends A{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t16/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t16/after/Test.items new file mode 100644 index 000000000000..c0038308e560 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t16/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiField:f : B +PsiMethodCallExpression:f.foo(f) : B +PsiReferenceExpression:f : B +PsiReferenceExpression:f : B + +Conversions: +f -> $ +f.foo(f) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t16/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t16/after/test.java new file mode 100644 index 000000000000..8c87396bcb3d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t16/after/test.java @@ -0,0 +1,15 @@ +class Test { + B f; + + A bar() { + return f.foo(f); + } +} +class A { + <T> T foo(T t) { + return t; + } +} + +class B extends A { +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t16/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t16/before/test.java new file mode 100644 index 000000000000..c401bf03de20 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t16/before/test.java @@ -0,0 +1,15 @@ +class Test { + A f; + + A bar() { + return f.foo(f); + } +} +class A { + <T> T foo(T t) { + return t; + } +} + +class B extends A { +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t17/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t17/after/Test.items new file mode 100644 index 000000000000..aa0aa0551659 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t17/after/Test.items @@ -0,0 +1,18 @@ +Types: +PsiField:f : B +PsiMethodCallExpression:f.foo(s) : B +PsiMethodCallExpression:s.add(f) : boolean +PsiParameter:s : java.util.Set<B> +PsiReferenceExpression:f : B +PsiReferenceExpression:f : B +PsiReferenceExpression:s : java.util.Set<B> +PsiReferenceExpression:s : java.util.Set<B> + +Conversions: +f -> $ +f.foo(s) -> $ +s -> $ +s.add(f) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t17/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t17/after/test.java new file mode 100644 index 000000000000..73530057f21b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t17/after/test.java @@ -0,0 +1,17 @@ +import java.util.*; +class Test { + B f; + + A bar(Set<B> s) { + s.add(f); + return f.foo(s); + } +} +class A { + <T> T foo(Set<T> t) { + return null; + } +} + +class B extends A { +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t17/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t17/before/test.java new file mode 100644 index 000000000000..a425495c6065 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t17/before/test.java @@ -0,0 +1,17 @@ +import java.util.*; +class Test { + A f; + + A bar(Set<A> s) { + s.add(f); + return f.foo(s); + } +} +class A { + <T> T foo(Set<T> t) { + return null; + } +} + +class B extends A { +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t18/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t18/after/Test.items new file mode 100644 index 000000000000..2f426a4bb9b0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t18/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:f : B +PsiReferenceExpression:f : B + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t18/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t18/after/test.java new file mode 100644 index 000000000000..35d9b61c1045 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t18/after/test.java @@ -0,0 +1,11 @@ +import java.util.*; +class Test { + B f; + void bar(Set<A> s) { + for (String s : f) {} + } +} + +class A<Y> extends List<String> {} + +class B extends A<Integer> {}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t18/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t18/before/test.java new file mode 100644 index 000000000000..3113a46d5dc6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t18/before/test.java @@ -0,0 +1,11 @@ +import java.util.*; +class Test { + A f; + void bar(Set<A> s) { + for (String s : f) {} + } +} + +class A<Y> extends List<String> {} + +class B extends A<Integer> {}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t19/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t19/after/Test.items new file mode 100644 index 000000000000..a2ec06ad3634 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t19/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : java.util.HashMap<java.lang.Integer,java.lang.Integer> +PsiLocalVariable:s : java.util.Set<java.lang.Integer> +PsiMethodCallExpression:f.keySet() : java.util.Set<java.lang.Integer> +PsiReferenceExpression:f : java.util.HashMap<java.lang.Integer,java.lang.Integer> + +Conversions: +f.keySet() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t19/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t19/after/test.java new file mode 100644 index 000000000000..9609791bb138 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t19/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + HashMap<Integer, Integer> f; + void foo() { + Set<Integer> s = f.keySet(); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t19/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t19/before/test.java new file mode 100644 index 000000000000..815f0ed1ab3a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t19/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + Map<String, String> f; + void foo() { + Set<String> s = f.keySet(); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t20/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t20/after/Test.items new file mode 100644 index 000000000000..c97038d663ce --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t20/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : java.util.Map<java.lang.String,java.lang.String> +PsiLocalVariable:s : java.util.Set<java.lang.String> +PsiMethodCallExpression:f.keySet() : java.util.Set<java.lang.String> +PsiReferenceExpression:f : java.util.Map<java.lang.String,java.lang.String> + +Conversions: +f.keySet() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t20/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t20/after/test.java new file mode 100644 index 000000000000..815f0ed1ab3a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t20/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + Map<String, String> f; + void foo() { + Set<String> s = f.keySet(); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t20/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t20/before/test.java new file mode 100644 index 000000000000..9609791bb138 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t20/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + HashMap<Integer, Integer> f; + void foo() { + Set<Integer> s = f.keySet(); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t21/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t21/after/Test.items new file mode 100644 index 000000000000..53630275ac1c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t21/after/Test.items @@ -0,0 +1,14 @@ +Types: +PsiField:f : java.util.Map<java.lang.String,java.util.Set<java.lang.String>> +PsiLocalVariable:stringList : java.util.Set<java.lang.String> +PsiMethodCallExpression:f.get(s) : java.util.Set<java.lang.String> +PsiMethodCallExpression:stringList.add(s) : boolean +PsiReferenceExpression:f : java.util.Map<java.lang.String,java.util.Set<java.lang.String>> +PsiReferenceExpression:stringList : java.util.Set<java.lang.String> + +Conversions: +f.get(s) -> $ +stringList.add(s) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t21/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t21/after/test.java new file mode 100644 index 000000000000..34e758cb64d6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t21/after/test.java @@ -0,0 +1,8 @@ +import java.util.*; +class Test { + Map<String, Set<String>> f; + void foo(String s) { + Set<String> stringList = f.get(s); + stringList.add(s); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t21/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t21/before/test.java new file mode 100644 index 000000000000..1f647aff2488 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t21/before/test.java @@ -0,0 +1,8 @@ +import java.util.*; +class Test { + Map<String, List<String>> f; + void foo(String s) { + List<String> stringList = f.get(s); + stringList.add(s); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t22/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t22/after/Test.items new file mode 100644 index 000000000000..e8b61ea780ac --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t22/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:f : java.lang.Integer +PsiParameter:s : java.lang.Integer +PsiReferenceExpression:f : java.lang.Integer + +Conversions: +f -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t22/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t22/after/test.java new file mode 100644 index 000000000000..affc2b3da86f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t22/after/test.java @@ -0,0 +1,8 @@ +class Test { + Integer f; + void foo(Integer s) {} + + void bar() { + foo(f); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t22/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t22/before/test.java new file mode 100644 index 000000000000..24b0b43cb5a2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t22/before/test.java @@ -0,0 +1,8 @@ +class Test { + String f; + void foo(String... s) {} + + void bar() { + foo(f); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t23/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t23/after/Test.items new file mode 100644 index 000000000000..99507129472e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t23/after/Test.items @@ -0,0 +1,22 @@ +Types: +PsiField:f : HashMap<java.lang.String,java.util.List<java.lang.String>> +PsiLocalVariable:set : java.util.List<java.lang.String> +PsiMethodCallExpression:f.get(s) : java.util.List<java.lang.String> +PsiMethodCallExpression:f.put(s, set) : java.util.List<java.lang.String> +PsiMethodCallExpression:set.add(s1) : boolean +PsiReferenceExpression:f : HashMap<java.lang.String,java.util.List<java.lang.String>> +PsiReferenceExpression:f : HashMap<java.lang.String,java.util.List<java.lang.String>> +PsiReferenceExpression:set : java.util.List<java.lang.String> +PsiReferenceExpression:set : java.util.List<java.lang.String> +PsiReferenceExpression:set : java.util.List<java.lang.String> +PsiReferenceExpression:set : java.util.List<java.lang.String> + +Conversions: +f.get(s) -> $ +f.put(s, set) -> $ +set -> $ +set.add(s1) -> $ + +New expression type changes: +Fails: +new HashSet<String>()->java.util.List<java.lang.String> diff --git a/java/typeMigration/testData/refactoring/typeMigration/t23/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t23/after/test.java new file mode 100644 index 000000000000..df9ad40dc0e9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t23/after/test.java @@ -0,0 +1,15 @@ +import java.util.*; +class Test { + HashMap<String, List<String>> f; + + void foo(String s, String s1) { + List<String> set = f.get(s); + if (set == null) { + set = new HashSet<String>(); + f.put(s, set); + } + set.add(s1); + } +} + +class HashMap<K, V> extends java.util.HashMap<K, V>{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t23/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t23/before/test.java new file mode 100644 index 000000000000..a99eafcc46dc --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t23/before/test.java @@ -0,0 +1,15 @@ +import java.util.*; +class Test { + HashMap<String, Set<String>> f; + + void foo(String s, String s1) { + Set<String> set = f.get(s); + if (set == null) { + set = new HashSet<String>(); + f.put(s, set); + } + set.add(s1); + } +} + +class HashMap<K, V> extends java.util.HashMap<K, V>{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t24/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t24/after/Test.items new file mode 100644 index 000000000000..21962d201ce2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t24/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:f : D +PsiReferenceExpression:f : D + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t24/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t24/after/test.java new file mode 100644 index 000000000000..6e0abdb55348 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t24/after/test.java @@ -0,0 +1,14 @@ +public class Test { + D f; + C foo() { + return null; + } +} +class B extends Test { + C foo() { + return f; + } +} + +class C {} +class D extends C{} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t24/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t24/before/test.java new file mode 100644 index 000000000000..536dfc3ebd30 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t24/before/test.java @@ -0,0 +1,14 @@ +public class Test { + C f; + C foo() { + return null; + } +} +class B extends Test { + C foo() { + return f; + } +} + +class C {} +class D extends C{} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t25/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t25/after/Test.items new file mode 100644 index 000000000000..21962d201ce2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t25/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:f : D +PsiReferenceExpression:f : D + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t25/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t25/after/test.java new file mode 100644 index 000000000000..b06e456332d8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t25/after/test.java @@ -0,0 +1,15 @@ +public class Test { + D f; + C foo() { + return f; + } +} + +class B extends Test { + C foo() { + return null; + } +} + +class C {} +class D extends C{} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t25/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t25/before/test.java new file mode 100644 index 000000000000..2994877fade8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t25/before/test.java @@ -0,0 +1,15 @@ +public class Test { + C f; + C foo() { + return f; + } +} + +class B extends Test { + C foo() { + return null; + } +} + +class C {} +class D extends C{} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t26/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t26/after/Test.items new file mode 100644 index 000000000000..eae7ba330dd9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t26/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : D +PsiParameter:c : D +PsiParameter:c : D +PsiReferenceExpression:c : D +PsiReferenceExpression:f : D + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t26/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t26/after/test.java new file mode 100644 index 000000000000..ee47caa11464 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t26/after/test.java @@ -0,0 +1,15 @@ +class Test { + D f; + void foo(D c) { + f = c; + } +} + +class B extends Test { + void foo(D c) { + + } +} + +class C {} +class D extends C{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t26/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t26/before/test.java new file mode 100644 index 000000000000..581f5fa3bc83 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t26/before/test.java @@ -0,0 +1,15 @@ +class Test { + C f; + void foo(C c) { + f = c; + } +} + +class B extends Test { + void foo(C c) { + + } +} + +class C {} +class D extends C{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t27/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t27/after/Test.items new file mode 100644 index 000000000000..eae7ba330dd9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t27/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : D +PsiParameter:c : D +PsiParameter:c : D +PsiReferenceExpression:c : D +PsiReferenceExpression:f : D + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t27/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t27/after/test.java new file mode 100644 index 000000000000..5eb0cb2d97b9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t27/after/test.java @@ -0,0 +1,13 @@ +class Test { + D f; + void foo(D c) {} +} + +class B extends Test { + void foo(D c) { + f = c; + } +} + +class C {} +class D extends C{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t27/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t27/before/test.java new file mode 100644 index 000000000000..a18da122856d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t27/before/test.java @@ -0,0 +1,13 @@ +class Test { + C f; + void foo(C c) {} +} + +class B extends Test { + void foo(C c) { + f = c; + } +} + +class C {} +class D extends C{}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t28/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t28/after/Test.items new file mode 100644 index 000000000000..80d6c0c3bf37 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t28/after/Test.items @@ -0,0 +1,13 @@ +Types: +PsiField:f : java.lang.String[] +PsiMethodCallExpression:f.size() : int +PsiMethodCallExpression:f.toArray(new String[f.size()]) : java.lang.String[] +PsiReferenceExpression:f : java.lang.String[] +PsiReferenceExpression:f : java.lang.String[] + +Conversions: +f.size() -> $qualifier$.length $qualifier$.size() +f.toArray(new String[f.size()]) -> $qualifier$ $qualifier$.toArray($expr$) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t28/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t28/after/test.java new file mode 100644 index 000000000000..0b1e27daa0ee --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t28/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + String[] f; + String[] get() { + return f; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t28/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t28/before/test.java new file mode 100644 index 000000000000..43c040a3baf4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t28/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + List<String> f; + String[] get() { + return f.toArray(new String[f.size()]); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t29/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t29/after/Test.items new file mode 100644 index 000000000000..5b040a6aaa19 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t29/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiMethod:get : java.util.List<java.lang.String> + +Conversions: +f.toArray(new String[f.size()]) -> $qualifier$ $qualifier$.toArray($expr$) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t29/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t29/after/test.java new file mode 100644 index 000000000000..23a1f11f461e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t29/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + List<String> f; + List<String> get() { + return f; + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t29/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t29/before/test.java new file mode 100644 index 000000000000..43c040a3baf4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t29/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + List<String> f; + String[] get() { + return f.toArray(new String[f.size()]); + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t30/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t30/after/Test.items new file mode 100644 index 000000000000..cfd748933e5d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t30/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:f : java.lang.String[] +PsiMethodCallExpression:f.size() : int +PsiReferenceExpression:f : java.lang.String[] + +Conversions: +f.size() -> $qualifier$.length $qualifier$.size() + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t30/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t30/after/test.java new file mode 100644 index 000000000000..28f71fc98c82 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t30/after/test.java @@ -0,0 +1,9 @@ +import java.util.*; +class Test { + String[] f; + void foo() { + for (int i = 0; i < f.length; i++) { + + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t30/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t30/before/test.java new file mode 100644 index 000000000000..5317e2164e7b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t30/before/test.java @@ -0,0 +1,9 @@ +import java.util.*; +class Test { + List<String> f; + void foo() { + for (int i = 0; i < f.size(); i++) { + + } + } +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t31/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t31/after/Test.items new file mode 100644 index 000000000000..7459a22f27d0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t31/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f : java.lang.Object +PsiReferenceExpression:f : java.lang.Object + +Conversions: + +New expression type changes: +Fails: +f->java.lang.Object diff --git a/java/typeMigration/testData/refactoring/typeMigration/t31/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t31/after/test.java new file mode 100644 index 000000000000..ec7fb8e9807d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t31/after/test.java @@ -0,0 +1,8 @@ +class Test { + Object f; + void foo(){} + + void bar() { + f.foo(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t31/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t31/before/test.java new file mode 100644 index 000000000000..b8c08fdfd786 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t31/before/test.java @@ -0,0 +1,8 @@ +class Test { + Test f; + void foo(){} + + void bar() { + f.foo(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t32/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t32/after/Test.items new file mode 100644 index 000000000000..5638ea15f4a6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t32/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:i : int + +Conversions: +#bar(long) -> PsiMethod:bar + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t32/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t32/after/test.java new file mode 100644 index 000000000000..27e7eeb25258 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t32/after/test.java @@ -0,0 +1,7 @@ +/** +* {@link #bar(int)} +*/ +class Test { + + void bar(int i) {} +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t32/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t32/before/test.java new file mode 100644 index 000000000000..a98179d5054c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t32/before/test.java @@ -0,0 +1,7 @@ +/** +* {@link #bar(long)} +*/ +class Test { + + void bar(long i) {} +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t33/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t33/after/Test.items new file mode 100644 index 000000000000..df8f4d2c09d4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t33/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:l : java.util.List<java.lang.Integer> +PsiNewExpression:new ArrayList<String>() : java.util.ArrayList<java.lang.Integer> +PsiReferenceExpression:l : java.util.List<java.lang.Integer> + +Conversions: + +New expression type changes: +new ArrayList<String>() -> java.util.ArrayList<java.lang.Integer> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t33/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t33/after/test.java new file mode 100644 index 000000000000..126292ad9322 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t33/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + List<Integer> l; + void foo() { + l = new ArrayList<>(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t33/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t33/before/test.java new file mode 100644 index 000000000000..f604f9185e2d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t33/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + List<String> l; + void foo() { + l = new ArrayList<String>(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t34/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t34/after/Test.items new file mode 100644 index 000000000000..d9f0bafc62d7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t34/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:l : java.util.AbstractList<java.lang.String> +PsiNewExpression:new ArrayList<String>() : java.util.ArrayList<java.lang.String> +PsiReferenceExpression:l : java.util.AbstractList<java.lang.String> + +Conversions: + +New expression type changes: +new ArrayList<String>() -> java.util.ArrayList<java.lang.String> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t34/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t34/after/test.java new file mode 100644 index 000000000000..954f507013c6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t34/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + AbstractList<String> l; + void foo() { + l = new ArrayList<>(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t34/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t34/before/test.java new file mode 100644 index 000000000000..f604f9185e2d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t34/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + List<String> l; + void foo() { + l = new ArrayList<String>(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t35/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t35/after/Test.items new file mode 100644 index 000000000000..2b28dc8c0984 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t35/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiField:myParent : TestImpl +PsiParameter:parent : TestImpl +PsiParameter:parent : TestImpl +PsiReferenceExpression:myParent : TestImpl +PsiReferenceExpression:parent : TestImpl +PsiReferenceExpression:parent : TestImpl + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t35/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t35/after/test.java new file mode 100644 index 000000000000..b575a53519c4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t35/after/test.java @@ -0,0 +1,13 @@ +class Test { + TestImpl myParent; + + public Test(TestImpl parent) { + myParent = parent; + } + + class TestImpl extends Test { + public TestImpl(TestImpl parent) { + super(parent); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t35/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t35/before/test.java new file mode 100644 index 000000000000..83f66b0bea7c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t35/before/test.java @@ -0,0 +1,13 @@ +class Test { + Test myParent; + + public Test(Test parent) { + myParent = parent; + } + + class TestImpl extends Test { + public TestImpl(Test parent) { + super(parent); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t36/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t36/after/Test.items new file mode 100644 index 000000000000..521251a0dd37 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t36/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:i : byte +PsiReferenceExpression:i : byte + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t36/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t36/after/test.java new file mode 100644 index 000000000000..8fd62fdc775d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t36/after/test.java @@ -0,0 +1,5 @@ +class Test { + void foo(byte i) { + long j = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t36/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t36/before/test.java new file mode 100644 index 000000000000..1cbff3a1272c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t36/before/test.java @@ -0,0 +1,5 @@ +class Test { + void foo(int i) { + long j = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t37/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t37/after/Test.items new file mode 100644 index 000000000000..26c064a26ffa --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t37/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiParameter:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t37/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t37/after/test.java new file mode 100644 index 000000000000..032dc398e040 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t37/after/test.java @@ -0,0 +1,7 @@ +class Test { + void foo(int i) { + int i1 = i + 1; + int i2 = i - 1; + int i3 = i >> 1; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t37/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t37/before/test.java new file mode 100644 index 000000000000..2cc80bd340ed --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t37/before/test.java @@ -0,0 +1,7 @@ +class Test { + void foo(short i) { + int i1 = i + 1; + int i2 = i - 1; + int i3 = i >> 1; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t38/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t38/after/Test.items new file mode 100644 index 000000000000..ce5df8ea5fcb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t38/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiParameter:i : long +PsiReferenceExpression:i : long +PsiReferenceExpression:i : long +PsiReferenceExpression:i : long + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t38/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t38/after/test.java new file mode 100644 index 000000000000..7ef08a9041c0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t38/after/test.java @@ -0,0 +1,7 @@ +class Test { + void foo(long i) { + int i1 = i + 1; + int i2 = i - 1; + int i3 = i >> 1; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t38/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t38/before/test.java new file mode 100644 index 000000000000..7ef08a9041c0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t38/before/test.java @@ -0,0 +1,7 @@ +class Test { + void foo(long i) { + int i1 = i + 1; + int i2 = i - 1; + int i3 = i >> 1; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t39/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t39/after/Test.items new file mode 100644 index 000000000000..3c746805c0f1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t39/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiParameter:i : byte +PsiReferenceExpression:i : byte +PsiReferenceExpression:i : byte +PsiReferenceExpression:i : byte + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t39/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t39/after/test.java new file mode 100644 index 000000000000..0b59f99cc084 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t39/after/test.java @@ -0,0 +1,7 @@ +class Test { + void foo(byte i) { + int i1 = i + 1; + int i2 = i - 1; + int i3 = i >> 1; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t39/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t39/before/test.java new file mode 100644 index 000000000000..7ef08a9041c0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t39/before/test.java @@ -0,0 +1,7 @@ +class Test { + void foo(long i) { + int i1 = i + 1; + int i2 = i - 1; + int i3 = i >> 1; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t40/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t40/after/Test.items new file mode 100644 index 000000000000..2aff3bd8c623 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t40/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:l : java.util.ArrayList +PsiReferenceExpression:l : java.util.ArrayList + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t40/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t40/after/test.java new file mode 100644 index 000000000000..83cae108fdd9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t40/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + ArrayList l; + void foo() { + l = new ArrayList(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t40/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t40/before/test.java new file mode 100644 index 000000000000..dd72766db414 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t40/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + List l; + void foo() { + l = new ArrayList(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t41/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t41/after/Test.items new file mode 100644 index 000000000000..583812d7778b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t41/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:l : java.util.ArrayList +PsiNewExpression:new ArrayList<String>() : java.util.ArrayList<java.lang.String> +PsiReferenceExpression:l : java.util.ArrayList + +Conversions: + +New expression type changes: +new ArrayList<String>() -> java.util.ArrayList<java.lang.String> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t41/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t41/after/test.java new file mode 100644 index 000000000000..3ac0475a9e96 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t41/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + ArrayList l; + void foo() { + l = new ArrayList<String>(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t41/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t41/before/test.java new file mode 100644 index 000000000000..8b8b5018717b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t41/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + List l; + void foo() { + l = new ArrayList<String>(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t42/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t42/after/Test.items new file mode 100644 index 000000000000..d1417fa9ad32 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t42/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:l : java.util.ArrayList<java.lang.String> +PsiNewExpression:new ArrayList() : java.util.ArrayList +PsiReferenceExpression:l : java.util.ArrayList<java.lang.String> + +Conversions: + +New expression type changes: +new ArrayList() -> java.util.ArrayList +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t42/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t42/after/test.java new file mode 100644 index 000000000000..0dd8c405b1d9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t42/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + ArrayList<String> l; + void foo() { + l = new ArrayList(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t42/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t42/before/test.java new file mode 100644 index 000000000000..dd72766db414 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t42/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; +class Test { + List l; + void foo() { + l = new ArrayList(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t43/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t43/after/Test.items new file mode 100644 index 000000000000..b1e94aa2143b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t43/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:o : java.lang.Long + +Conversions: +l -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t43/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t43/after/test.java new file mode 100644 index 000000000000..c386bc247acd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t43/after/test.java @@ -0,0 +1,4 @@ +class Test { + long l; + Long o = l; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t43/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t43/before/test.java new file mode 100644 index 000000000000..d7e1595d92bb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t43/before/test.java @@ -0,0 +1,4 @@ +class Test { + long l; + Object o = l; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t44/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t44/after/Test.items new file mode 100644 index 000000000000..3cae6713c3b0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t44/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:i : byte +PsiReferenceExpression:i : byte + +Conversions: +l -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t44/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t44/after/test.java new file mode 100644 index 000000000000..60a560399b71 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t44/after/test.java @@ -0,0 +1,7 @@ +class Test { + long l; + byte i; + void foo() { + l = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t44/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t44/before/test.java new file mode 100644 index 000000000000..4dee20b44e33 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t44/before/test.java @@ -0,0 +1,7 @@ +class Test { + long l; + int i; + void foo() { + l = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t45/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t45/after/Test.items new file mode 100644 index 000000000000..c97169454693 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t45/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:i : byte +PsiField:l : byte +PsiReferenceExpression:i : byte +PsiReferenceExpression:l : byte + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t45/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t45/after/test.java new file mode 100644 index 000000000000..45fcb1f6eb1f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t45/after/test.java @@ -0,0 +1,7 @@ +class Test { + byte l; + byte i; + void foo() { + l = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t45/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t45/before/test.java new file mode 100644 index 000000000000..4dee20b44e33 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t45/before/test.java @@ -0,0 +1,7 @@ +class Test { + long l; + int i; + void foo() { + l = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t46/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t46/after/Test.items new file mode 100644 index 000000000000..934d4a09ec3b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t46/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:j : int + +Conversions: +i -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t46/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t46/after/test.java new file mode 100644 index 000000000000..f77f19689836 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t46/after/test.java @@ -0,0 +1,4 @@ +class Test { + byte i; + int j = i; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t46/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t46/before/test.java new file mode 100644 index 000000000000..5256726fdd95 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t46/before/test.java @@ -0,0 +1,4 @@ +class Test { + byte i; + long j = i; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t47/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t47/after/Test.items new file mode 100644 index 000000000000..d39a160ee9a7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t47/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:o : int + +Conversions: + +New expression type changes: +Fails: +null->int diff --git a/java/typeMigration/testData/refactoring/typeMigration/t47/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t47/after/test.java new file mode 100644 index 000000000000..99f4d773fd24 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t47/after/test.java @@ -0,0 +1,3 @@ +class Test { + int o = null; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t47/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t47/before/test.java new file mode 100644 index 000000000000..308305e1cb41 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t47/before/test.java @@ -0,0 +1,3 @@ +class Test { + Object o = null; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t48/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t48/after/Test.items new file mode 100644 index 000000000000..fedb3311ad6b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t48/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiLocalVariable:set : java.util.Set<B> +PsiParameter:s : java.util.AbstractSet<B> +PsiReferenceExpression:s : java.util.AbstractSet<B> + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t48/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t48/after/test.java new file mode 100644 index 000000000000..60e1a9ddd8c7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t48/after/test.java @@ -0,0 +1,9 @@ +import java.util.*; +class Test { + void foo(AbstractSet<B> s) { + Set<B> set = s; + } + + class A {} + class B extends A{} +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t48/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t48/before/test.java new file mode 100644 index 000000000000..e859716610c8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t48/before/test.java @@ -0,0 +1,9 @@ +import java.util.*; +class Test { + void foo(AbstractSet<A> s) { + Set<A> set = s; + } + + class A {} + class B extends A{} +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t49/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t49/after/Test.items new file mode 100644 index 000000000000..b65d6bce02d1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t49/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:f : java.util.Set<B> +PsiParameter:s : java.util.AbstractSet<B> +PsiReferenceExpression:f : java.util.Set<B> +PsiReferenceExpression:s : java.util.AbstractSet<B> + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t49/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t49/after/test.java new file mode 100644 index 000000000000..91c41afa26e2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t49/after/test.java @@ -0,0 +1,10 @@ +import java.util.*; +class Test { + Set<B> f; + void foo(AbstractSet<B> s) { + f = s; + } + + class A {} + class B extends A{} +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t49/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t49/before/test.java new file mode 100644 index 000000000000..8a2a9a9054ce --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t49/before/test.java @@ -0,0 +1,10 @@ +import java.util.*; +class Test { + Set<A> f; + void foo(AbstractSet<A> s) { + f = s; + } + + class A {} + class B extends A{} +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t50/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t50/after/Test.items new file mode 100644 index 000000000000..895bdd4d4118 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t50/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:c : java.util.Set<? extends JButton> +PsiField:c1 : java.util.Set<? extends JButton> +PsiReferenceExpression:c : java.util.Set<? extends JButton> + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t50/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t50/after/test.java new file mode 100644 index 000000000000..50d5fb0229ca --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t50/after/test.java @@ -0,0 +1,5 @@ +import java.util.*; +class Test { + Set<? extends JButton> c; + Set<? extends JButton> c1 = c; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t50/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t50/before/test.java new file mode 100644 index 000000000000..05b20ee8b1fe --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t50/before/test.java @@ -0,0 +1,5 @@ +import java.util.*; +class Test { + Set<? extends JComponent> c; + Set<? extends JComponent> c1 = c; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t51/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t51/after/Test.items new file mode 100644 index 000000000000..81f430c2e8ab --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t51/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:f : java.lang.Object[] +PsiNewExpression:new String[] {"a"} : java.lang.Object[] + +Conversions: +"a" -> $ + +New expression type changes: +new String[] {"a"} -> java.lang.Object[] +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t51/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t51/after/test.java new file mode 100644 index 000000000000..bbd211f73928 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t51/after/test.java @@ -0,0 +1,3 @@ +class Test { + Object[] f = new Object[] {"a"}; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t51/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t51/before/test.java new file mode 100644 index 000000000000..7a9a090c342f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t51/before/test.java @@ -0,0 +1,3 @@ +class Test { + String[] f = new String[] {"a"}; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t52/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t52/after/Test.items new file mode 100644 index 000000000000..fae3f5aa0b83 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t52/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : java.lang.Object[] +PsiNewExpression:new Set() : java.util.Set +PsiNewExpression:new Set[] { new Set() } : java.lang.Object[] + +Conversions: + +New expression type changes: +new Set() -> java.util.Set +new Set[] { new Set() } -> java.lang.Object[] +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t52/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t52/after/test.java new file mode 100644 index 000000000000..034f9e2a7285 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t52/after/test.java @@ -0,0 +1,4 @@ +import java.util.*; +class Test { + Object[] f = new Object[] { new Set() }; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t52/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t52/before/test.java new file mode 100644 index 000000000000..abf3b7a12aff --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t52/before/test.java @@ -0,0 +1,4 @@ +import java.util.*; +class Test { + Set[] f = new Set[] { new Set() }; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t53/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t53/after/Test.items new file mode 100644 index 000000000000..6f10a470aef3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t53/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:f : java.util.Set<java.lang.String>[] + +Conversions: + +New expression type changes: +Fails: +new double[0]->java.util.Set<java.lang.String>[] diff --git a/java/typeMigration/testData/refactoring/typeMigration/t53/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t53/after/test.java new file mode 100644 index 000000000000..52d1899803c8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t53/after/test.java @@ -0,0 +1,4 @@ +import java.util.*; +class Test { + Set<String>[] f = new double[0]; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t53/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t53/before/test.java new file mode 100644 index 000000000000..50be5aada106 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t53/before/test.java @@ -0,0 +1,4 @@ +import java.util.*; +class Test { + double[] f = new double[0]; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t54/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t54/after/Test.items new file mode 100644 index 000000000000..584021476055 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t54/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f : java.util.Set<? extends java.lang.Integer> +PsiNewExpression:new Set<Object>() : java.util.Set<java.lang.Integer> + +Conversions: + +New expression type changes: +new Set<Object>() -> java.util.Set<java.lang.Integer> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t54/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t54/after/test.java new file mode 100644 index 000000000000..11cbc3fe7520 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t54/after/test.java @@ -0,0 +1,4 @@ +import java.util.*; +class Test { + Set<? extends Integer> f = new Set<>(); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t54/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t54/before/test.java new file mode 100644 index 000000000000..96573db084dd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t54/before/test.java @@ -0,0 +1,4 @@ +import java.util.*; +class Test { + Set<Object> f = new Set<Object>(); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t55/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t55/after/Test.items new file mode 100644 index 000000000000..465e20e4a213 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t55/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f : java.util.Set<?> +PsiNewExpression:new Set<Object>() : java.util.Set<java.lang.Object> + +Conversions: + +New expression type changes: +new Set<Object>() -> java.util.Set<java.lang.Object> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t55/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t55/after/test.java new file mode 100644 index 000000000000..c895ff398fa6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t55/after/test.java @@ -0,0 +1,4 @@ +import java.util.*; +class Test { + Set<?> f = new Set<>(); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t55/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t55/before/test.java new file mode 100644 index 000000000000..96573db084dd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t55/before/test.java @@ -0,0 +1,4 @@ +import java.util.*; +class Test { + Set<Object> f = new Set<Object>(); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t56/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t56/after/Test.items new file mode 100644 index 000000000000..05ed851f0ce0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t56/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiParameter:i : double +PsiReferenceExpression:i : double +PsiReferenceExpression:i : double + +Conversions: + +New expression type changes: +Fails: +i->double +i->double diff --git a/java/typeMigration/testData/refactoring/typeMigration/t56/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t56/after/test.java new file mode 100644 index 000000000000..2f5cc73acbbb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t56/after/test.java @@ -0,0 +1,6 @@ +class Test { + void foo(double i) { + int[] a = new int[i]; + System.out.println(a[i]); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t56/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t56/before/test.java new file mode 100644 index 000000000000..0f9888806c18 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t56/before/test.java @@ -0,0 +1,6 @@ +class Test { + void foo(int i) { + int[] a = new int[i]; + System.out.println(a[i]); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t57/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t57/after/Test.items new file mode 100644 index 000000000000..af2ecf9c114e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t57/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:i : byte +PsiReferenceExpression:i : byte +PsiReferenceExpression:i : byte + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t57/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t57/after/test.java new file mode 100644 index 000000000000..ce9df2fbb45d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t57/after/test.java @@ -0,0 +1,6 @@ +class Test { + void foo(byte i) { + int[] a = new int[i]; + System.out.println(a[i]); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t57/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t57/before/test.java new file mode 100644 index 000000000000..0f9888806c18 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t57/before/test.java @@ -0,0 +1,6 @@ +class Test { + void foo(int i) { + int[] a = new int[i]; + System.out.println(a[i]); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t58/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t58/after/Test.items new file mode 100644 index 000000000000..19b07a44c139 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t58/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:f : java.lang.Object + +Conversions: +new String[1] -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t58/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t58/after/test.java new file mode 100644 index 000000000000..ff4055ac3129 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t58/after/test.java @@ -0,0 +1,3 @@ +class Test { + Object f = new String[1]; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t58/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t58/before/test.java new file mode 100644 index 000000000000..8df4d62d721a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t58/before/test.java @@ -0,0 +1,3 @@ +class Test { + String[] f = new String[1]; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t59/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t59/after/Test.items new file mode 100644 index 000000000000..ea0dda8061b2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t59/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:f : java.lang.Cloneable + +Conversions: +new String[1] -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t59/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t59/after/test.java new file mode 100644 index 000000000000..78a09afee42b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t59/after/test.java @@ -0,0 +1,3 @@ +class Test { + Cloneable f = new String[1]; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t59/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t59/before/test.java new file mode 100644 index 000000000000..8df4d62d721a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t59/before/test.java @@ -0,0 +1,3 @@ +class Test { + String[] f = new String[1]; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t60/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t60/after/Test.items new file mode 100644 index 000000000000..88822343977c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t60/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:p : java.lang.Object +PsiReferenceExpression:p : java.lang.Object + +Conversions: +i -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t60/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t60/after/test.java new file mode 100644 index 000000000000..9ab940eaf425 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t60/after/test.java @@ -0,0 +1,6 @@ +class Test { + Object p; + void foo(int... i) { + p = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t60/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t60/before/test.java new file mode 100644 index 000000000000..26172c13d2e7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t60/before/test.java @@ -0,0 +1,6 @@ +class Test { + int[] p; + void foo(int... i) { + p = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t61/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t61/after/Test.items new file mode 100644 index 000000000000..830074d65d6b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t61/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiLocalVariable:p : int[] +PsiParameter:i : int... +PsiReferenceExpression:i : int[] + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t61/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t61/after/test.java new file mode 100644 index 000000000000..1b05fce5b5b9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t61/after/test.java @@ -0,0 +1,5 @@ +class Test { + void foo(int... i) { + int[] p = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t61/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t61/before/test.java new file mode 100644 index 000000000000..e9f49f1c3846 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t61/before/test.java @@ -0,0 +1,5 @@ +class Test { + void foo(int i) { + int p = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t62/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t62/after/Test.items new file mode 100644 index 000000000000..88822343977c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t62/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:p : java.lang.Object +PsiReferenceExpression:p : java.lang.Object + +Conversions: +i -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t62/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t62/after/test.java new file mode 100644 index 000000000000..9ab940eaf425 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t62/after/test.java @@ -0,0 +1,6 @@ +class Test { + Object p; + void foo(int... i) { + p = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t62/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t62/before/test.java new file mode 100644 index 000000000000..26172c13d2e7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t62/before/test.java @@ -0,0 +1,6 @@ +class Test { + int[] p; + void foo(int... i) { + p = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t63/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t63/after/Test.items new file mode 100644 index 000000000000..69dcdaf945c5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t63/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiField:p : double[] +PsiParameter:i : double[] +PsiReferenceExpression:i : double[] +PsiReferenceExpression:p : double[] + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t63/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t63/after/test.java new file mode 100644 index 000000000000..9602f0b3d59f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t63/after/test.java @@ -0,0 +1,6 @@ +class Test { + double[] p; + void foo(double[] i) { + p = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t63/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t63/before/test.java new file mode 100644 index 000000000000..26172c13d2e7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t63/before/test.java @@ -0,0 +1,6 @@ +class Test { + int[] p; + void foo(int... i) { + p = i; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t64/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t64/after/Test.items new file mode 100644 index 000000000000..8ae72a21d857 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t64/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiLocalVariable:p : int +PsiParameter:i : int +PsiReferenceExpression:i : int + +Conversions: + +New expression type changes: +Fails: +foo(1, 2)->int diff --git a/java/typeMigration/testData/refactoring/typeMigration/t64/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t64/after/test.java new file mode 100644 index 000000000000..29f4004383eb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t64/after/test.java @@ -0,0 +1,9 @@ +class Test { + void foo(int i) { + int p = i; + } + + void bar() { + foo(1, 2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t64/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t64/before/test.java new file mode 100644 index 000000000000..5583e3c06a5d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t64/before/test.java @@ -0,0 +1,9 @@ +class Test { + void foo(int... i) { + int[] p = i; + } + + void bar() { + foo(1, 2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t65/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t65/after/Test.items new file mode 100644 index 000000000000..a1201587163f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t65/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiLocalVariable:p : java.lang.String +PsiParameter:i : java.lang.String +PsiReferenceExpression:i : java.lang.String + +Conversions: + +New expression type changes: +Fails: +1->java.lang.String +2->java.lang.String +foo(1, 2)->java.lang.String diff --git a/java/typeMigration/testData/refactoring/typeMigration/t65/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t65/after/test.java new file mode 100644 index 000000000000..3532ce557f8c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t65/after/test.java @@ -0,0 +1,9 @@ +class Test { + void foo(String i) { + String p = i; + } + + void bar() { + foo(1, 2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t65/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t65/before/test.java new file mode 100644 index 000000000000..5583e3c06a5d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t65/before/test.java @@ -0,0 +1,9 @@ +class Test { + void foo(int... i) { + int[] p = i; + } + + void bar() { + foo(1, 2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t66/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t66/after/Test.items new file mode 100644 index 000000000000..f8bf3a92ff7d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t66/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiLocalVariable:p : int +PsiParameter:i : int +PsiReferenceExpression:i : int + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t66/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t66/after/test.java new file mode 100644 index 000000000000..56608039cf5e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t66/after/test.java @@ -0,0 +1,9 @@ +class Test { + void foo(int i) { + int p = i; + } + + void bar() { + foo(1); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t66/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t66/before/test.java new file mode 100644 index 000000000000..45ea51dddf11 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t66/before/test.java @@ -0,0 +1,9 @@ +class Test { + void foo(int... i) { + int[] p = i; + } + + void bar() { + foo(1); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t67/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t67/after/Test.items new file mode 100644 index 000000000000..0e5e72eb6f30 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t67/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiField:myForAccess : java.lang.String +PsiMethod:forAccess : java.lang.String +PsiMethodCallExpression:this.forAccess() : java.lang.String +PsiParameter:p : java.lang.String +PsiReferenceExpression:myForAccess : java.lang.String +PsiReferenceExpression:p : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t67/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t67/after/test.java new file mode 100644 index 000000000000..8a4fda4a0fac --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t67/after/test.java @@ -0,0 +1,9 @@ +class Test { + private String myForAccess; + private String forAccess() { + return myForAccess; + } + public void methMemAcc(String p) { + p = this.forAccess(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t67/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t67/before/test.java new file mode 100644 index 000000000000..57a1c5db091b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t67/before/test.java @@ -0,0 +1,9 @@ +class Test { + private Object myForAccess; + private Object forAccess() { + return myForAccess; + } + public void methMemAcc(Object p) { + p = this.forAccess(); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t68/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t68/after/Test.items new file mode 100644 index 000000000000..e31709e870fb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t68/after/Test.items @@ -0,0 +1,17 @@ +Types: +PsiArrayInitializerExpression:{p} : double[] +PsiArrayInitializerExpression:{p} : double[] +PsiArrayInitializerExpression:{{p},{p}} : double[][] +PsiLocalVariable:a : double[][] +PsiNewExpression:new int[][]{{p},{p}} : double[][] +PsiParameter:p : double +PsiReferenceExpression:p : double +PsiReferenceExpression:p : double + +Conversions: +p -> $ +p -> $ + +New expression type changes: +new int[][]{{p},{p}} -> double[][] +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t68/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t68/after/test.java new file mode 100644 index 000000000000..f9d9a9257c5d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t68/after/test.java @@ -0,0 +1,5 @@ +class Test { + public void foo(double p) { + double[][] a = new double[][]{{p},{p}}; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t68/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t68/before/test.java new file mode 100644 index 000000000000..9f84d15cc993 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t68/before/test.java @@ -0,0 +1,5 @@ +class Test { + public void foo(int p) { + int[][] a = new int[][]{{p},{p}}; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t69/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t69/after/Test.items new file mode 100644 index 000000000000..6471629f221e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t69/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : byte +PsiReferenceExpression:p : byte +PsiReferenceExpression:p : byte + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t69/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t69/after/test.java new file mode 100644 index 000000000000..bba00df7f5ed --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t69/after/test.java @@ -0,0 +1,5 @@ +class Test { + public void foo(byte p) { + int[][] a = new int[][]{{p},{p}}; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t69/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t69/before/test.java new file mode 100644 index 000000000000..9f84d15cc993 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t69/before/test.java @@ -0,0 +1,5 @@ +class Test { + public void foo(int p) { + int[][] a = new int[][]{{p},{p}}; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t70/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t70/after/Test.items new file mode 100644 index 000000000000..9811dea4870e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t70/after/Test.items @@ -0,0 +1,18 @@ +Types: +PsiArrayInitializerExpression:{p} : float[] +PsiArrayInitializerExpression:{p} : float[] +PsiArrayInitializerExpression:{{p}, {p}} : float[][] +PsiField:a : float[][] +PsiNewExpression:new int[][]{{p}, {p}} : float[][] +PsiParameter:p : float +PsiReferenceExpression:a : float[][] +PsiReferenceExpression:p : float +PsiReferenceExpression:p : float + +Conversions: +p -> $ +p -> $ + +New expression type changes: +new int[][]{{p}, {p}} -> float[][] +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t70/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t70/after/test.java new file mode 100644 index 000000000000..7ef5f832a7d9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t70/after/test.java @@ -0,0 +1,6 @@ +class Test { + float[][] a; + public void foo(float p) { + a = new float[][]{{p}, {p}}; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t70/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t70/before/test.java new file mode 100644 index 000000000000..d98804a2576f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t70/before/test.java @@ -0,0 +1,6 @@ +class Test { + int[][] a; + public void foo(int p) { + a = new int[][]{{p}, {p}}; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t71/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t71/after/Test.items new file mode 100644 index 000000000000..f65db392b622 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t71/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:f : java.lang.Class<? extends java.lang.Number> + +Conversions: +byte.class -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t71/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t71/after/test.java new file mode 100644 index 000000000000..be0143bbaafb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t71/after/test.java @@ -0,0 +1,3 @@ +class Test { + Class<? extends Number> f = byte.class; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t71/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t71/before/test.java new file mode 100644 index 000000000000..e3c0a3aecee2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t71/before/test.java @@ -0,0 +1,3 @@ +class Test { + Class f = byte.class; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t72/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t72/after/Test.items new file mode 100644 index 000000000000..cacd1729289d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t72/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:f : java.lang.Class<java.lang.Integer> + +Conversions: + +New expression type changes: +Fails: +byte.class->java.lang.Class<java.lang.Integer> diff --git a/java/typeMigration/testData/refactoring/typeMigration/t72/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t72/after/test.java new file mode 100644 index 000000000000..ace9fbcc92a8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t72/after/test.java @@ -0,0 +1,3 @@ +class Test { + Class<Integer> f = byte.class; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t72/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t72/before/test.java new file mode 100644 index 000000000000..e3c0a3aecee2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t72/before/test.java @@ -0,0 +1,3 @@ +class Test { + Class f = byte.class; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t73/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t73/after/Test.items new file mode 100644 index 000000000000..f46b39d67281 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t73/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiArrayInitializerExpression:{} : java.util.Set<java.awt.Component>[] +PsiField:f : java.util.Set<java.awt.Component>[][] + +Conversions: + +New expression type changes: +Fails: +new Set[][]{{}}->java.util.Set<java.awt.Component>[][] diff --git a/java/typeMigration/testData/refactoring/typeMigration/t73/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t73/after/test.java new file mode 100644 index 000000000000..da9d9b2e6fe8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t73/after/test.java @@ -0,0 +1,6 @@ +import java.util.*; +import javax.swing.*; +import java.awt.*; +class Test { + Set<Component>[][] f = new Set[][]{{}}; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t73/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t73/before/test.java new file mode 100644 index 000000000000..b07764b2c29f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t73/before/test.java @@ -0,0 +1,6 @@ +import java.util.*; +import javax.swing.*; +import java.awt.*; +class Test { + Set<JComponent>[][] f = new Set[][]{{}}; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t74/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t74/after/Test.items new file mode 100644 index 000000000000..236f769a7b98 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t74/after/Test.items @@ -0,0 +1,22 @@ +Types: +PsiLocalVariable:v1 : float +PsiLocalVariable:v2 : float +PsiLocalVariable:v3 : float +PsiLocalVariable:v4 : float +PsiLocalVariable:vu1 : float +PsiLocalVariable:vu2 : float +PsiLocalVariable:vu3 : float +PsiParameter:pi : float +PsiReferenceExpression:pi : float +PsiReferenceExpression:pi : float +PsiReferenceExpression:pi : float +PsiReferenceExpression:pi : float +PsiReferenceExpression:pi : float +PsiReferenceExpression:pi : float +PsiReferenceExpression:pi : float + +Conversions: + +New expression type changes: +Fails: +~pi->float diff --git a/java/typeMigration/testData/refactoring/typeMigration/t74/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t74/after/test.java new file mode 100644 index 000000000000..25d776d7d8c6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t74/after/test.java @@ -0,0 +1,11 @@ +class Test { + public void meth(float pi) { + float v1 = pi++; + float v2 = pi--; + float v3 = ++pi; + float v4 = --pi; + float vu1 = -pi; + float vu2 = +pi; + float vu3 = ~pi; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t74/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t74/before/test.java new file mode 100644 index 000000000000..c6e83eedc1bd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t74/before/test.java @@ -0,0 +1,11 @@ +class Test { + public void meth(int pi) { + int v1 = pi++; + int v2 = pi--; + int v3 = ++pi; + int v4 = --pi; + int vu1 = -pi; + int vu2 = +pi; + int vu3 = ~pi; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t75/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t75/after/Test.items new file mode 100644 index 000000000000..9c3eb7b369e3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t75/after/Test.items @@ -0,0 +1,38 @@ +Types: +PsiLocalVariable:vn4 : java.lang.String +PsiParameter:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String +PsiReferenceExpression:pn : java.lang.String + +Conversions: + +New expression type changes: +Fails: +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String +pn->java.lang.String diff --git a/java/typeMigration/testData/refactoring/typeMigration/t75/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t75/after/test.java new file mode 100644 index 000000000000..750c3d1d51a4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t75/after/test.java @@ -0,0 +1,12 @@ +class Test { + public void meth(String pn) { + int vn1 = pn * pn; + int vn2 = pn / pn; + int vn3 = pn % pn; + String vn4 = pn + pn; + int vn5 = pn - pn; + int vn6 = pn << pn; + int vn7 = pn >> pn; + int vn8 = pn >>> pn; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t75/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t75/before/test.java new file mode 100644 index 000000000000..fdde94165b43 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t75/before/test.java @@ -0,0 +1,12 @@ +class Test { + public void meth(byte pn) { + int vn1 = pn * pn; + int vn2 = pn / pn; + int vn3 = pn % pn; + int vn4 = pn + pn; + int vn5 = pn - pn; + int vn6 = pn << pn; + int vn7 = pn >> pn; + int vn8 = pn >>> pn; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t76/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t76/after/Test.items new file mode 100644 index 000000000000..7a2163c3200b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t76/after/Test.items @@ -0,0 +1,37 @@ +Types: +PsiLocalVariable:vn1 : float +PsiLocalVariable:vn2 : float +PsiLocalVariable:vn3 : float +PsiLocalVariable:vn4 : float +PsiLocalVariable:vn5 : float +PsiLocalVariable:vn6 : float +PsiLocalVariable:vn7 : float +PsiLocalVariable:vn8 : float +PsiParameter:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float +PsiReferenceExpression:pn : float + +Conversions: + +New expression type changes: +Fails: +pn->float +pn->float +pn->float +pn->float +pn->float +pn->float diff --git a/java/typeMigration/testData/refactoring/typeMigration/t76/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t76/after/test.java new file mode 100644 index 000000000000..3e6b69cf7c94 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t76/after/test.java @@ -0,0 +1,12 @@ +class Test { + public void meth(float pn) { + float vn1 = pn * pn; + float vn2 = pn / pn; + float vn3 = pn % pn; + float vn4 = pn + pn; + float vn5 = pn - pn; + float vn6 = pn << pn; + float vn7 = pn >> pn; + float vn8 = pn >>> pn; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t76/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t76/before/test.java new file mode 100644 index 000000000000..fdde94165b43 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t76/before/test.java @@ -0,0 +1,12 @@ +class Test { + public void meth(byte pn) { + int vn1 = pn * pn; + int vn2 = pn / pn; + int vn3 = pn % pn; + int vn4 = pn + pn; + int vn5 = pn - pn; + int vn6 = pn << pn; + int vn7 = pn >> pn; + int vn8 = pn >>> pn; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t77/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t77/after/Test.items new file mode 100644 index 000000000000..dc0f44202f9b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t77/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:pn : java.lang.Object +PsiReferenceExpression:pn : java.lang.Object + +Conversions: + +New expression type changes: +Fails: +pn->java.lang.Object diff --git a/java/typeMigration/testData/refactoring/typeMigration/t77/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t77/after/test.java new file mode 100644 index 000000000000..4e8733a49d43 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t77/after/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(Object pn, int p) { + p += pn; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t77/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t77/before/test.java new file mode 100644 index 000000000000..252a45c4acc5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t77/before/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(int pn, int p) { + p += pn; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t78/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t78/after/Test.items new file mode 100644 index 000000000000..f935ec3be774 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t78/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiParameter:p : java.lang.String +PsiParameter:pn : java.lang.String +PsiReferenceExpression:p : java.lang.String +PsiReferenceExpression:pn : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t78/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t78/after/test.java new file mode 100644 index 000000000000..573deb573d11 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t78/after/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(String pn, String p) { + p += pn; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t78/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t78/before/test.java new file mode 100644 index 000000000000..252a45c4acc5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t78/before/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(int pn, int p) { + p += pn; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t79/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t79/after/Test.items new file mode 100644 index 000000000000..9e7dba8b794e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t79/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:p : byte +PsiReferenceExpression:p : byte + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t79/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t79/after/test.java new file mode 100644 index 000000000000..37ec2cb0f5fd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t79/after/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(byte p) { + float f = (float)p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t79/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t79/before/test.java new file mode 100644 index 000000000000..30db2da5fa91 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t79/before/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(int p) { + float f = (float)p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t80/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t80/after/Test.items new file mode 100644 index 000000000000..55661712f811 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t80/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:p : double +PsiReferenceExpression:p : double + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t80/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t80/after/test.java new file mode 100644 index 000000000000..5fe4738b6a5e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t80/after/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(double p) { + float f = (float)p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t80/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t80/before/test.java new file mode 100644 index 000000000000..30db2da5fa91 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t80/before/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(int p) { + float f = (float)p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t81/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t81/after/Test.items new file mode 100644 index 000000000000..f89012c7c140 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t81/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:o : A +PsiReferenceExpression:o : A + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t81/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t81/after/test.java new file mode 100644 index 000000000000..55deae9424fa --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t81/after/test.java @@ -0,0 +1,9 @@ +class A {} + +class B extends A {} + +class Test { + void foo(A o) { + if (o instanceof B){} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t81/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t81/before/test.java new file mode 100644 index 000000000000..8bccf86ced7b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t81/before/test.java @@ -0,0 +1,9 @@ +class A {} + +class B extends A {} + +class Test { + void foo(Object o) { + if (o instanceof B){} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t82/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t82/after/Test.items new file mode 100644 index 000000000000..5164a4b2f6d9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t82/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:o : C +PsiReferenceExpression:o : C + +Conversions: + +New expression type changes: +Fails: +o->C diff --git a/java/typeMigration/testData/refactoring/typeMigration/t82/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t82/after/test.java new file mode 100644 index 000000000000..83b747a3cb27 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t82/after/test.java @@ -0,0 +1,11 @@ +class C{} + +class A {} + +class B extends A {} + +class Test { + void foo(C o) { + if (o instanceof B){} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t82/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t82/before/test.java new file mode 100644 index 000000000000..cb617f44766f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t82/before/test.java @@ -0,0 +1,11 @@ +class C{} + +class A {} + +class B extends A {} + +class Test { + void foo(Object o) { + if (o instanceof B){} + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t83/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t83/after/Test.items new file mode 100644 index 000000000000..9f0dab259a44 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t83/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiParameter:p : java.lang.Object +PsiReferenceExpression:p : java.lang.Object + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t83/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t83/after/test.java new file mode 100644 index 000000000000..2a6715c81d3f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t83/after/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(Object p) { + float f = (float)p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t83/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t83/before/test.java new file mode 100644 index 000000000000..30db2da5fa91 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t83/before/test.java @@ -0,0 +1,5 @@ +class Test { + public void meth(int p) { + float f = (float)p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t84/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t84/after/Test.items new file mode 100644 index 000000000000..5f64399bef41 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t84/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiLocalVariable:f : java.util.Set<? extends java.util.Set> +PsiParameter:p : java.util.Set<? extends java.util.Set> +PsiReferenceExpression:p : java.util.Set<? extends java.util.Set> + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t84/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t84/after/test.java new file mode 100644 index 000000000000..b055ef3a4df9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t84/after/test.java @@ -0,0 +1,6 @@ +import java.util.*; +class Test { + public void meth(Set<? extends Set> p) { + Set<? extends Set> f = p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t84/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t84/before/test.java new file mode 100644 index 000000000000..7c85f93d7a57 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t84/before/test.java @@ -0,0 +1,6 @@ +import java.util.*; +class Test { + public void meth(Set p) { + Set<Set> f = p; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t85/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t85/after/Test.items new file mode 100644 index 000000000000..76d7b14baa5d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t85/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:str : java.lang.Integer +PsiMethod:get : java.lang.Integer +PsiReferenceExpression:str : java.lang.Integer +PsiReferenceExpression:str : java.lang.Integer +PsiReferenceExpression:str : java.lang.Integer + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t85/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t85/after/test.java new file mode 100644 index 000000000000..c43a426e5277 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t85/after/test.java @@ -0,0 +1,8 @@ +public class Test { + + Integer str; + Integer get(boolean f) { + return f ? str : str + str; + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t85/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t85/before/test.java new file mode 100644 index 000000000000..adde8623a884 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t85/before/test.java @@ -0,0 +1,8 @@ +public class Test { + + String str; + String get(boolean f) { + return f ? str : str + str; + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t86/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t86/after/Test.items new file mode 100644 index 000000000000..c2f8f1dd9fa6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t86/after/Test.items @@ -0,0 +1,18 @@ +Types: +PsiArrayAccessExpression:array[i] : java.lang.String +PsiArrayAccessExpression:array[i] : java.lang.String +PsiLocalVariable:array : java.util.List<java.lang.String> +PsiMethod:getArray : java.util.List<java.lang.String> +PsiMethodCallExpression:getArray() : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> +PsiReferenceExpression:array.length : int + +Conversions: +array.length -> $qualifier$.size() $qualifier$.length +array[i] -> $qualifier$.get($idx$) $qualifier$[$idx$] +array[i] -> $qualifier$.set($idx$, $expr$) $qualifier$[$idx$] = $expr$ array[i] = "" + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t86/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t86/after/test.java new file mode 100644 index 000000000000..25f8b851603d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t86/after/test.java @@ -0,0 +1,16 @@ +import java.util.List; +public class Test { + + List<String> getArray(){ + return null; + } + + void foo() { + List<String> array = getArray(); + for (int i = 0; i < array.size(); i++) { + System.out.println(array.get(i)); + array.set(i, ""); + } + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t86/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t86/before/test.java new file mode 100644 index 000000000000..880c69463055 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t86/before/test.java @@ -0,0 +1,16 @@ +import java.util.List; +public class Test { + + String[] getArray(){ + return null; + } + + void foo() { + String[] array = getArray(); + for (int i = 0; i < array.length; i++) { + System.out.println(array[i]); + array[i] = ""; + } + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t87/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t87/after/Test.items new file mode 100644 index 000000000000..45193ce9dcf4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t87/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiLocalVariable:array : java.lang.String[] +PsiMethod:getArray : java.lang.String[] +PsiMethodCallExpression:getArray() : java.lang.String[] +PsiReferenceExpression:array : java.lang.String[] + +Conversions: +array -> Arrays.sort($qualifier$) Collections.sort($qualifier$) Collections.sort(array) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t87/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t87/after/test.java new file mode 100644 index 000000000000..f0e5159bfcfd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t87/after/test.java @@ -0,0 +1,13 @@ +import java.util.*; +public class Test { + + String[] getArray(){ + return null; + } + + void foo() { + String[] array = getArray(); + Arrays.sort(array); + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t87/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t87/before/test.java new file mode 100644 index 000000000000..12a28fa3084c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t87/before/test.java @@ -0,0 +1,13 @@ +import java.util.*; +public class Test { + + List<String> getArray(){ + return null; + } + + void foo() { + List<String> array = getArray(); + Collections.sort(array); + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t88/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t88/after/Test.items new file mode 100644 index 000000000000..60ae50f9c699 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t88/after/Test.items @@ -0,0 +1,15 @@ +Types: +PsiLocalVariable:array : java.util.List<java.lang.String> +PsiMethod:getArray : java.util.List<java.lang.String> +PsiMethodCallExpression:getArray() : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> + +Conversions: +array -> Collections.sort($qualifier$, $expr$) Arrays.sort($qualifier$, $expr$) Arrays.sort(array, new Comparator<String>() { + public int compare(String s1, String s2) { + return 0; + } + }) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t88/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t88/after/test.java new file mode 100644 index 000000000000..4be724c5d907 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t88/after/test.java @@ -0,0 +1,18 @@ +import java.util.*; +public class Test { + + List<String> getArray(){ + return null; + } + + void foo() { + List<String> array = getArray(); + Collections.sort(array, new Comparator<String>() { + public int compare(String s1, String s2) { + return 0; + } + }); + + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t88/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t88/before/test.java new file mode 100644 index 000000000000..ce19bd33f20e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t88/before/test.java @@ -0,0 +1,18 @@ +import java.util.*; +public class Test { + + String[] getArray(){ + return null; + } + + void foo() { + String[] array = getArray(); + Arrays.sort(array, new Comparator<String>() { + public int compare(String s1, String s2) { + return 0; + } + }); + + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t89/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t89/after/Test.items new file mode 100644 index 000000000000..069dfb76e5c3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t89/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiLocalVariable:array : java.lang.String[] +PsiMethod:getArray : java.lang.String[] +PsiMethodCallExpression:getArray() : java.lang.String[] +PsiReferenceExpression:array : java.lang.String[] + +Conversions: + +New expression type changes: +Fails: +array->java.lang.String[] diff --git a/java/typeMigration/testData/refactoring/typeMigration/t89/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t89/after/test.java new file mode 100644 index 000000000000..5a625c53c286 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t89/after/test.java @@ -0,0 +1,13 @@ +import java.util.*; +public class Test { + + String[] getArray(){ + return null; + } + + void foo() { + String[] array = getArray(); + Collections.checkedList(array, String.class); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t89/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t89/before/test.java new file mode 100644 index 000000000000..c12161d8c76d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t89/before/test.java @@ -0,0 +1,13 @@ +import java.util.*; +public class Test { + + List<String> getArray(){ + return null; + } + + void foo() { + List<String> array = getArray(); + Collections.checkedList(array, String.class); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t90/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t90/after/Test.items new file mode 100644 index 000000000000..721469c186fa --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t90/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiField:l : java.util.List<A> +PsiMethodCallExpression:b.foo() : java.util.Map<java.lang.String,java.lang.String> +PsiParameter:b : A +PsiReferenceExpression:b : A +PsiReferenceExpression:l : java.util.List<A> + +Conversions: +b.foo() -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t90/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t90/after/test.java new file mode 100644 index 000000000000..06c072088b02 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t90/after/test.java @@ -0,0 +1,24 @@ +import java.util.*; +public class Test { + List<A> l; + + @Override + Map<String, String> foo() { + HashMap<String, String> m = new HashMap<String, String>(); + for (A b : l) { + Map<String, String> map = b.foo(); + for (Map.Entry<String, String> entry : map.entrySet()) { + if (!m.containsKey(entry.getKey())) { + m.put(entry.getKey(), entry.getValue()); + } + } + } + return m; + } +} + +class A { + Map<String, String> foo(){return null;} +} + +class B extends A {}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t90/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t90/before/test.java new file mode 100644 index 000000000000..80afdc6aa08b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t90/before/test.java @@ -0,0 +1,24 @@ +import java.util.*; +public class Test { + List<B> l; + + @Override + Map<String, String> foo() { + HashMap<String, String> m = new HashMap<String, String>(); + for (B b : l) { + Map<String, String> map = b.foo(); + for (Map.Entry<String, String> entry : map.entrySet()) { + if (!m.containsKey(entry.getKey())) { + m.put(entry.getKey(), entry.getValue()); + } + } + } + return m; + } +} + +class A { + Map<String, String> foo(){return null;} +} + +class B extends A {}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t91/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t91/after/Test.items new file mode 100644 index 000000000000..9b53aeaf2084 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t91/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiMethod:foo : java.lang.String[] + +Conversions: +"" -> new java.lang.String[]{$qualifier$} $qualifier$ "" + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t91/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t91/after/test.java new file mode 100644 index 000000000000..9575d720b844 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t91/after/test.java @@ -0,0 +1,5 @@ +public class Test { + String[] foo(){ + return new String[]{""}; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t91/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t91/before/test.java new file mode 100644 index 000000000000..e916bd0a5dab --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t91/before/test.java @@ -0,0 +1,5 @@ +public class Test { + String foo(){ + return ""; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t92/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t92/after/Test.items new file mode 100644 index 000000000000..bf241c7966a7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t92/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f : java.util.List<java.lang.Integer> +PsiNewExpression:new ArrayList<String>(){} : java.util.ArrayList<java.lang.Integer> + +Conversions: + +New expression type changes: +new ArrayList<String>(){} -> java.util.ArrayList<java.lang.Integer> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t92/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t92/after/test.java new file mode 100644 index 000000000000..f70bc9515dea --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t92/after/test.java @@ -0,0 +1,4 @@ +import java.util.*; +public class Test { + List<Integer> f = new ArrayList<Integer>(){}; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t92/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t92/before/test.java new file mode 100644 index 000000000000..89ae1f7d3101 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t92/before/test.java @@ -0,0 +1,4 @@ +import java.util.*; +public class Test { + List<String> f = new ArrayList<String>(){}; +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t93/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t93/after/Test.items new file mode 100644 index 000000000000..ea2fc9440478 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t93/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:f : java.util.Map<java.lang.Boolean,java.lang.String> +PsiParameter:b : boolean +PsiReferenceExpression:b : boolean +PsiReferenceExpression:f : java.util.Map<java.lang.Boolean,java.lang.String> + +Conversions: +f -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t93/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t93/after/test.java new file mode 100644 index 000000000000..6b714f8e8862 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t93/after/test.java @@ -0,0 +1,8 @@ +import java.util.*; +public class Test { + Map<Boolean, String> f; + + void foo(boolean b) { + f.put(b, null); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t93/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t93/before/test.java new file mode 100644 index 000000000000..292b5f9f0361 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t93/before/test.java @@ -0,0 +1,8 @@ +import java.util.*; +public class Test { + Map<Boolean, String> f; + + void foo(Boolean b) { + f.put(b, null); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t94/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t94/after/Test.items new file mode 100644 index 000000000000..76ae2a02000b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t94/after/Test.items @@ -0,0 +1,13 @@ +Types: +PsiLocalVariable:array : java.lang.String[] +PsiMethod:getArray : java.lang.String[] +PsiMethodCallExpression:getArray() : java.lang.String[] +PsiReferenceExpression:array : java.lang.String[] +PsiReferenceExpression:array : java.lang.String[] + +Conversions: +array -> Arrays.binarySearch($qualifier$, $key$) Collections.binarySearch($qualifier$, $key$) Collections.binarySearch(array, "") +array -> Arrays.sort($qualifier$) Collections.sort($qualifier$) Collections.sort(array) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t94/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t94/after/test.java new file mode 100644 index 000000000000..d8df3e65dd43 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t94/after/test.java @@ -0,0 +1,14 @@ +import java.util.*; +public class Test { + + String[] getArray(){ + return null; + } + + void foo() { + String[] array = getArray(); + Arrays.binarySearch(array, ""); + Arrays.sort(array); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t94/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t94/before/test.java new file mode 100644 index 000000000000..99bf050d6f00 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t94/before/test.java @@ -0,0 +1,14 @@ +import java.util.*; +public class Test { + + List<String> getArray(){ + return null; + } + + void foo() { + List<String> array = getArray(); + Collections.binarySearch(array, ""); + Collections.sort(array); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t95/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t95/after/Test.items new file mode 100644 index 000000000000..d3f8033938ea --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t95/after/Test.items @@ -0,0 +1,13 @@ +Types: +PsiLocalVariable:array : java.util.List<java.lang.String> +PsiMethod:getArray : java.util.List<java.lang.String> +PsiMethodCallExpression:getArray() : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> + +Conversions: +array -> Collections.binarySearch($qualifier$, $key$) Arrays.binarySearch($qualifier$, $key$) Arrays.binarySearch(array, "") +array -> Collections.sort($qualifier$) Arrays.sort($qualifier$) Arrays.sort(array) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t95/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t95/after/test.java new file mode 100644 index 000000000000..99bf050d6f00 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t95/after/test.java @@ -0,0 +1,14 @@ +import java.util.*; +public class Test { + + List<String> getArray(){ + return null; + } + + void foo() { + List<String> array = getArray(); + Collections.binarySearch(array, ""); + Collections.sort(array); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t95/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t95/before/test.java new file mode 100644 index 000000000000..d8df3e65dd43 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t95/before/test.java @@ -0,0 +1,14 @@ +import java.util.*; +public class Test { + + String[] getArray(){ + return null; + } + + void foo() { + String[] array = getArray(); + Arrays.binarySearch(array, ""); + Arrays.sort(array); + } + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t96/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t96/after/Test.items new file mode 100644 index 000000000000..d107b7626a41 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t96/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f1 : java.lang.String +PsiField:f2 : java.lang.String +PsiReferenceExpression:f1 : java.lang.String + +Conversions: + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t96/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t96/after/test.java new file mode 100644 index 000000000000..25357fd46118 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t96/after/test.java @@ -0,0 +1,5 @@ +public class Test { + String f1 = null; + String f2 = f1; + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t96/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t96/before/test.java new file mode 100644 index 000000000000..55d7110ccb83 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t96/before/test.java @@ -0,0 +1,5 @@ +public class Test { + Integer f1 = null; + Integer f2 = f1; + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t97/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t97/after/Test.items new file mode 100644 index 000000000000..1d376856a7ac --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t97/after/Test.items @@ -0,0 +1,8 @@ +Types: +PsiField:f1 : int + +Conversions: + +New expression type changes: +Fails: +{0}->int diff --git a/java/typeMigration/testData/refactoring/typeMigration/t97/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t97/after/test.java new file mode 100644 index 000000000000..61687e78d725 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t97/after/test.java @@ -0,0 +1,4 @@ +public class Test { + int f1 = {0}; + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t97/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t97/before/test.java new file mode 100644 index 000000000000..f33899c2c3d7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t97/before/test.java @@ -0,0 +1,4 @@ +public class Test { + Integer[] f1 = {0}; + +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/t98/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t98/after/Test.items new file mode 100644 index 000000000000..9b5e0b6b54e9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t98/after/Test.items @@ -0,0 +1,21 @@ +Types: +PsiArrayAccessExpression:array[i] : java.lang.String +PsiArrayAccessExpression:array[i] : java.lang.String +PsiArrayAccessExpression:array[i] : java.lang.String +PsiLocalVariable:array : java.util.List<java.lang.String> +PsiMethod:getArray : java.util.List<java.lang.String> +PsiMethodCallExpression:getArray() : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> +PsiReferenceExpression:array : java.util.List<java.lang.String> +PsiReferenceExpression:array.length : int + +Conversions: +array.length -> $qualifier$.size() $qualifier$.length +array[i] -> $qualifier$.get($idx$) $qualifier$[$idx$] +array[i] -> $qualifier$.get($idx$) $qualifier$[$idx$] +array[i] -> $qualifier$.get($idx$) $qualifier$[$idx$] + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t98/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t98/after/test.java new file mode 100644 index 000000000000..86e1e0b4f6c2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t98/after/test.java @@ -0,0 +1,17 @@ +import java.util.List; +public class Test { + + List<String> getArray(){ + return null; + } + + void foo(String param) { + List<String> array = getArray(); + for (int i = 0; i < array.size(); i++) { + System.out.println(array.get(i)); + String str = array.get(i); + param = array.get(i); + } + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t98/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t98/before/test.java new file mode 100644 index 000000000000..b79f9495d4ac --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t98/before/test.java @@ -0,0 +1,17 @@ +import java.util.List; +public class Test { + + String[] getArray(){ + return null; + } + + void foo(String param) { + String[] array = getArray(); + for (int i = 0; i < array.length; i++) { + System.out.println(array[i]); + String str = array[i]; + param = array[i]; + } + } + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t99/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/t99/after/Test.items new file mode 100644 index 000000000000..93ca5aa6a01e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t99/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:f : java.util.Set<java.util.List<int[]>> +PsiNewExpression:new Set<List<char[]>>() : java.util.Set<java.util.List<int[]>> + +Conversions: + +New expression type changes: +new Set<List<char[]>>() -> java.util.Set<java.util.List<int[]>> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/t99/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/t99/after/test.java new file mode 100644 index 000000000000..1f7b49a490d9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t99/after/test.java @@ -0,0 +1,6 @@ +import java.util.*; +public class Test { + Set<List<int[]>> f = new Set<>(); + + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/t99/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/t99/before/test.java new file mode 100644 index 000000000000..7ae6a2b492ba --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/t99/before/test.java @@ -0,0 +1,6 @@ +import java.util.*; +public class Test { + Set<List<char[]>> f = new Set<List<char[]>>(); + + +} diff --git a/java/typeMigration/testData/refactoring/typeMigration/typeAnno/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/typeAnno/after/Test.items new file mode 100644 index 000000000000..ab263cc2b7a6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/typeAnno/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:list : java.util.Collection<java.lang.Integer> +PsiNewExpression:new ArrayList<>(2) : java.util.ArrayList<java.lang.Integer> + +Conversions: + +New expression type changes: +new ArrayList<>(2) -> java.util.ArrayList<java.lang.Integer> +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigration/typeAnno/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/typeAnno/after/test.java new file mode 100644 index 000000000000..7d25d562b91d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/typeAnno/after/test.java @@ -0,0 +1,9 @@ +import java.lang.annotation.*; +import java.util.*; + +@Target(value = ElementType.TYPE_USE) +public @interface TA { } + +class Test { + Collection<@TA Integer> list = new ArrayList<>(2); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigration/typeAnno/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/typeAnno/before/test.java new file mode 100644 index 000000000000..6cc51471d8d8 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigration/typeAnno/before/test.java @@ -0,0 +1,9 @@ +import java.lang.annotation.*; +import java.util.*; + +@Target(value = ElementType.TYPE_USE) +public @interface TA { } + +class Test { + ArrayList<@TA Integer> list = new ArrayList<>(2); +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directAssignments/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directAssignments/after/Test.items new file mode 100644 index 000000000000..9d1b1894378f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directAssignments/after/Test.items @@ -0,0 +1,25 @@ +Types: +PsiAssignmentExpression:i += 2 : java.util.concurrent.atomic.AtomicInteger +PsiAssignmentExpression:i -= 5 : java.util.concurrent.atomic.AtomicInteger +PsiBinaryExpression:i + 9 : int +PsiBinaryExpression:i - 9 : int +PsiBinaryExpression:i == 0 : boolean +PsiField:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger + +Conversions: +0 -> new java.util.concurrent.atomic.AtomicInteger($val$) $val$ +9 -> $qualifier$.set($val$) $qualifier$ = $val$ i = 9 +i + 9 -> $qualifier$.get() + $val$ $qualifier$+$val$ +i += 2 -> $qualifier$.getAndAdd(($val$)) $qualifier$ += $val$ +i - 9 -> $qualifier$.get() - $val$ $qualifier$-$val$ +i -= 5 -> $qualifier$.getAndAdd(-($val$)) $qualifier$ -= $val$ +i == 0 -> $qualifier$.get() == $val$ $qualifier$==$val$ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directAssignments/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directAssignments/after/Test.java new file mode 100644 index 000000000000..5c16607a8b70 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directAssignments/after/Test.java @@ -0,0 +1,16 @@ +import java.util.concurrent.atomic.AtomicInteger; + +class Test { + AtomicInteger i = new AtomicInteger(0); + + void foo() { + i.getAndAdd((2)); + i.getAndAdd(-(5)); + if (i.get() == 0) { + i.set(9); + } + + System.out.println(i.get() + 9); + System.out.println(i.get() - 9); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directAssignments/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directAssignments/before/Test.java new file mode 100644 index 000000000000..b96f02057dfd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directAssignments/before/Test.java @@ -0,0 +1,14 @@ +class Test { + int i = 0; + + void foo() { + i += 2; + i -= 5; + if (i == 0) { + i = 9; + } + + System.out.println(i + 9); + System.out.println(i - 9); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directByte/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directByte/after/Test.items new file mode 100644 index 000000000000..e0e121ecf00d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directByte/after/Test.items @@ -0,0 +1,19 @@ +Types: +PsiAssignmentExpression:b += 0 : java.util.concurrent.atomic.AtomicReference<java.lang.Byte> +PsiBinaryExpression:b == 0 : boolean +PsiField:b : java.util.concurrent.atomic.AtomicReference<java.lang.Byte> +PsiPostfixExpression:b++ : java.util.concurrent.atomic.AtomicReference<java.lang.Byte> +PsiReferenceExpression:b : java.util.concurrent.atomic.AtomicReference<java.lang.Byte> +PsiReferenceExpression:b : java.util.concurrent.atomic.AtomicReference<java.lang.Byte> +PsiReferenceExpression:b : java.util.concurrent.atomic.AtomicReference<java.lang.Byte> +PsiReferenceExpression:b : java.util.concurrent.atomic.AtomicReference<java.lang.Byte> + +Conversions: +0 -> new java.util.concurrent.atomic.AtomicReference<java.lang.Byte>((byte)$val$) $val$ +b += 0 -> $qualifier$.set(new Byte((byte)($qualifier$.get() + $val$))) $qualifier$+=$val$ +b -> $qualifier$.get() $qualifier$ b +b == 0 -> $qualifier$.get() == $val$ $qualifier$==$val$ +b++ -> $qualifier$.getAndSet(new Byte((byte)($qualifier$.get() + 1))) $qualifier$++ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directByte/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directByte/after/Test.java new file mode 100644 index 000000000000..a1dbfc714326 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directByte/after/Test.java @@ -0,0 +1,14 @@ +import java.util.concurrent.atomic.AtomicReference; + +class Test { + AtomicReference<Byte> b = new AtomicReference<Byte>((byte) 0); + + void bar() { + if (b.get() == 0) { + b.getAndSet(new Byte((byte) (b.get() + 1))); + b.set(new Byte((byte) (b.get() + 0))); + //System.out.println(b + 10); + System.out.println(b.get()); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directByte/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directByte/before/Test.java new file mode 100644 index 000000000000..fa494c28a3c4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directByte/before/Test.java @@ -0,0 +1,12 @@ +class Test { + byte b = 0; + + void bar() { + if (b == 0) { + b++; + b += 0; + //System.out.println(b + 10); + System.out.println(b); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directConditions/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directConditions/after/Test.items new file mode 100644 index 000000000000..95f366691485 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directConditions/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:b : java.util.concurrent.atomic.AtomicBoolean +PsiReferenceExpression:b : java.util.concurrent.atomic.AtomicBoolean +PsiReferenceExpression:b : java.util.concurrent.atomic.AtomicBoolean + +Conversions: +b -> $qualifier$.get() $qualifier$ b +true -> $qualifier$.set($val$) $qualifier$ = $val$ b = true + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directConditions/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directConditions/after/Test.java new file mode 100644 index 000000000000..02fc40276a86 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directConditions/after/Test.java @@ -0,0 +1,11 @@ +import java.util.concurrent.atomic.AtomicBoolean; + +class Test { + AtomicBoolean b; + + void foo() { + if (b.get()) { + b.set(true); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directConditions/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directConditions/before/Test.java new file mode 100644 index 000000000000..ef5413600c40 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directConditions/before/Test.java @@ -0,0 +1,9 @@ +class Test { + boolean b; + + void foo() { + if (b) { + b = true; + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directForeach/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directForeach/after/Test.items new file mode 100644 index 000000000000..add3ea1f98e3 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directForeach/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiField:lst : java.util.concurrent.atomic.AtomicReference<java.util.List<java.lang.String>> +PsiReferenceExpression:lst : java.util.concurrent.atomic.AtomicReference<java.util.List<java.lang.String>> + +Conversions: +lst -> $qualifier$.get() $qualifier$ lst + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directForeach/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directForeach/after/Test.java new file mode 100644 index 000000000000..4db9a5619849 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directForeach/after/Test.java @@ -0,0 +1,12 @@ +import java.util.*; +import java.util.concurrent.atomic.AtomicReference; + +class Test { + AtomicReference<List<String>> lst; + + void foo() { + for (String s : lst.get()) { + System.out.println(s); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directForeach/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directForeach/before/Test.java new file mode 100644 index 000000000000..1d40f4082444 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directForeach/before/Test.java @@ -0,0 +1,11 @@ +import java.util.*; + +class Test { + List<String> lst; + + void foo() { + for (String s : lst) { + System.out.println(s); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIncrementDecrement/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIncrementDecrement/after/Test.items new file mode 100644 index 000000000000..852aa470a285 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIncrementDecrement/after/Test.items @@ -0,0 +1,25 @@ +Types: +PsiField:i : java.util.concurrent.atomic.AtomicInteger +PsiPostfixExpression:i++ : java.util.concurrent.atomic.AtomicInteger +PsiPostfixExpression:i++ : java.util.concurrent.atomic.AtomicInteger +PsiPostfixExpression:i-- : java.util.concurrent.atomic.AtomicInteger +PsiPrefixExpression:++i : java.util.concurrent.atomic.AtomicInteger +PsiPrefixExpression:--i : java.util.concurrent.atomic.AtomicInteger +PsiPrefixExpression:--i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger +PsiReferenceExpression:i : java.util.concurrent.atomic.AtomicInteger + +Conversions: +++i -> $qualifier$.incrementAndGet() ++$qualifier$ +--i -> $qualifier$.decrementAndGet() --$qualifier$ +--i -> $qualifier$.decrementAndGet() --$qualifier$ +i++ -> $qualifier$.getAndIncrement() $qualifier$++ +i++ -> $qualifier$.getAndIncrement() $qualifier$++ +i-- -> $qualifier$.getAndDecrement() $qualifier$-- + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIncrementDecrement/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIncrementDecrement/after/Test.java new file mode 100644 index 000000000000..bdcf7171016b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIncrementDecrement/after/Test.java @@ -0,0 +1,14 @@ +import java.util.concurrent.atomic.AtomicInteger; + +class Test { + AtomicInteger i; + + void foo() { + i.getAndIncrement(); + i.incrementAndGet(); + i.getAndDecrement(); + i.decrementAndGet(); + System.out.println(i.getAndIncrement()); + System.out.println(i.decrementAndGet()); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIncrementDecrement/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIncrementDecrement/before/Test.java new file mode 100644 index 000000000000..be6aa55d5f29 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIncrementDecrement/before/Test.java @@ -0,0 +1,12 @@ +class Test { + int i; + + void foo() { + i++; + ++i; + i--; + --i; + System.out.println(i++); + System.out.println(--i); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIntArray/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIntArray/after/Test.items new file mode 100644 index 000000000000..69a66c34a6cb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIntArray/after/Test.items @@ -0,0 +1,34 @@ +Types: +PsiArrayAccessExpression:a[0] : int +PsiArrayAccessExpression:a[0] : int +PsiArrayAccessExpression:a[0] : int +PsiArrayAccessExpression:a[0] : int +PsiArrayAccessExpression:a[0] : int +PsiArrayAccessExpression:a[0] : int +PsiArrayAccessExpression:a[0] : int +PsiArrayAccessExpression:a[0] : int +PsiField:a : java.util.concurrent.atomic.AtomicIntegerArray +PsiReferenceExpression:a : java.util.concurrent.atomic.AtomicIntegerArray +PsiReferenceExpression:a : java.util.concurrent.atomic.AtomicIntegerArray +PsiReferenceExpression:a : java.util.concurrent.atomic.AtomicIntegerArray +PsiReferenceExpression:a : java.util.concurrent.atomic.AtomicIntegerArray +PsiReferenceExpression:a : java.util.concurrent.atomic.AtomicIntegerArray +PsiReferenceExpression:a : java.util.concurrent.atomic.AtomicIntegerArray +PsiReferenceExpression:a : java.util.concurrent.atomic.AtomicIntegerArray +PsiReferenceExpression:a : java.util.concurrent.atomic.AtomicIntegerArray +PsiReferenceExpression:a : java.util.concurrent.atomic.AtomicIntegerArray + +Conversions: +a[0] -> $qualifier$.decrementAndGet($idx$) --$qualifier$[$idx$] --a[0] +a[0] -> $qualifier$.get($idx$) $qualifier$[$idx$] a[0] +a[0] -> $qualifier$.get($idx$) $qualifier$[$idx$] a[0] +a[0] -> $qualifier$.getAndAdd($idx$, ($val$)) $qualifier$[$idx$] += $val$ a[0] += (2) +a[0] -> $qualifier$.getAndDecrement($idx$) $qualifier$[$idx$]-- a[0]-- +a[0] -> $qualifier$.getAndIncrement($idx$) $qualifier$[$idx$]++ a[0]++ +a[0] -> $qualifier$.incrementAndGet($idx$) ++$qualifier$[$idx$] ++a[0] +a[0] -> $qualifier$.set($idx$, $qualifier$.get($idx$) * $val$) $qualifier$[$idx$]*=$val$ a[0] *= 2 +new int[0] -> new java.util.concurrent.atomic.AtomicIntegerArray($val$) $val$ new int[0] +new int[1] -> new java.util.concurrent.atomic.AtomicIntegerArray($val$) $val$ new int[1] + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIntArray/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIntArray/after/Test.java new file mode 100644 index 000000000000..8dbba12048fe --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIntArray/after/Test.java @@ -0,0 +1,20 @@ +import java.util.concurrent.atomic.AtomicIntegerArray; + +class Test { + AtomicIntegerArray a = new AtomicIntegerArray(new int[1]); + + + void foo() { + a.getAndIncrement(0); + System.out.println(a.incrementAndGet(0)); + a.getAndDecrement(0); + if (a.decrementAndGet(0) == 0) { + a.getAndAdd(0, ((2))); + a.set(0, a.get(0) * 2); + if (a.get(0) == 0) { + System.out.println(a.get(0) + 7); + } + } + a = new AtomicIntegerArray(new int[0]); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIntArray/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIntArray/before/Test.java new file mode 100644 index 000000000000..5d39cf2963c6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directIntArray/before/Test.java @@ -0,0 +1,18 @@ +class Test { + int[] a = new int[1]; + + + void foo() { + a[0]++; + System.out.println(++a[0]); + a[0]--; + if (--a[0] == 0) { + a[0] += (2); + a[0] *= 2; + if (a[0] == 0) { + System.out.println(a[0] + 7); + } + } + a = new int[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directString/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directString/after/Test.items new file mode 100644 index 000000000000..0d306b0b4747 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directString/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:s : java.util.concurrent.atomic.AtomicReference<java.lang.String> +PsiReferenceExpression:s : java.util.concurrent.atomic.AtomicReference<java.lang.String> +PsiReferenceExpression:s : java.util.concurrent.atomic.AtomicReference<java.lang.String> + +Conversions: +"" -> new java.util.concurrent.atomic.AtomicReference<java.lang.String>($val$) $val$ +s -> $qualifier$.get() $qualifier$ s + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directString/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directString/after/Test.java new file mode 100644 index 000000000000..cb32e0ba130b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directString/after/Test.java @@ -0,0 +1,11 @@ +import java.util.concurrent.atomic.AtomicReference; + +class Test { + AtomicReference<String> s = new AtomicReference<String>(""); + + void foo() { + if (s == null) { + System.out.println(s.get()); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directString/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directString/before/Test.java new file mode 100644 index 000000000000..1770416a0295 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directString/before/Test.java @@ -0,0 +1,9 @@ +class Test { + String s = ""; + + void foo() { + if (s == null) { + System.out.println(s); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directStringArray/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directStringArray/after/Test.items new file mode 100644 index 000000000000..b90b4a347f40 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directStringArray/after/Test.items @@ -0,0 +1,14 @@ +Types: +PsiArrayAccessExpression:s[0] : java.lang.String +PsiArrayAccessExpression:s[0] : java.lang.String +PsiField:s : java.util.concurrent.atomic.AtomicReferenceArray<java.lang.String> +PsiReferenceExpression:s : java.util.concurrent.atomic.AtomicReferenceArray<java.lang.String> +PsiReferenceExpression:s : java.util.concurrent.atomic.AtomicReferenceArray<java.lang.String> + +Conversions: +new String[2] -> new java.util.concurrent.atomic.AtomicReferenceArray<java.lang.String>($val$) $val$ new String[2] +s[0] -> $qualifier$.get($idx$) $qualifier$[$idx$] s[0] +s[0] -> $qualifier$.set($idx$, $val$) $qualifier$[$idx$] = $val$ s[0] = "" + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directStringArray/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directStringArray/after/Test.java new file mode 100644 index 000000000000..42415d0c3141 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directStringArray/after/Test.java @@ -0,0 +1,11 @@ +import java.util.concurrent.atomic.AtomicReferenceArray; + +class Test { + AtomicReferenceArray<String> s = new AtomicReferenceArray<String>(new String[2]); + + void foo() { + s.set(0, ""); + System.out.println(s.get(0)); + + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directStringArray/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directStringArray/before/Test.java new file mode 100644 index 000000000000..4f19feba6479 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/directStringArray/before/Test.java @@ -0,0 +1,9 @@ +class Test { + String[] s = new String[2]; + + void foo() { + s[0] = ""; + System.out.println(s[0]); + + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseAssignments/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseAssignments/after/Test.items new file mode 100644 index 000000000000..767993764c48 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseAssignments/after/Test.items @@ -0,0 +1,26 @@ +Types: +PsiField:i : int +PsiMethodCallExpression:i.addAndGet(-(9)) : int +PsiMethodCallExpression:i.addAndGet(9) : int +PsiMethodCallExpression:i.get() : int +PsiMethodCallExpression:i.getAndAdd(-5) : int +PsiMethodCallExpression:i.getAndAdd(2) : int +PsiMethodCallExpression:i.set(9) : void +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int + +Conversions: +i.addAndGet(-(9)) -> $qualifier$ + $delta$ $qualifier$.addAndGet($delta$) +i.addAndGet(9) -> $qualifier$ + $delta$ $qualifier$.addAndGet($delta$) +i.get() -> $qualifier$ $qualifier$.get() +i.getAndAdd(-5) -> $qualifier$ += $val$ $qualifier$.getAndAdd($val$) +i.getAndAdd(2) -> $qualifier$ += $val$ $qualifier$.getAndAdd($val$) +i.set(9) -> $qualifier$ = $val$ $qualifier$.set($val$) +new AtomicInteger(0) -> $qualifier$ new $type$($qualifier$) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseAssignments/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseAssignments/after/Test.java new file mode 100644 index 000000000000..1372ccee2b27 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseAssignments/after/Test.java @@ -0,0 +1,15 @@ +import java.util.concurrent.atomic.AtomicInteger; +class Test { + int i = 0; + + void foo() { + i += 2; + i += -5; + if (i == 0) { + i = 9; + } + + System.out.println(i + 9); + System.out.println(i + -(9)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseAssignments/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseAssignments/before/Test.java new file mode 100644 index 000000000000..cfd312daa073 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseAssignments/before/Test.java @@ -0,0 +1,15 @@ +import java.util.concurrent.atomic.AtomicInteger; +class Test { + AtomicInteger i = new AtomicInteger(0); + + void foo() { + i.getAndAdd(2); + i.getAndAdd(-5); + if (i.get() == 0) { + i.set(9); + } + + System.out.println(i.addAndGet(9)); + System.out.println(i.addAndGet(-(9))); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseByte/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseByte/after/Test.items new file mode 100644 index 000000000000..8585bda9e020 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseByte/after/Test.items @@ -0,0 +1,26 @@ +Types: +PsiField:b : byte +PsiMethodCallExpression:b.get() : java.lang.Byte +PsiMethodCallExpression:b.get() : java.lang.Byte +PsiMethodCallExpression:b.get() : java.lang.Byte +PsiMethodCallExpression:b.get() : java.lang.Byte +PsiMethodCallExpression:b.getAndSet(new Byte((byte) (b.get() + 1))) : java.lang.Byte +PsiMethodCallExpression:b.set(new Byte((byte) (b.get() + 0))) : void +PsiReferenceExpression:b : byte +PsiReferenceExpression:b : byte +PsiReferenceExpression:b : byte +PsiReferenceExpression:b : byte +PsiReferenceExpression:b : byte +PsiReferenceExpression:b : byte + +Conversions: +b.get() -> $qualifier$ $qualifier$.get() +b.get() -> $qualifier$ $qualifier$.get() +b.get() -> $qualifier$ $qualifier$.get() +b.get() -> $qualifier$ $qualifier$.get() +b.getAndSet(new Byte((byte) (b.get() + 1))) -> $qualifier$ = $val$ $qualifier$.getAndSet($val$) +b.set(new Byte((byte) (b.get() + 0))) -> $qualifier$ = $val$ $qualifier$.set($val$) +new AtomicReference<Byte>((byte) 0) -> $qualifier$ new $type$($qualifier$) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseByte/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseByte/after/Test.java new file mode 100644 index 000000000000..28445dd31728 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseByte/after/Test.java @@ -0,0 +1,14 @@ +import java.util.concurrent.atomic.AtomicReference; + +class Test { + byte b = (byte) 0; + + void bar() { + if (b == 0) { + b = new Byte((byte) (b + 1)); + b = new Byte((byte) (b + 0)); + //System.out.println(b + 10); + System.out.println(b); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseByte/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseByte/before/Test.java new file mode 100644 index 000000000000..a1dbfc714326 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseByte/before/Test.java @@ -0,0 +1,14 @@ +import java.util.concurrent.atomic.AtomicReference; + +class Test { + AtomicReference<Byte> b = new AtomicReference<Byte>((byte) 0); + + void bar() { + if (b.get() == 0) { + b.getAndSet(new Byte((byte) (b.get() + 1))); + b.set(new Byte((byte) (b.get() + 0))); + //System.out.println(b + 10); + System.out.println(b.get()); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseConditions/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseConditions/after/Test.items new file mode 100644 index 000000000000..3594508bebe5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseConditions/after/Test.items @@ -0,0 +1,13 @@ +Types: +PsiField:b : boolean +PsiMethodCallExpression:b.get() : boolean +PsiMethodCallExpression:b.set(true) : void +PsiReferenceExpression:b : boolean +PsiReferenceExpression:b : boolean + +Conversions: +b.get() -> $qualifier$ $qualifier$.get() +b.set(true) -> $qualifier$ = $val$ $qualifier$.set($val$) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseConditions/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseConditions/after/Test.java new file mode 100644 index 000000000000..92f515c35936 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseConditions/after/Test.java @@ -0,0 +1,10 @@ +import java.util.concurrent.atomic.AtomicBoolean; +class Test { + boolean b; + + void foo() { + if (b) { + b = true; + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseConditions/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseConditions/before/Test.java new file mode 100644 index 000000000000..5464f705ddeb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseConditions/before/Test.java @@ -0,0 +1,10 @@ +import java.util.concurrent.atomic.AtomicBoolean; +class Test { + AtomicBoolean b; + + void foo() { + if (b.get()) { + b.set(true); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIncrementDecrement/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIncrementDecrement/after/Test.items new file mode 100644 index 000000000000..cba5bc10f359 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIncrementDecrement/after/Test.items @@ -0,0 +1,25 @@ +Types: +PsiField:i : int +PsiMethodCallExpression:i.decrementAndGet() : int +PsiMethodCallExpression:i.decrementAndGet() : int +PsiMethodCallExpression:i.getAndDecrement() : int +PsiMethodCallExpression:i.getAndIncrement() : int +PsiMethodCallExpression:i.getAndIncrement() : int +PsiMethodCallExpression:i.incrementAndGet() : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int +PsiReferenceExpression:i : int + +Conversions: +i.decrementAndGet() -> --$qualifier$ $qualifier$.decrementAndGet() +i.decrementAndGet() -> --$qualifier$ $qualifier$.decrementAndGet() +i.getAndDecrement() -> $qualifier$-- $qualifier$.getAndDecrement() +i.getAndIncrement() -> $qualifier$++ $qualifier$.getAndIncrement() +i.getAndIncrement() -> $qualifier$++ $qualifier$.getAndIncrement() +i.incrementAndGet() -> ++$qualifier$ $qualifier$.incrementAndGet() + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIncrementDecrement/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIncrementDecrement/after/Test.java new file mode 100644 index 000000000000..dd70e550a751 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIncrementDecrement/after/Test.java @@ -0,0 +1,13 @@ +import java.util.concurrent.atomic.AtomicInteger; +class Test { + int i; + + void foo() { + i++; + ++i; + i--; + --i; + System.out.println(i++); + System.out.println(--i); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIncrementDecrement/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIncrementDecrement/before/Test.java new file mode 100644 index 000000000000..853e5387aca9 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIncrementDecrement/before/Test.java @@ -0,0 +1,13 @@ +import java.util.concurrent.atomic.AtomicInteger; +class Test { + AtomicInteger i; + + void foo() { + i.getAndIncrement(); + i.incrementAndGet(); + i.getAndDecrement(); + i.decrementAndGet(); + System.out.println(i.getAndIncrement()); + System.out.println(i.decrementAndGet()); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIntArray/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIntArray/after/Test.items new file mode 100644 index 000000000000..55c1c7bc2574 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIntArray/after/Test.items @@ -0,0 +1,35 @@ +Types: +PsiField:a : int[] +PsiMethodCallExpression:a.addAndGet(0, 7) : int +PsiMethodCallExpression:a.decrementAndGet(0) : int +PsiMethodCallExpression:a.get(0) : int +PsiMethodCallExpression:a.get(0) : int +PsiMethodCallExpression:a.getAndAdd(0, ((2))) : int +PsiMethodCallExpression:a.getAndDecrement(0) : int +PsiMethodCallExpression:a.getAndIncrement(0) : int +PsiMethodCallExpression:a.incrementAndGet(0) : int +PsiMethodCallExpression:a.set(0, a.get(0) * 2) : void +PsiReferenceExpression:a : int[] +PsiReferenceExpression:a : int[] +PsiReferenceExpression:a : int[] +PsiReferenceExpression:a : int[] +PsiReferenceExpression:a : int[] +PsiReferenceExpression:a : int[] +PsiReferenceExpression:a : int[] +PsiReferenceExpression:a : int[] +PsiReferenceExpression:a : int[] + +Conversions: +a.addAndGet(0, 7) -> $qualifier$[$idx$] + $delta$ $qualifier$.addAndGet($idx$, $delta$) +a.decrementAndGet(0) -> --$qualifier$[$idx$] $qualifier$.decrementAndGet($idx$) +a.get(0) -> $qualifier$[$idx$] $qualifier$.get($idx$) +a.get(0) -> $qualifier$[$idx$] $qualifier$.get($idx$) +a.getAndAdd(0, ((2))) -> $qualifier$[$idx$] += $val$ $qualifier$.getAndAdd($idx$, $val$) +a.getAndDecrement(0) -> $qualifier$[$idx$]-- $qualifier$.getAndDecrement($idx$) +a.getAndIncrement(0) -> $qualifier$[$idx$]++ $qualifier$.getAndIncrement($idx$) +a.incrementAndGet(0) -> ++$qualifier$[$idx$] $qualifier$.incrementAndGet($idx$) +a.set(0, a.get(0) * 2) -> $qualifier$[$idx$] = $val$ $qualifier$.set($idx$, $val$) +new AtomicIntegerArray(new int[1]) -> $qualifier$ new $type$($qualifier$) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIntArray/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIntArray/after/Test.java new file mode 100644 index 000000000000..401714230d3c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIntArray/after/Test.java @@ -0,0 +1,19 @@ +import java.util.concurrent.atomic.AtomicIntegerArray; + +class Test { + int[] a = new int[1]; + + + void foo() { + a[0]++; + System.out.println(++a[0]); + a[0]--; + if (--a[0] == 0) { + a[0] += ((2)); + a[0] = a[0] * 2; + if (a[0] == 0) { + System.out.println(a[0] + 7); + } + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIntArray/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIntArray/before/Test.java new file mode 100644 index 000000000000..df31528b9d7e --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseIntArray/before/Test.java @@ -0,0 +1,19 @@ +import java.util.concurrent.atomic.AtomicIntegerArray; + +class Test { + AtomicIntegerArray a = new AtomicIntegerArray(new int[1]); + + + void foo() { + a.getAndIncrement(0); + System.out.println(a.incrementAndGet(0)); + a.getAndDecrement(0); + if (a.decrementAndGet(0) == 0) { + a.getAndAdd(0, ((2))); + a.set(0, a.get(0) * 2); + if (a.get(0) == 0) { + System.out.println(a.addAndGet(0, 7)); + } + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseString/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseString/after/Test.items new file mode 100644 index 000000000000..7c23d49d8bfd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseString/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiField:s : java.lang.String +PsiMethodCallExpression:s.get() : java.lang.String +PsiReferenceExpression:s : java.lang.String +PsiReferenceExpression:s : java.lang.String + +Conversions: +new AtomicReference<String>("") -> $qualifier$ new $type$($qualifier$) +s.get() -> $qualifier$ $qualifier$.get() + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseString/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseString/after/Test.java new file mode 100644 index 000000000000..a0106ff8d66f --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseString/after/Test.java @@ -0,0 +1,11 @@ +import java.util.concurrent.atomic.AtomicReference; + +class Test { + String s = ""; + + void foo() { + if (s == null) { + System.out.println(s); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseString/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseString/before/Test.java new file mode 100644 index 000000000000..cb32e0ba130b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseString/before/Test.java @@ -0,0 +1,11 @@ +import java.util.concurrent.atomic.AtomicReference; + +class Test { + AtomicReference<String> s = new AtomicReference<String>(""); + + void foo() { + if (s == null) { + System.out.println(s.get()); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseStringArray/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseStringArray/after/Test.items new file mode 100644 index 000000000000..eaf82b5cc2e6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseStringArray/after/Test.items @@ -0,0 +1,14 @@ +Types: +PsiField:s : java.lang.String[] +PsiMethodCallExpression:s.get(0) : java.lang.String +PsiMethodCallExpression:s.set(0, "") : void +PsiReferenceExpression:s : java.lang.String[] +PsiReferenceExpression:s : java.lang.String[] + +Conversions: +new AtomicReferenceArray<String>(new String[2]) -> $qualifier$ new $type$($qualifier$) +s.get(0) -> $qualifier$[$idx$] $qualifier$.get($idx$) +s.set(0, "") -> $qualifier$[$idx$] = $val$ $qualifier$.set($idx$, $val$) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseStringArray/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseStringArray/after/Test.java new file mode 100644 index 000000000000..0c64ea445f01 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseStringArray/after/Test.java @@ -0,0 +1,11 @@ +import java.util.concurrent.atomic.AtomicReferenceArray; + +class Test { + String[] s = new String[2]; + + void foo() { + s[0] = ""; + System.out.println(s[0]); + + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseStringArray/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseStringArray/before/Test.java new file mode 100644 index 000000000000..fbc97bc2eb36 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByAtomic/reverseStringArray/before/Test.java @@ -0,0 +1,11 @@ +import java.util.concurrent.atomic.AtomicReferenceArray; + +class Test { + AtomicReferenceArray<String> s = new AtomicReferenceArray<String>(new String[2]); + + void foo() { + s.set(0, ""); + System.out.println(s.get(0)); + + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directByte/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directByte/after/Test.items new file mode 100644 index 000000000000..e01b4b5e1f8b --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directByte/after/Test.items @@ -0,0 +1,22 @@ +Types: +PsiBinaryExpression:i == 0 : boolean +PsiField:i : java.lang.ThreadLocal<java.lang.Byte> +PsiPostfixExpression:i++ : java.lang.ThreadLocal<java.lang.Byte> +PsiPostfixExpression:i-- : java.lang.ThreadLocal<java.lang.Byte> +PsiPrefixExpression:++i : java.lang.ThreadLocal<java.lang.Byte> +PsiPrefixExpression:--i : java.lang.ThreadLocal<java.lang.Byte> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Byte> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Byte> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Byte> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Byte> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Byte> + +Conversions: +++i -> $qualifier$.set(new java.lang.Byte((byte)($qualifier$.get() + 1))) ++$qualifier$ +--i -> $qualifier$.set(new java.lang.Byte((byte)($qualifier$.get() - 1))) --$qualifier$ +i == 0 -> $qualifier$.get() == $val$ $qualifier$==$val$ +i++ -> $qualifier$.set(new java.lang.Byte((byte)($qualifier$.get() + 1))) $qualifier$++ +i-- -> $qualifier$.set(new java.lang.Byte((byte)($qualifier$.get() - 1))) $qualifier$-- + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directByte/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directByte/after/Test.java new file mode 100644 index 000000000000..61b88dbefceb --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directByte/after/Test.java @@ -0,0 +1,11 @@ +class Test { + ThreadLocal<Byte> i; + + void foo() { + i.set(new Byte((byte) (i.get() + 1))); + i.set(new Byte((byte) (i.get() + 1))); + i.set(new Byte((byte) (i.get() - 1))); + i.set(new Byte((byte) (i.get() - 1))); + if (i.get() == 0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directByte/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directByte/before/Test.java new file mode 100644 index 000000000000..dd3fb1bca60d --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directByte/before/Test.java @@ -0,0 +1,11 @@ +class Test { + byte i; + + void foo() { + i++; + ++i; + i--; + --i; + if (i == 0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directInt/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directInt/after/Test.items new file mode 100644 index 000000000000..1bffd7037cb6 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directInt/after/Test.items @@ -0,0 +1,22 @@ +Types: +PsiBinaryExpression:i == 0 : boolean +PsiField:i : java.lang.ThreadLocal<java.lang.Integer> +PsiPostfixExpression:i++ : java.lang.ThreadLocal<java.lang.Integer> +PsiPostfixExpression:i-- : java.lang.ThreadLocal<java.lang.Integer> +PsiPrefixExpression:++i : java.lang.ThreadLocal<java.lang.Integer> +PsiPrefixExpression:--i : java.lang.ThreadLocal<java.lang.Integer> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Integer> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Integer> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Integer> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Integer> +PsiReferenceExpression:i : java.lang.ThreadLocal<java.lang.Integer> + +Conversions: +++i -> $qualifier$.set($qualifier$.get() + 1) ++$qualifier$ +--i -> $qualifier$.set($qualifier$.get() - 1) --$qualifier$ +i == 0 -> $qualifier$.get() == $val$ $qualifier$==$val$ +i++ -> $qualifier$.set($qualifier$.get() + 1) $qualifier$++ +i-- -> $qualifier$.set($qualifier$.get() - 1) $qualifier$-- + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directInt/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directInt/after/Test.java new file mode 100644 index 000000000000..627739bc4b1c --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directInt/after/Test.java @@ -0,0 +1,11 @@ +class Test { + ThreadLocal<Integer> i; + + void foo() { + i.set(i.get() + 1); + i.set(i.get() + 1); + i.set(i.get() - 1); + i.set(i.get() - 1); + if (i.get() == 0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directInt/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directInt/before/Test.java new file mode 100644 index 000000000000..9039f28e9617 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directInt/before/Test.java @@ -0,0 +1,11 @@ +class Test { + int i; + + void foo() { + i++; + ++i; + i--; + --i; + if (i == 0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directString/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directString/after/Test.items new file mode 100644 index 000000000000..29d4312a8580 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directString/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiField:myS : java.lang.ThreadLocal<java.lang.String> +PsiReferenceExpression:myS : java.lang.ThreadLocal<java.lang.String> +PsiReferenceExpression:myS : java.lang.ThreadLocal<java.lang.String> + +Conversions: +myS -> $qualifier$.get() $qualifier$ myS + +New expression type changes: +Fails: +""->java.lang.ThreadLocal<java.lang.String> diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directString/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directString/after/Test.java new file mode 100644 index 000000000000..949869096327 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directString/after/Test.java @@ -0,0 +1,9 @@ +class Test { + ThreadLocal<String> myS = ""; + + void foo() { + if (myS == null) { + System.out.println(myS.get()); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directString/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directString/before/Test.java new file mode 100644 index 000000000000..8ee02790f113 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/directString/before/Test.java @@ -0,0 +1,9 @@ +class Test { + String myS = ""; + + void foo() { + if (myS == null) { + System.out.println(myS); + } + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/languageLevel/after/Test.items b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/languageLevel/after/Test.items new file mode 100644 index 000000000000..09a2a211ae6a --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/languageLevel/after/Test.items @@ -0,0 +1,22 @@ +Types: +PsiBinaryExpression:i == 0 : boolean +PsiField:i : java.lang.ThreadLocal +PsiPostfixExpression:i++ : java.lang.ThreadLocal +PsiPostfixExpression:i-- : java.lang.ThreadLocal +PsiPrefixExpression:++i : java.lang.ThreadLocal +PsiPrefixExpression:--i : java.lang.ThreadLocal +PsiReferenceExpression:i : java.lang.ThreadLocal +PsiReferenceExpression:i : java.lang.ThreadLocal +PsiReferenceExpression:i : java.lang.ThreadLocal +PsiReferenceExpression:i : java.lang.ThreadLocal +PsiReferenceExpression:i : java.lang.ThreadLocal + +Conversions: +++i -> $qualifier$.set(new java.lang.Integer(((java.lang.Integer)$qualifier$.get()).intValue() + 1)) ++$qualifier$ +--i -> $qualifier$.set(new java.lang.Integer(((java.lang.Integer)$qualifier$.get()).intValue() - 1)) --$qualifier$ +i == 0 -> ((java.lang.Integer)$qualifier$.get()).intValue() == $val$ $qualifier$==$val$ +i++ -> $qualifier$.set(new java.lang.Integer(((java.lang.Integer)$qualifier$.get()).intValue() + 1)) $qualifier$++ +i-- -> $qualifier$.set(new java.lang.Integer(((java.lang.Integer)$qualifier$.get()).intValue() - 1)) $qualifier$-- + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/languageLevel/after/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/languageLevel/after/Test.java new file mode 100644 index 000000000000..81e5fe05d6dd --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/languageLevel/after/Test.java @@ -0,0 +1,11 @@ +class Test { + ThreadLocal i; + + void foo() { + i.set(new Integer(((Integer) i.get()).intValue() + 1)); + i.set(new Integer(((Integer) i.get()).intValue() + 1)); + i.set(new Integer(((Integer) i.get()).intValue() - 1)); + i.set(new Integer(((Integer) i.get()).intValue() - 1)); + if (((Integer) i.get()).intValue() == 0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/languageLevel/before/Test.java b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/languageLevel/before/Test.java new file mode 100644 index 000000000000..9039f28e9617 --- /dev/null +++ b/java/typeMigration/testData/refactoring/typeMigrationByThreadLocal/languageLevel/before/Test.java @@ -0,0 +1,11 @@ +class Test { + int i; + + void foo() { + i++; + ++i; + i--; + --i; + if (i == 0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/assignmentExtends/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/assignmentExtends/after/Test.items new file mode 100644 index 000000000000..b39d716277ba --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/assignmentExtends/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.util.ArrayList<? extends java.lang.Integer> +PsiReferenceExpression:p : java.util.ArrayList<? extends java.lang.Integer> + +Conversions: + +New expression type changes: +Fails: +p[0]->java.util.ArrayList<? extends java.lang.Integer> diff --git a/java/typeMigration/testData/refactoring/wildcard/assignmentExtends/after/test.java b/java/typeMigration/testData/refactoring/wildcard/assignmentExtends/after/test.java new file mode 100644 index 000000000000..16a620ef2e6d --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/assignmentExtends/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? extends Integer> p) { + p[0] = new Integer(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/assignmentExtends/before/test.java b/java/typeMigration/testData/refactoring/wildcard/assignmentExtends/before/test.java new file mode 100644 index 000000000000..4a148c3bd6fe --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/assignmentExtends/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Integer[] p) { + p[0] = new Integer(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/assignmentSuper/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/assignmentSuper/after/Test.items new file mode 100644 index 000000000000..8ee86c529545 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/assignmentSuper/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiArrayAccessExpression:p[0] : java.lang.Integer +PsiParameter:p : java.util.ArrayList<? super java.lang.Integer> +PsiReferenceExpression:p : java.util.ArrayList<? super java.lang.Integer> + +Conversions: +p[0] -> $qualifier$.set($idx$, $expr$) $qualifier$[$idx$] = $expr$ p[0] = new Integer(0) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/assignmentSuper/after/test.java b/java/typeMigration/testData/refactoring/wildcard/assignmentSuper/after/test.java new file mode 100644 index 000000000000..25cab7a9d34c --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/assignmentSuper/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? super Integer> p) { + p.set(0, new Integer(0)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/assignmentSuper/before/test.java b/java/typeMigration/testData/refactoring/wildcard/assignmentSuper/before/test.java new file mode 100644 index 000000000000..4a148c3bd6fe --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/assignmentSuper/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Integer[] p) { + p[0] = new Integer(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/assignmentUnbounded/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/assignmentUnbounded/after/Test.items new file mode 100644 index 000000000000..e2bbfc48b834 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/assignmentUnbounded/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.util.ArrayList<?> +PsiReferenceExpression:p : java.util.ArrayList<?> + +Conversions: + +New expression type changes: +Fails: +p[0]->java.util.ArrayList<?> diff --git a/java/typeMigration/testData/refactoring/wildcard/assignmentUnbounded/after/test.java b/java/typeMigration/testData/refactoring/wildcard/assignmentUnbounded/after/test.java new file mode 100644 index 000000000000..4804293a696e --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/assignmentUnbounded/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<?> p) { + p[0] = new Integer(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/assignmentUnbounded/before/test.java b/java/typeMigration/testData/refactoring/wildcard/assignmentUnbounded/before/test.java new file mode 100644 index 000000000000..4a148c3bd6fe --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/assignmentUnbounded/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Integer[] p) { + p[0] = new Integer(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/consumerExtends/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/consumerExtends/after/Test.items new file mode 100644 index 000000000000..455ebca21125 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/consumerExtends/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:p.get(0) : java.lang.Number +PsiParameter:p : java.util.ArrayList<? extends java.lang.Number> +PsiReferenceExpression:p : java.util.ArrayList<? extends java.lang.Number> + +Conversions: +p.get(0) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/consumerExtends/after/test.java b/java/typeMigration/testData/refactoring/wildcard/consumerExtends/after/test.java new file mode 100644 index 000000000000..b403162051ad --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/consumerExtends/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? extends Number> p, Number p2) { + p2 = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/consumerExtends/before/test.java b/java/typeMigration/testData/refactoring/wildcard/consumerExtends/before/test.java new file mode 100644 index 000000000000..649da301cc82 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/consumerExtends/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<Number> p, Number p2) { + p2 = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/consumerSuper/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/consumerSuper/after/Test.items new file mode 100644 index 000000000000..e4f5c3fc2088 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/consumerSuper/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiMethodCallExpression:p.get(0) : java.lang.Object +PsiParameter:p : java.util.ArrayList<? super java.lang.Number> +PsiParameter:p2 : java.lang.Object +PsiReferenceExpression:p : java.util.ArrayList<? super java.lang.Number> +PsiReferenceExpression:p2 : java.lang.Object + +Conversions: +p.get(0) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/consumerSuper/after/test.java b/java/typeMigration/testData/refactoring/wildcard/consumerSuper/after/test.java new file mode 100644 index 000000000000..2c315ea3a723 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/consumerSuper/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? super Number> p, Object p2) { + p2 = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/consumerSuper/before/test.java b/java/typeMigration/testData/refactoring/wildcard/consumerSuper/before/test.java new file mode 100644 index 000000000000..649da301cc82 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/consumerSuper/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<Number> p, Number p2) { + p2 = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/consumerUnbounded/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/consumerUnbounded/after/Test.items new file mode 100644 index 000000000000..a0b14b30985e --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/consumerUnbounded/after/Test.items @@ -0,0 +1,12 @@ +Types: +PsiMethodCallExpression:p.get(0) : java.lang.Object +PsiParameter:p : java.util.ArrayList<?> +PsiParameter:p2 : java.lang.Object +PsiReferenceExpression:p : java.util.ArrayList<?> +PsiReferenceExpression:p2 : java.lang.Object + +Conversions: +p.get(0) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/consumerUnbounded/after/test.java b/java/typeMigration/testData/refactoring/wildcard/consumerUnbounded/after/test.java new file mode 100644 index 000000000000..f10b5e2ae860 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/consumerUnbounded/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<?> p, Object p2) { + p2 = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/consumerUnbounded/before/test.java b/java/typeMigration/testData/refactoring/wildcard/consumerUnbounded/before/test.java new file mode 100644 index 000000000000..649da301cc82 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/consumerUnbounded/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<Number> p, Number p2) { + p2 = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToChildType/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToChildType/after/Test.items new file mode 100644 index 000000000000..1ac8dc86d9ca --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToChildType/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:p.get(0) : java.lang.Number +PsiParameter:p : java.lang.Integer[] +PsiReferenceExpression:p : java.lang.Integer[] + +Conversions: +p.get(0) -> $qualifier$[$i$] $qualifier$.get($i$) p.get(0) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToChildType/after/test.java b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToChildType/after/test.java new file mode 100644 index 000000000000..bfe5eb68baba --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToChildType/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Integer[] p) { + Number n = p[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToChildType/before/test.java b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToChildType/before/test.java new file mode 100644 index 000000000000..bbddcc1a4d79 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToChildType/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? extends Number> p) { + Number n = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToSuperType/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToSuperType/after/Test.items new file mode 100644 index 000000000000..a4ea13d41b29 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToSuperType/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.lang.Object[] +PsiReferenceExpression:p : java.lang.Object[] + +Conversions: + +New expression type changes: +Fails: +p->java.lang.Object[] diff --git a/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToSuperType/after/test.java b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToSuperType/after/test.java new file mode 100644 index 000000000000..96208756fe87 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToSuperType/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Object[] p) { + Number n = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToSuperType/before/test.java b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToSuperType/before/test.java new file mode 100644 index 000000000000..bbddcc1a4d79 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToSuperType/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? extends Number> p) { + Number n = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToType/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToType/after/Test.items new file mode 100644 index 000000000000..a0fd8df506c4 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToType/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:p.get(0) : java.lang.Number +PsiParameter:p : java.lang.Number[] +PsiReferenceExpression:p : java.lang.Number[] + +Conversions: +p.get(0) -> $qualifier$[$i$] $qualifier$.get($i$) p.get(0) + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToType/after/test.java b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToType/after/test.java new file mode 100644 index 000000000000..33a962b96171 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToType/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Number[] p) { + Number n = p[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToType/before/test.java b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToType/before/test.java new file mode 100644 index 000000000000..bbddcc1a4d79 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getAssignmentExtendsToType/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? extends Number> p) { + Number n = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getExtends/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/getExtends/after/Test.items new file mode 100644 index 000000000000..d68b720f5d5b --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getExtends/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiArrayAccessExpression:p[0] : java.lang.Integer +PsiParameter:p : java.util.ArrayList<? extends java.lang.Integer> +PsiReferenceExpression:p : java.util.ArrayList<? extends java.lang.Integer> + +Conversions: +p[0] -> $qualifier$.get($idx$) $qualifier$[$idx$] + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/getExtends/after/test.java b/java/typeMigration/testData/refactoring/wildcard/getExtends/after/test.java new file mode 100644 index 000000000000..529d4942a2ce --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getExtends/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? extends Integer> p) { + Integer p1 = p.get(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getExtends/before/test.java b/java/typeMigration/testData/refactoring/wildcard/getExtends/before/test.java new file mode 100644 index 000000000000..685d78f23f3d --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getExtends/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Integer[] p) { + Integer p1 = p[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getSuper/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/getSuper/after/Test.items new file mode 100644 index 000000000000..5300a386dc23 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getSuper/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.util.ArrayList<? super java.lang.Integer> +PsiReferenceExpression:p : java.util.ArrayList<? super java.lang.Integer> + +Conversions: + +New expression type changes: +Fails: +p[0]->java.util.ArrayList<? super java.lang.Integer> diff --git a/java/typeMigration/testData/refactoring/wildcard/getSuper/after/test.java b/java/typeMigration/testData/refactoring/wildcard/getSuper/after/test.java new file mode 100644 index 000000000000..eebb4c1f2dbb --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getSuper/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? super Integer> p) { + Integer p1 = p[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getSuper/before/test.java b/java/typeMigration/testData/refactoring/wildcard/getSuper/before/test.java new file mode 100644 index 000000000000..685d78f23f3d --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getSuper/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Integer[] p) { + Integer p1 = p[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getUnbounded/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/getUnbounded/after/Test.items new file mode 100644 index 000000000000..e2bbfc48b834 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getUnbounded/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:p : java.util.ArrayList<?> +PsiReferenceExpression:p : java.util.ArrayList<?> + +Conversions: + +New expression type changes: +Fails: +p[0]->java.util.ArrayList<?> diff --git a/java/typeMigration/testData/refactoring/wildcard/getUnbounded/after/test.java b/java/typeMigration/testData/refactoring/wildcard/getUnbounded/after/test.java new file mode 100644 index 000000000000..9ab43aa01dbe --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getUnbounded/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<?> p) { + Integer p1 = p[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/getUnbounded/before/test.java b/java/typeMigration/testData/refactoring/wildcard/getUnbounded/before/test.java new file mode 100644 index 000000000000..685d78f23f3d --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/getUnbounded/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Integer[] p) { + Integer p1 = p[0]; + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/lengthSize/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/lengthSize/after/Test.items new file mode 100644 index 000000000000..bf63b11ab5b2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/lengthSize/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiParameter:p : java.util.ArrayList<?> +PsiReferenceExpression:p : java.util.ArrayList<?> +PsiReferenceExpression:p.length : int + +Conversions: +p.length -> $qualifier$.size() $qualifier$.length + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/lengthSize/after/test.java b/java/typeMigration/testData/refactoring/wildcard/lengthSize/after/test.java new file mode 100644 index 000000000000..4f0770adbfb5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/lengthSize/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<?> p) { + System.out.println(p.size()); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/lengthSize/before/test.java b/java/typeMigration/testData/refactoring/wildcard/lengthSize/before/test.java new file mode 100644 index 000000000000..e8758383dd0a --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/lengthSize/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Integer[] p) { + System.out.println(p.length); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerCollectionChanged/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/producerCollectionChanged/after/Test.items new file mode 100644 index 000000000000..fe9d55b37cda --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerCollectionChanged/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:p.add(new Integer(8)) : boolean +PsiParameter:p : java.util.Set<? super java.lang.Integer> +PsiReferenceExpression:p : java.util.Set<? super java.lang.Integer> + +Conversions: +p.add(new Integer(8)) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/producerCollectionChanged/after/test.java b/java/typeMigration/testData/refactoring/wildcard/producerCollectionChanged/after/test.java new file mode 100644 index 000000000000..25825f1f78c0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerCollectionChanged/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Set<? super Integer> p) { + p.add(new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerCollectionChanged/before/test.java b/java/typeMigration/testData/refactoring/wildcard/producerCollectionChanged/before/test.java new file mode 100644 index 000000000000..d8cf544f6fde --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerCollectionChanged/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? super Number> p) { + p.add(new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerExtends/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/producerExtends/after/Test.items new file mode 100644 index 000000000000..8b996f4d00e1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerExtends/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiMethodCallExpression:p.set(0, new Integer(8)) : java.lang.Number +PsiParameter:p : java.util.ArrayList<? extends java.lang.Number> +PsiReferenceExpression:p : java.util.ArrayList<? extends java.lang.Number> + +Conversions: +p.set(0, new Integer(8)) -> $ + +New expression type changes: +Fails: +new Integer(8)->? extends java.lang.Number diff --git a/java/typeMigration/testData/refactoring/wildcard/producerExtends/after/test.java b/java/typeMigration/testData/refactoring/wildcard/producerExtends/after/test.java new file mode 100644 index 000000000000..f8f4f761d73a --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerExtends/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? extends Number> p) { + p.set(0, new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerExtends/before/test.java b/java/typeMigration/testData/refactoring/wildcard/producerExtends/before/test.java new file mode 100644 index 000000000000..b5e9a24ad373 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerExtends/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? super Number> p) { + p.set(0, new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerExtendsCollectionChanged/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/producerExtendsCollectionChanged/after/Test.items new file mode 100644 index 000000000000..88976428ea99 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerExtendsCollectionChanged/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiMethodCallExpression:p.add(new Integer(8)) : boolean +PsiParameter:p : java.util.Set<? extends java.lang.Object> +PsiReferenceExpression:p : java.util.Set<? extends java.lang.Object> + +Conversions: +p.add(new Integer(8)) -> $ + +New expression type changes: +Fails: +new Integer(8)->? extends java.lang.Object diff --git a/java/typeMigration/testData/refactoring/wildcard/producerExtendsCollectionChanged/after/test.java b/java/typeMigration/testData/refactoring/wildcard/producerExtendsCollectionChanged/after/test.java new file mode 100644 index 000000000000..0c24d5791d14 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerExtendsCollectionChanged/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(Set<? extends Object> p) { + p.add(new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerExtendsCollectionChanged/before/test.java b/java/typeMigration/testData/refactoring/wildcard/producerExtendsCollectionChanged/before/test.java new file mode 100644 index 000000000000..d8cf544f6fde --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerExtendsCollectionChanged/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? super Number> p) { + p.add(new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerExtendsFailToStopAtWildcard/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/producerExtendsFailToStopAtWildcard/after/Test.items new file mode 100644 index 000000000000..f2f5bb75a60f --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerExtendsFailToStopAtWildcard/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiMethodCallExpression:p1.add(p2) : boolean +PsiParameter:p1 : java.util.List<? extends java.lang.Number> +PsiReferenceExpression:p1 : java.util.List<? extends java.lang.Number> + +Conversions: +p1.add(p2) -> $ + +New expression type changes: +Fails: +p2->? extends java.lang.Number diff --git a/java/typeMigration/testData/refactoring/wildcard/producerExtendsFailToStopAtWildcard/after/test.java b/java/typeMigration/testData/refactoring/wildcard/producerExtendsFailToStopAtWildcard/after/test.java new file mode 100644 index 000000000000..5d4d6fda25a2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerExtendsFailToStopAtWildcard/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(List<? extends Number> p1, Number p2){ + p1.add(p2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerExtendsFailToStopAtWildcard/before/test.java b/java/typeMigration/testData/refactoring/wildcard/producerExtendsFailToStopAtWildcard/before/test.java new file mode 100644 index 000000000000..a2e2cb2ae329 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerExtendsFailToStopAtWildcard/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(List<Number> p1, Number p2){ + p1.add(p2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerFailToStopAtWildcard/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/producerFailToStopAtWildcard/after/Test.items new file mode 100644 index 000000000000..9d9b2e2a447f --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerFailToStopAtWildcard/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiMethodCallExpression:p1.add(p2) : boolean +PsiParameter:p1 : java.util.List<? super java.lang.Integer> +PsiReferenceExpression:p1 : java.util.List<? super java.lang.Integer> + +Conversions: +p1.add(p2) -> $ + +New expression type changes: +Fails: +p2->? super java.lang.Integer diff --git a/java/typeMigration/testData/refactoring/wildcard/producerFailToStopAtWildcard/after/test.java b/java/typeMigration/testData/refactoring/wildcard/producerFailToStopAtWildcard/after/test.java new file mode 100644 index 000000000000..bbc30114137e --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerFailToStopAtWildcard/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(List<? super Integer> p1, Number p2){ + p1.add(p2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerFailToStopAtWildcard/before/test.java b/java/typeMigration/testData/refactoring/wildcard/producerFailToStopAtWildcard/before/test.java new file mode 100644 index 000000000000..a2e2cb2ae329 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerFailToStopAtWildcard/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(List<Number> p1, Number p2){ + p1.add(p2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerStopAtWildcard/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/producerStopAtWildcard/after/Test.items new file mode 100644 index 000000000000..2f3689b42ba5 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerStopAtWildcard/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:p1.add(p2) : boolean +PsiParameter:p1 : java.util.List<? super java.lang.Number> +PsiReferenceExpression:p1 : java.util.List<? super java.lang.Number> + +Conversions: +p1.add(p2) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/producerStopAtWildcard/after/test.java b/java/typeMigration/testData/refactoring/wildcard/producerStopAtWildcard/after/test.java new file mode 100644 index 000000000000..353f0432f59d --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerStopAtWildcard/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(List<? super Number> p1, Number p2){ + p1.add(p2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerStopAtWildcard/before/test.java b/java/typeMigration/testData/refactoring/wildcard/producerStopAtWildcard/before/test.java new file mode 100644 index 000000000000..a2e2cb2ae329 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerStopAtWildcard/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(List<Number> p1, Number p2){ + p1.add(p2); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerSuper/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/producerSuper/after/Test.items new file mode 100644 index 000000000000..b0c91006b9d1 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerSuper/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:p.set(0, new Integer(8)) : java.lang.Object +PsiParameter:p : java.util.ArrayList<? super java.lang.Integer> +PsiReferenceExpression:p : java.util.ArrayList<? super java.lang.Integer> + +Conversions: +p.set(0, new Integer(8)) -> $ + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/producerSuper/after/test.java b/java/typeMigration/testData/refactoring/wildcard/producerSuper/after/test.java new file mode 100644 index 000000000000..0769f09a7b7a --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerSuper/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? super Integer> p) { + p.set(0, new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerSuper/before/test.java b/java/typeMigration/testData/refactoring/wildcard/producerSuper/before/test.java new file mode 100644 index 000000000000..b5e9a24ad373 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerSuper/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? super Number> p) { + p.set(0, new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerUnbounded/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/producerUnbounded/after/Test.items new file mode 100644 index 000000000000..e2b8ee35fcd2 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerUnbounded/after/Test.items @@ -0,0 +1,11 @@ +Types: +PsiMethodCallExpression:p.set(0, new Integer(8)) : java.lang.Object +PsiParameter:p : java.util.ArrayList<?> +PsiReferenceExpression:p : java.util.ArrayList<?> + +Conversions: +p.set(0, new Integer(8)) -> $ + +New expression type changes: +Fails: +new Integer(8)->? diff --git a/java/typeMigration/testData/refactoring/wildcard/producerUnbounded/after/test.java b/java/typeMigration/testData/refactoring/wildcard/producerUnbounded/after/test.java new file mode 100644 index 000000000000..37a2f8fcac83 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerUnbounded/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<?> p) { + p.set(0, new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/producerUnbounded/before/test.java b/java/typeMigration/testData/refactoring/wildcard/producerUnbounded/before/test.java new file mode 100644 index 000000000000..b5e9a24ad373 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/producerUnbounded/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ArrayList<? super Number> p) { + p.set(0, new Integer(8)); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerExtends/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerExtends/after/Test.items new file mode 100644 index 000000000000..7ae170499472 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerExtends/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:l.substring(0) : java.lang.String +PsiParameter:l : java.lang.ThreadLocal<? extends java.lang.String> +PsiReferenceExpression:l : java.lang.ThreadLocal<? extends java.lang.String> + +Conversions: +l.substring(0) -> $qualifier$.get() $qualifier$ l + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerExtends/after/test.java b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerExtends/after/test.java new file mode 100644 index 000000000000..5275db851a70 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerExtends/after/test.java @@ -0,0 +1,5 @@ +class Test { + void method(ThreadLocal<? extends String> l) { + l.get().substring(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerExtends/before/test.java b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerExtends/before/test.java new file mode 100644 index 000000000000..8805129f7191 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerExtends/before/test.java @@ -0,0 +1,5 @@ +class Test { + void method(String l) { + l.substring(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerSuper/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerSuper/after/Test.items new file mode 100644 index 000000000000..d05d101463c7 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerSuper/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:l : java.lang.ThreadLocal<? super java.lang.String> +PsiReferenceExpression:l : java.lang.ThreadLocal<? super java.lang.String> + +Conversions: + +New expression type changes: +Fails: +l->java.lang.ThreadLocal<? super java.lang.String> diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerSuper/after/test.java b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerSuper/after/test.java new file mode 100644 index 000000000000..beb0d0ebef46 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerSuper/after/test.java @@ -0,0 +1,5 @@ +class Test { + void method(ThreadLocal<? super String> l) { + l.substring(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerSuper/before/test.java b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerSuper/before/test.java new file mode 100644 index 000000000000..8805129f7191 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalConsumerSuper/before/test.java @@ -0,0 +1,5 @@ +class Test { + void method(String l) { + l.substring(0); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerExtends/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerExtends/after/Test.items new file mode 100644 index 000000000000..47a89e441962 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerExtends/after/Test.items @@ -0,0 +1,9 @@ +Types: +PsiParameter:l : java.lang.ThreadLocal<java.util.List<? extends java.lang.String>> +PsiReferenceExpression:l : java.lang.ThreadLocal<java.util.List<? extends java.lang.String>> + +Conversions: + +New expression type changes: +Fails: +l->java.lang.ThreadLocal<java.util.List<? extends java.lang.String>> diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerExtends/after/test.java b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerExtends/after/test.java new file mode 100644 index 000000000000..93724be5c0dd --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerExtends/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ThreadLocal<List<? extends String>> l) { + l.add(""); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerExtends/before/test.java b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerExtends/before/test.java new file mode 100644 index 000000000000..8df669c77899 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerExtends/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(List<String> l) { + l.add(""); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerSuper/after/Test.items b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerSuper/after/Test.items new file mode 100644 index 000000000000..736189db2585 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerSuper/after/Test.items @@ -0,0 +1,10 @@ +Types: +PsiMethodCallExpression:l.add("") : boolean +PsiParameter:l : java.lang.ThreadLocal<java.util.List<? super java.lang.String>> +PsiReferenceExpression:l : java.lang.ThreadLocal<java.util.List<? super java.lang.String>> + +Conversions: +l.add("") -> $qualifier$.get() $qualifier$ l + +New expression type changes: +Fails: diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerSuper/after/test.java b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerSuper/after/test.java new file mode 100644 index 000000000000..fb3b568ca1b0 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerSuper/after/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(ThreadLocal<List<? super String>> l) { + l.get().add(""); + } +}
\ No newline at end of file diff --git a/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerSuper/before/test.java b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerSuper/before/test.java new file mode 100644 index 000000000000..8df669c77899 --- /dev/null +++ b/java/typeMigration/testData/refactoring/wildcard/threadLocalProducerSuper/before/test.java @@ -0,0 +1,7 @@ +import java.util.*; + +class Test { + void method(List<String> l) { + l.add(""); + } +}
\ No newline at end of file |