diff options
Diffstat (limited to 'testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments')
123 files changed, 2137 insertions, 0 deletions
diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCUInferFromCast/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCUInferFromCast/in/A.java new file mode 100644 index 000000000..aa4878a4c --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCUInferFromCast/in/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.Enumeration; + +public class A { + private void createTestList(TestCollector collector) { + Enumeration each= collector.collectTests(); + while (each.hasMoreElements()) { + String s= (String) each.nextElement(); + } + } +} + +interface TestCollector { + public Enumeration collectTests(); +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCUInferFromCast/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCUInferFromCast/out/A.java new file mode 100644 index 000000000..0bb18646a --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCUInferFromCast/out/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.Enumeration; + +public class A { + private void createTestList(TestCollector collector) { + Enumeration<String> each= collector.collectTests(); + while (each.hasMoreElements()) { + String s= each.nextElement(); + } + } +} + +interface TestCollector { + public Enumeration<String> collectTests(); +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddAll/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddAll/in/A.java new file mode 100644 index 000000000..5523fb36a --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddAll/in/A.java @@ -0,0 +1,13 @@ +package p; + +import java.util.Vector; + +class A { + void m() { + Vector vector = new Vector(); + vector.add("Hello"); + Vector v2= new Vector(); + v2.add((CharSequence) null); + v2.addAll(vector); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddAll/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddAll/out/A.java new file mode 100644 index 000000000..8928d8e02 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddAll/out/A.java @@ -0,0 +1,13 @@ +package p; + +import java.util.Vector; + +class A { + void m() { + Vector<String> vector = new Vector<String>(); + vector.add("Hello"); + Vector<CharSequence> v2= new Vector<CharSequence>(); + v2.add((CharSequence) null); + v2.addAll(vector); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetIterator/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetIterator/in/A.java new file mode 100644 index 000000000..6e9524a0d --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetIterator/in/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +class A { + void foo() { + List l= new ArrayList(); + l.add("Eclipse"); l.add("is"); l.add(new String("cool")); + for (Iterator iter= l.iterator(); iter.hasNext();) { + String word= (String) iter.next(); + System.out.print(word); + System.out.print(" "); + } + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetIterator/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetIterator/out/A.java new file mode 100644 index 000000000..af1f2ceac --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetIterator/out/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +class A { + void foo() { + List<String> l= new ArrayList<String>(); + l.add("Eclipse"); l.add("is"); l.add(new String("cool")); + for (Iterator<String> iter= l.iterator(); iter.hasNext();) { + String word= iter.next(); + System.out.print(word); + System.out.print(" "); + } + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetString/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetString/in/A.java new file mode 100644 index 000000000..397cf4922 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetString/in/A.java @@ -0,0 +1,12 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List l= new ArrayList(); + l.add("Eclipse"); + String eclipse= (String) l.get(0); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetString/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetString/out/A.java new file mode 100644 index 000000000..fb52de4b8 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddGetString/out/A.java @@ -0,0 +1,12 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List<String> l= new ArrayList<String>(); + l.add("Eclipse"); + String eclipse= l.get(0); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddIntegerGetNumber/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddIntegerGetNumber/in/A.java new file mode 100644 index 000000000..6d6127ccb --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddIntegerGetNumber/in/A.java @@ -0,0 +1,18 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List l= new ArrayList(); + l.add(new Integer(1)); + Number n= (Number) l.get(0); + Object o1= (Number) l.get(0); + Object o2= l.get(0); + + List l2= new ArrayList(); + l2.add(n); + Integer i= (Integer) l2.get(0); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddIntegerGetNumber/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddIntegerGetNumber/out/A.java new file mode 100644 index 000000000..3bea6226c --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddIntegerGetNumber/out/A.java @@ -0,0 +1,18 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List<Integer> l= new ArrayList<Integer>(); + l.add(new Integer(1)); + Number n= l.get(0); + Object o1= l.get(0); + Object o2= l.get(0); + + List<Number> l2= new ArrayList<Number>(); + l2.add(n); + Integer i= (Integer) l2.get(0); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString/in/A.java new file mode 100644 index 000000000..cf08e44a8 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString/in/A.java @@ -0,0 +1,11 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List l= new ArrayList(); + l.add(new String()); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString/out/A.java new file mode 100644 index 000000000..909aff469 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString/out/A.java @@ -0,0 +1,11 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List<String> l= new ArrayList<String>(); + l.add(new String()); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString2/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString2/in/A.java new file mode 100644 index 000000000..7f0337f6e --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString2/in/A.java @@ -0,0 +1,12 @@ +package p; + +import java.util.ArrayList; +import java.util.AbstractList; + +class A { + void foo() { + AbstractList l= new ArrayList(); + l.add(new String()); + l.add(""); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString2/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString2/out/A.java new file mode 100644 index 000000000..d6d3f2fb3 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddString2/out/A.java @@ -0,0 +1,12 @@ +package p; + +import java.util.ArrayList; +import java.util.AbstractList; + +class A { + void foo() { + AbstractList<String> l= new ArrayList<String>(); + l.add(new String()); + l.add(""); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringInteger/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringInteger/in/A.java new file mode 100644 index 000000000..adc96646e --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringInteger/in/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +public class A { + void foo() { + List l= new ArrayList(); + l.add("Eclipse"); + l.add(new Integer(10)); + bar(l); + } + void bar(Object o) { + ((List)o).add(new A()); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringInteger/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringInteger/out/A.java new file mode 100644 index 000000000..e4e64fb25 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringInteger/out/A.java @@ -0,0 +1,17 @@ +package p; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +public class A { + void foo() { + List<Serializable> l= new ArrayList<Serializable>(); + l.add("Eclipse"); + l.add(new Integer(10)); + bar(l); + } + void bar(Object o) { + ((List)o).add(new A()); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringIntegerA/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringIntegerA/in/A.java new file mode 100644 index 000000000..563cd6dd7 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringIntegerA/in/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +public class A { + void foo() { + List l= new ArrayList(); + l.add("Eclipse"); + l.add(new Integer(10)); + bar(l); + } + void bar(List l) { + l.add(new A()); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringIntegerA/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringIntegerA/out/A.java new file mode 100644 index 000000000..1ba5e99b4 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAddStringIntegerA/out/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +public class A { + void foo() { + List<Object> l= new ArrayList<Object>(); + l.add("Eclipse"); + l.add(new Integer(10)); + bar(l); + } + void bar(List<Object> l) { + l.add(new A()); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAnonymous01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAnonymous01/in/A.java new file mode 100644 index 000000000..a0c2bfbc3 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAnonymous01/in/A.java @@ -0,0 +1,54 @@ +package p; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; + +class Qualified { + String qualifier; + String name; +} + +class Comparisons { + ArrayList fList= new ArrayList(); + + void add(Qualified q) { + fList.add(q); + } + + void sort() { + Collections.sort(fList, new Comparator() { + public int compare(Object o1, Object o2) { + Qualified q1= (Qualified) o1; + Qualified q2= (Qualified) o2; + int qualifierComp = q1.qualifier.compareTo(q2.qualifier); + if (qualifierComp != 0) + return qualifierComp; + else + return q1.name.compareTo(q2.name); + } + }); + } +} + +class Comparisons2 { + ArrayList fList= new ArrayList(); + + void add(Qualified q) { + fList.add(q); + } + + void sort() { + Collections.sort(fList, new Comparator() { + public int compare(Object o1, Object o2) { + Qualified q1= (Qualified) o1; + Qualified q2= (Qualified) o2; + int qualifierComp = q1.qualifier.compareTo(q2.qualifier); + if (qualifierComp != 0) + return qualifierComp; + else + return q1.name.compareTo(q2.name); + } + }); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAnonymous01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAnonymous01/out/A.java new file mode 100644 index 000000000..17b237a86 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuAnonymous01/out/A.java @@ -0,0 +1,54 @@ +package p; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; + +class Qualified { + String qualifier; + String name; +} + +class Comparisons { + ArrayList<Qualified> fList= new ArrayList<Qualified>(); + + void add(Qualified q) { + fList.add(q); + } + + void sort() { + Collections.sort(fList, new Comparator() { + public int compare(Object o1, Object o2) { + Qualified q1= (Qualified) o1; + Qualified q2= (Qualified) o2; + int qualifierComp = q1.qualifier.compareTo(q2.qualifier); + if (qualifierComp != 0) + return qualifierComp; + else + return q1.name.compareTo(q2.name); + } + }); + } +} + +class Comparisons2 { + ArrayList<Qualified> fList= new ArrayList<Qualified>(); + + void add(Qualified q) { + fList.add(q); + } + + void sort() { + Collections.sort(fList, new Comparator() { + public int compare(Object o1, Object o2) { + Qualified q1= (Qualified) o1; + Qualified q2= (Qualified) o2; + int qualifierComp = q1.qualifier.compareTo(q2.qualifier); + if (qualifierComp != 0) + return qualifierComp; + else + return q1.name.compareTo(q2.name); + } + }); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays01/in/A.java new file mode 100644 index 000000000..f71a39763 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays01/in/A.java @@ -0,0 +1,20 @@ +package p; + +import java.util.Arrays; +import java.util.List; + +class A { + List l= null; + + void add(String s) { + l.add(s); + } + + void addAll(String[] ss) { + l.addAll(Arrays.asList(ss)); + } + + String[] get() { + return (String[])l.toArray(new String[l.size()]); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays01/out/A.java new file mode 100644 index 000000000..463571df7 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays01/out/A.java @@ -0,0 +1,20 @@ +package p; + +import java.util.Arrays; +import java.util.List; + +class A { + List<String> l= null; + + void add(String s) { + l.add(s); + } + + void addAll(String[] ss) { + l.addAll(Arrays.asList(ss)); + } + + String[] get() { + return l.toArray(new String[l.size()]); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays02/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays02/in/A.java new file mode 100644 index 000000000..7360c6d05 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays02/in/A.java @@ -0,0 +1,10 @@ +package p; + +import java.util.Arrays; +import java.util.List; + +class A { + void addAll(String[] ss) { + List l= Arrays.asList(ss); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays02/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays02/out/A.java new file mode 100644 index 000000000..5ac53d490 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays02/out/A.java @@ -0,0 +1,10 @@ +package p; + +import java.util.Arrays; +import java.util.List; + +class A { + void addAll(String[] ss) { + List<String> l= Arrays.asList(ss); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays03/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays03/in/A.java new file mode 100644 index 000000000..83caed800 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays03/in/A.java @@ -0,0 +1,18 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void addAll(String[] ss) { + List l= A.asList(ss); + } + + public static <T> List<T> asList(T[] a) { + ArrayList<T> res= new ArrayList<T>(); + for (int i= 0; i < a.length; i++) { + res.add(a[i]); + } + return res; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays03/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays03/out/A.java new file mode 100644 index 000000000..00cf50d83 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays03/out/A.java @@ -0,0 +1,18 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void addAll(String[] ss) { + List<String> l= A.asList(ss); + } + + public static <T> List<T> asList(T[] a) { + ArrayList<T> res= new ArrayList<T>(); + for (int i= 0; i < a.length; i++) { + res.add(a[i]); + } + return res; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays04/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays04/in/A.java new file mode 100644 index 000000000..6f68dedef --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays04/in/A.java @@ -0,0 +1,18 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void addAll(String[] ss) { + List l= A.asList(ss); + } + + public static <T> List<T> asList(T... a) { + ArrayList<T> res= new ArrayList<T>(); + for (int i= 0; i < a.length; i++) { + res.add(a[i]); + } + return res; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays04/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays04/out/A.java new file mode 100644 index 000000000..5391e0b16 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays04/out/A.java @@ -0,0 +1,18 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void addAll(String[] ss) { + List<String> l= A.asList(ss); + } + + public static <T> List<T> asList(T... a) { + ArrayList<T> res= new ArrayList<T>(); + for (int i= 0; i < a.length; i++) { + res.add(a[i]); + } + return res; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays05/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays05/in/A.java new file mode 100644 index 000000000..b8272aebc --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays05/in/A.java @@ -0,0 +1,10 @@ +package p; + +import java.util.List; + +class A { + List l= null; + String[] get() { + return (String[]) l.toArray(new String[l.size()]); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays05/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays05/out/A.java new file mode 100644 index 000000000..21b59bbd4 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays05/out/A.java @@ -0,0 +1,10 @@ +package p; + +import java.util.List; + +class A { + List<String> l= null; + String[] get() { + return l.toArray(new String[l.size()]); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays06/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays06/in/A.java new file mode 100644 index 000000000..c08f7e771 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays06/in/A.java @@ -0,0 +1,15 @@ +package p; + +import java.util.List; + +class A { + List l= null; + + void add(String s) { + l.add(s); + } + + String[] get() { + return (String[]) l.toArray(new String[l.size()]); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays06/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays06/out/A.java new file mode 100644 index 000000000..151385827 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays06/out/A.java @@ -0,0 +1,15 @@ +package p; + +import java.util.List; + +class A { + List<String> l= null; + + void add(String s) { + l.add(s); + } + + String[] get() { + return l.toArray(new String[l.size()]); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays07/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays07/in/A.java new file mode 100644 index 000000000..9ccce45a2 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays07/in/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.ArrayList; + +@SuppressWarnings("unused") +class A { + + private Number[] fNumbers; + private Integer[] ints; + + public void process() { + ArrayList list= new ArrayList(); + list.add(17); + fNumbers= (Number[]) list.toArray(new Integer[list.size()]); + ints= (Integer[]) list.toArray(new Integer[list.size()]); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays07/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays07/out/A.java new file mode 100644 index 000000000..f813e5b97 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuArrays07/out/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.ArrayList; + +@SuppressWarnings("unused") +class A { + + private Number[] fNumbers; + private Integer[] ints; + + public void process() { + ArrayList<Integer> list= new ArrayList<Integer>(); + list.add(17); + fNumbers= list.toArray(new Integer[list.size()]); + ints= list.toArray(new Integer[list.size()]); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing01/in/A.java new file mode 100644 index 000000000..55e90e670 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing01/in/A.java @@ -0,0 +1,27 @@ +package p; + +class Cell<T> { + T t; + public void setT(T t) { + this.t= t; + } + public T getT() { + return t; + } +} + +class CellTest { + public static void main(String[] args) { + Cell c1= new Cell(); + c1.setT(17); + + Cell c2= new Cell(); + c2.setT(new Short((short) 8)); + short s= (Short) c2.getT(); + + Cell c3= new Cell(); + byte bite= 1; + c3.setT(bite); + bite= (Byte) c3.getT(); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing01/out/A.java new file mode 100644 index 000000000..96c48e5d3 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing01/out/A.java @@ -0,0 +1,27 @@ +package p; + +class Cell<T> { + T t; + public void setT(T t) { + this.t= t; + } + public T getT() { + return t; + } +} + +class CellTest { + public static void main(String[] args) { + Cell<Integer> c1= new Cell<Integer>(); + c1.setT(17); + + Cell<Short> c2= new Cell<Short>(); + c2.setT(new Short((short) 8)); + short s= c2.getT(); + + Cell<Byte> c3= new Cell<Byte>(); + byte bite= 1; + c3.setT(bite); + bite= c3.getT(); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing02/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing02/in/A.java new file mode 100644 index 000000000..db07ddac8 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing02/in/A.java @@ -0,0 +1,26 @@ +package p; + +class Cell<T> { + T t; + public void setT(T t) { + this.t= t; + } + public T getT() { + return t; + } +} + +class CellTest { + public static void main(String[] args) { + Cell c1= new Cell(); + c1.setT(17); + c1.setT(17.3f); + Number n= (Number) c1.getT(); + + Cell c2= null; + c2.setT(18); + Cell c3= new Cell(); + c3.setT(new Long(23)); + c2= c3; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing02/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing02/out/A.java new file mode 100644 index 000000000..d2f8f31cf --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuBoxing02/out/A.java @@ -0,0 +1,26 @@ +package p; + +class Cell<T> { + T t; + public void setT(T t) { + this.t= t; + } + public T getT() { + return t; + } +} + +class CellTest { + public static void main(String[] args) { + Cell<Number> c1= new Cell<Number>(); + c1.setT(17); + c1.setT(17.3f); + Number n= c1.getT(); + + Cell<Number> c2= null; + c2.setT(18); + Cell<Number> c3= new Cell<Number>(); + c3.setT(new Long(23)); + c2= c3; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCannotStringDouble/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCannotStringDouble/in/A.java new file mode 100644 index 000000000..72514191e --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCannotStringDouble/in/A.java @@ -0,0 +1,26 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +interface J { + public List getList(); // cannot infer a return type (except List<?>) +} + +class D implements J { + public List getList() { + List dList= new ArrayList(); + dList.add(new Double(1.2d)); + Double d= (Double) dList.get(0); + return dList; + } +} + +class S implements J { + public List getList() { + List sList= new ArrayList(); + sList.add("String"); + String s= (String) sList.get(0); + return sList; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCannotStringDouble/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCannotStringDouble/out/A.java new file mode 100644 index 000000000..00d525c5b --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCannotStringDouble/out/A.java @@ -0,0 +1,26 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +interface J { + public List getList(); // cannot infer a return type (except List<?>) +} + +class D implements J { + public List getList() { + List<Double> dList= new ArrayList<Double>(); + dList.add(new Double(1.2d)); + Double d= dList.get(0); + return dList; + } +} + +class S implements J { + public List getList() { + List<String> sList= new ArrayList<String>(); + sList.add("String"); + String s= sList.get(0); + return sList; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCollectionsMin/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCollectionsMin/in/A.java new file mode 100644 index 000000000..a9dc42ffa --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCollectionsMin/in/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +class A { + public void foo() { + String min= (String) Collections.min(getNames()); + } + public List getNames() { + ArrayList result= new ArrayList(); + result.add("Zwyssig"); + result.add("Abaecherli"); + return result; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCollectionsMin/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCollectionsMin/out/A.java new file mode 100644 index 000000000..2279e48f0 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCollectionsMin/out/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +class A { + public void foo() { + String min= Collections.min(getNames()); + } + public List<String> getNames() { + ArrayList<String> result= new ArrayList<String>(); + result.add("Zwyssig"); + result.add("Abaecherli"); + return result; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCommonSuper/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCommonSuper/in/A.java new file mode 100644 index 000000000..2c105a9c2 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCommonSuper/in/A.java @@ -0,0 +1,12 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List list= new ArrayList(); + list.add(new Double(1.7)); + list.add(new Integer(1)); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCommonSuper/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCommonSuper/out/A.java new file mode 100644 index 000000000..6d41b825d --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuCommonSuper/out/A.java @@ -0,0 +1,12 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List<Number> list= new ArrayList<Number>(); + list.add(new Double(1.7)); + list.add(new Integer(1)); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuConstructor01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuConstructor01/in/A.java new file mode 100644 index 000000000..182ede5dc --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuConstructor01/in/A.java @@ -0,0 +1,17 @@ +package p; + +class Tuple<T1, T2> { + private T1 t1; + private T2 t2; + + public Tuple(T1 o1, T2 o2) { + t1= o1; + t2= o2; + } +} + +class Main { + public static void main(String[] args) { + Tuple t= new Tuple(new String(), new Integer(10)); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuConstructor01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuConstructor01/out/A.java new file mode 100644 index 000000000..6a361d035 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuConstructor01/out/A.java @@ -0,0 +1,17 @@ +package p; + +class Tuple<T1, T2> { + private T1 t1; + private T2 t2; + + public Tuple(T1 o1, T2 o2) { + t1= o1; + t2= o2; + } +} + +class Main { + public static void main(String[] args) { + Tuple<String, Integer> t= new Tuple<String, Integer>(new String(), new Integer(10)); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuContains/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuContains/in/A.java new file mode 100644 index 000000000..ca0300c2c --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuContains/in/A.java @@ -0,0 +1,21 @@ +package p; +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List l= new ArrayList(); + l.add("Eclipse"); + boolean has= l.contains("is"); + } + void fooObj() { + List lObj= new ArrayList(); + lObj.add("Eclipse"); + boolean has= lObj.contains(new Object()); + } + void fooInteger() { + List lInteger= new ArrayList(); + lInteger.add("Eclipse"); + boolean has= lInteger.contains(new Integer(1)); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuContains/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuContains/out/A.java new file mode 100644 index 000000000..0def0f656 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuContains/out/A.java @@ -0,0 +1,21 @@ +package p; +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List<String> l= new ArrayList<String>(); + l.add("Eclipse"); + boolean has= l.contains("is"); + } + void fooObj() { + List<String> lObj= new ArrayList<String>(); + lObj.add("Eclipse"); + boolean has= lObj.contains(new Object()); + } + void fooInteger() { + List<String> lInteger= new ArrayList<String>(); + lInteger.add("Eclipse"); + boolean has= lInteger.contains(new Integer(1)); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuExistingParameterized01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuExistingParameterized01/in/A.java new file mode 100644 index 000000000..6d2e79d9f --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuExistingParameterized01/in/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + + void foo() { + List l= new ArrayList(); + bar(l); + l.add(new Object()); + } + + void bar(List<String> l) { + + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuExistingParameterized01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuExistingParameterized01/out/A.java new file mode 100644 index 000000000..6d2e79d9f --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuExistingParameterized01/out/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + + void foo() { + List l= new ArrayList(); + bar(l); + l.add(new Object()); + } + + void bar(List<String> l) { + + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess01/in/A.java new file mode 100644 index 000000000..255d7b9ee --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess01/in/A.java @@ -0,0 +1,24 @@ +package p; + +class Cell<T> { + T t; + public void setT(T t) { + this.t= t; + } + public T getT() { + return t; + } +} + +class CellTest { + public static void main(String[] args) { + Cell c1= new Cell(); + c1.setT(17); + Number n= (Number) c1.t; + + Cell c2= new Cell(); + c2.t= Boolean.TRUE; + boolean b= (Boolean) c2.t; + boolean b2= (Boolean) c2.getT(); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess01/out/A.java new file mode 100644 index 000000000..27226d016 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess01/out/A.java @@ -0,0 +1,24 @@ +package p; + +class Cell<T> { + T t; + public void setT(T t) { + this.t= t; + } + public T getT() { + return t; + } +} + +class CellTest { + public static void main(String[] args) { + Cell<Integer> c1= new Cell<Integer>(); + c1.setT(17); + Number n= c1.t; + + Cell<Boolean> c2= new Cell<Boolean>(); + c2.t= Boolean.TRUE; + boolean b= c2.t; + boolean b2= c2.getT(); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess02/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess02/in/A.java new file mode 100644 index 000000000..b71f5c119 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess02/in/A.java @@ -0,0 +1,31 @@ +package p; + +import java.util.*; + +class Cell<T> { + List<T> t; + public void setT(AbstractList<T> t) { + this.t= t; + } + public Collection<T> getT() { + return t; + } +} + +class CellTest { + public static void main(String[] args) { + ArrayList booleanList= new ArrayList(); + booleanList.add(Boolean.FALSE); + + Cell c1= new Cell(); + c1.t= booleanList; + c1.setT(booleanList); + Iterable t= c1.t; + Iterator iter= (Iterator) c1.t.iterator(); + Iterator iter2= c1.t.iterator(); + boolean bool= (Boolean) c1.t.iterator().next(); + + Cell c2= new Cell(); + c2.t= booleanList; + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess02/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess02/out/A.java new file mode 100644 index 000000000..596e3ff45 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuFieldAccess02/out/A.java @@ -0,0 +1,31 @@ +package p; + +import java.util.*; + +class Cell<T> { + List<T> t; + public void setT(AbstractList<T> t) { + this.t= t; + } + public Collection<T> getT() { + return t; + } +} + +class CellTest { + public static void main(String[] args) { + ArrayList<Boolean> booleanList= new ArrayList<Boolean>(); + booleanList.add(Boolean.FALSE); + + Cell<Boolean> c1= new Cell<Boolean>(); + c1.t= booleanList; + c1.setT(booleanList); + Iterable<Boolean> t= c1.t; + Iterator<Boolean> iter= (Iterator<Boolean>) c1.t.iterator(); + Iterator<Boolean> iter2= c1.t.iterator(); + boolean bool= c1.t.iterator().next(); + + Cell<Boolean> c2= new Cell<Boolean>(); + c2.t= booleanList; + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass/in/A.java new file mode 100644 index 000000000..b7c967a73 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass/in/A.java @@ -0,0 +1,23 @@ +package p; + +class A { + void calc(Class superClass) { + superClass= superClass.getSuperclass(); + } + void call(Process pro) { + calc(pro.getClass()); + } +} + +class Exposer { + private void foo() { + new Generic(getClass()); + new Generic(Exposer.class); + } +} + +class Generic<T> { + Generic(Class<T> clazz) { + + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass/out/A.java new file mode 100644 index 000000000..1f63adf22 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass/out/A.java @@ -0,0 +1,23 @@ +package p; + +class A { + void calc(Class superClass) { + superClass= superClass.getSuperclass(); + } + void call(Process pro) { + calc(pro.getClass()); + } +} + +class Exposer { + private void foo() { + new Generic(getClass()); + new Generic<Exposer>(Exposer.class); + } +} + +class Generic<T> { + Generic(Class<T> clazz) { + + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass2/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass2/in/A.java new file mode 100644 index 000000000..feb4b2d45 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass2/in/A.java @@ -0,0 +1,16 @@ +package p; + +class A { + void m(Object someObject) { + someObject.getClass(); + } + void m1(Object someObject) { + Class c= someObject.getClass(); + } + void i(Integer someInt) { + someInt.getClass(); + } + void i1(Integer someInt) { + Class c= someInt.getClass(); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass2/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass2/out/A.java new file mode 100644 index 000000000..4c5ecfb08 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClass2/out/A.java @@ -0,0 +1,16 @@ +package p; + +class A { + void m(Object someObject) { + someObject.getClass(); + } + void m1(Object someObject) { + Class<? extends Object> c= someObject.getClass(); + } + void i(Integer someInt) { + someInt.getClass(); + } + void i1(Integer someInt) { + Class<? extends Integer> c= someInt.getClass(); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClassNewInstance/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClassNewInstance/in/A.java new file mode 100644 index 000000000..49f08f4cd --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClassNewInstance/in/A.java @@ -0,0 +1,13 @@ +package p; + +class A { + void doNothing() throws Exception { + getClass().newInstance(); + this.getClass().newInstance(); + A newInstance= (A) getClass().newInstance(); + A test= (A) this.getClass().newInstance(); + + RuntimeException rte= (RuntimeException) new ClassCastException().getClass().newInstance(); + ClassCastException cce= (ClassCastException) rte.getClass().newInstance(); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClassNewInstance/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClassNewInstance/out/A.java new file mode 100644 index 000000000..f5838241d --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetClassNewInstance/out/A.java @@ -0,0 +1,13 @@ +package p; + +class A { + void doNothing() throws Exception { + getClass().newInstance(); + this.getClass().newInstance(); + A newInstance= getClass().newInstance(); + A test= this.getClass().newInstance(); + + RuntimeException rte= new ClassCastException().getClass().newInstance(); + ClassCastException cce= (ClassCastException) rte.getClass().newInstance(); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetSuperclass/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetSuperclass/in/A.java new file mode 100644 index 000000000..6115203c9 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetSuperclass/in/A.java @@ -0,0 +1,7 @@ +package p; + +class TestSuite { + public TestSuite(Class theClass) { + theClass = theClass.getSuperclass(); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetSuperclass/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetSuperclass/out/A.java new file mode 100644 index 000000000..6115203c9 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetSuperclass/out/A.java @@ -0,0 +1,7 @@ +package p; + +class TestSuite { + public TestSuite(Class theClass) { + theClass = theClass.getSuperclass(); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetTakeClassStayRaw/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetTakeClassStayRaw/in/A.java new file mode 100644 index 000000000..8d94872d9 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetTakeClassStayRaw/in/A.java @@ -0,0 +1,27 @@ +package p; + +public class A { + static void takeP(Class c) {} + static void takePQ(Class c) {} + + class P { + { + Class p= getClass(); + takeP(p); + takePQ(p); + } + } + + class Q { + { + Class q= getClass(); + takePQ(q); + } + } + + class Z { + { + Class z= getClass(); + } + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetTakeClassStayRaw/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetTakeClassStayRaw/out/A.java new file mode 100644 index 000000000..4e4a78147 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuGetTakeClassStayRaw/out/A.java @@ -0,0 +1,27 @@ +package p; + +public class A { + static void takeP(Class c) {} + static void takePQ(Class c) {} + + class P { + { + Class p= getClass(); + takeP(p); + takePQ(p); + } + } + + class Q { + { + Class q= getClass(); + takePQ(q); + } + } + + class Z { + { + Class<? extends Z> z= getClass(); + } + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuHalfPair/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuHalfPair/in/A.java new file mode 100644 index 000000000..a2a8535f4 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuHalfPair/in/A.java @@ -0,0 +1,18 @@ +package p; + +import java.util.ArrayList; + +class A<T, U> { + // cannot infer type for U -> leave raw + T t; + U u; + + void addT(T arg) { + t= arg; + } + + static void m() { + A p = new A(); + p.addT("Hello"); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuHalfPair/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuHalfPair/out/A.java new file mode 100644 index 000000000..a2a8535f4 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuHalfPair/out/A.java @@ -0,0 +1,18 @@ +package p; + +import java.util.ArrayList; + +class A<T, U> { + // cannot infer type for U -> leave raw + T t; + U u; + + void addT(T arg) { + t= arg; + } + + static void m() { + A p = new A(); + p.addT("Hello"); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuInferTypeVariable01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuInferTypeVariable01/in/A.java new file mode 100644 index 000000000..8ed5e4302 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuInferTypeVariable01/in/A.java @@ -0,0 +1,11 @@ +package p; + +import java.util.Vector; + +class Cell { + public <T> T f1(T l) { + Vector v= new Vector(); + v.add(l); + return (T) v.get(0); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuInferTypeVariable01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuInferTypeVariable01/out/A.java new file mode 100644 index 000000000..6c7a3b194 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuInferTypeVariable01/out/A.java @@ -0,0 +1,11 @@ +package p; + +import java.util.Vector; + +class Cell { + public <T> T f1(T l) { + Vector<T> v= new Vector<T>(); + v.add(l); + return v.get(0); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuIntermediateLocal/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuIntermediateLocal/in/A.java new file mode 100644 index 000000000..bbe04637f --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuIntermediateLocal/in/A.java @@ -0,0 +1,13 @@ +package p; + +import java.util.AbstractList; +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + AbstractList l= new ArrayList(); + List list= l; + list.add("Eclipse"); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuIntermediateLocal/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuIntermediateLocal/out/A.java new file mode 100644 index 000000000..b01ac1e6f --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuIntermediateLocal/out/A.java @@ -0,0 +1,13 @@ +package p; + +import java.util.AbstractList; +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + AbstractList<String> l= new ArrayList<String>(); + List<String> list= l; + list.add("Eclipse"); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMapEntry01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMapEntry01/in/A.java new file mode 100644 index 000000000..0d156927b --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMapEntry01/in/A.java @@ -0,0 +1,14 @@ +package p; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +class A { + void sets() { + Map map= new HashMap(); + map.put("key", new Integer(17)); + Iterator iter= map.entrySet().iterator(); + Map.Entry entry= (Map.Entry) iter.next(); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMapEntry01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMapEntry01/out/A.java new file mode 100644 index 000000000..48783afad --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMapEntry01/out/A.java @@ -0,0 +1,15 @@ +package p; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; + +class A { + void sets() { + Map<String, Integer> map= new HashMap<String, Integer>(); + map.put("key", new Integer(17)); + Iterator<Entry<String, Integer>> iter= map.entrySet().iterator(); + Entry<String, Integer> entry= iter.next(); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMemberOfRaw/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMemberOfRaw/in/A.java new file mode 100644 index 000000000..0c59758f5 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMemberOfRaw/in/A.java @@ -0,0 +1,9 @@ +package p; + +class NodeList<E> { + class Cursor { } + { + NodeList.Cursor cursor; + NodeList<String>.Cursor c2; + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMemberOfRaw/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMemberOfRaw/out/A.java new file mode 100644 index 000000000..0c59758f5 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMemberOfRaw/out/A.java @@ -0,0 +1,9 @@ +package p; + +class NodeList<E> { + class Cursor { } + { + NodeList.Cursor cursor; + NodeList<String>.Cursor c2; + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric01/in/A.java new file mode 100644 index 000000000..ad1d56b97 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric01/in/A.java @@ -0,0 +1,11 @@ +package p; + +class A { + void call(My my) { + my.method("Eclipse1", new Integer(1)); + } +} + +class My<C> { + <M> void method(C c, M m) {} +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric01/out/A.java new file mode 100644 index 000000000..61659d22b --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric01/out/A.java @@ -0,0 +1,11 @@ +package p; + +class A { + void call(My<String> my) { + my.method("Eclipse1", new Integer(1)); + } +} + +class My<C> { + <M> void method(C c, M m) {} +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric02/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric02/in/A.java new file mode 100644 index 000000000..f9beb3993 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric02/in/A.java @@ -0,0 +1,17 @@ +package p; + +class A { + void call(Ex ex) { + ex.method("Eclipse1", new Integer(1)); + Top top= ex; + top.method("Eclipse2", new Integer(2)); + } +} + +class Top<TC> { + <TM> void method(TC cTop, TM mTop) {} +} + +class Ex<C extends String> extends Top<C> { + <M extends Integer> void method(C cEx, M mEx) {} +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric02/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric02/out/A.java new file mode 100644 index 000000000..4aa66536c --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodAndTypeGeneric02/out/A.java @@ -0,0 +1,17 @@ +package p; + +class A { + void call(Ex<String> ex) { + ex.method("Eclipse1", new Integer(1)); + Top<String> top= ex; + top.method("Eclipse2", new Integer(2)); + } +} + +class Top<TC> { + <TM> void method(TC cTop, TM mTop) {} +} + +class Ex<C extends String> extends Top<C> { + <M extends Integer> void method(C cEx, M mEx) {} +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodParam/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodParam/in/A.java new file mode 100644 index 000000000..e0d153e18 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodParam/in/A.java @@ -0,0 +1,20 @@ +package p; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +class A { + void foo() { + List l= new ArrayList(); + l.add("Eclipse"); + bar(l); + } + + void bar(List arg) { + for (Iterator iter= arg.iterator(); iter.hasNext();) { + String element= (String) iter.next(); + System.out.println(element); + } + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodParam/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodParam/out/A.java new file mode 100644 index 000000000..de0bbae80 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodParam/out/A.java @@ -0,0 +1,20 @@ +package p; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +class A { + void foo() { + List<String> l= new ArrayList<String>(); + l.add("Eclipse"); + bar(l); + } + + void bar(List<String> arg) { + for (Iterator<String> iter= arg.iterator(); iter.hasNext();) { + String element= iter.next(); + System.out.println(element); + } + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodReturns/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodReturns/in/A.java new file mode 100644 index 000000000..b9335b0e7 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodReturns/in/A.java @@ -0,0 +1,30 @@ +package p; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +class A { + public void foo() { + for (Iterator iter= getList().iterator(); iter.hasNext();) { + String element= (String) iter.next(); + System.out.println(element); + } + } + + public List getList() { + ArrayList result= new ArrayList(); + result.add("Tom"); + result.add("Jerry"); + return result; + } + + public Iterator getIterator(List list) { + list= getList(); + return list.iterator(); + } + + public Iterator getIterator2(List list2) { + return null; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodReturns/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodReturns/out/A.java new file mode 100644 index 000000000..f26cff116 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodReturns/out/A.java @@ -0,0 +1,30 @@ +package p; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +class A { + public void foo() { + for (Iterator<String> iter= getList().iterator(); iter.hasNext();) { + String element= iter.next(); + System.out.println(element); + } + } + + public List<String> getList() { + ArrayList<String> result= new ArrayList<String>(); + result.add("Tom"); + result.add("Jerry"); + return result; + } + + public Iterator<String> getIterator(List<String> list) { + list= getList(); + return list.iterator(); + } + + public Iterator getIterator2(List list2) { + return null; + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodTypeParam/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodTypeParam/in/A.java new file mode 100644 index 000000000..64cebc652 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodTypeParam/in/A.java @@ -0,0 +1,11 @@ +package p; + +import java.util.Vector; + +public class A { + public <T> T f1(T l) { + Vector v = new Vector(); + v.add(l); + return (T) v.get(0); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodTypeParam/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodTypeParam/out/A.java new file mode 100644 index 000000000..7d4d55cae --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuMethodTypeParam/out/A.java @@ -0,0 +1,11 @@ +package p; + +import java.util.Vector; + +public class A { + public <T> T f1(T l) { + Vector<T> v = new Vector<T>(); + v.add(l); + return v.get(0); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedCells1/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedCells1/in/A.java new file mode 100644 index 000000000..7b72a408c --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedCells1/in/A.java @@ -0,0 +1,10 @@ +package p; + +class A { + void m() { + Cell c= new Cell(); + c.put("X"); + Cell nested= new Cell(); + nested.put(c); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedCells1/in/Cell.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedCells1/in/Cell.java new file mode 100644 index 000000000..f448a9363 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedCells1/in/Cell.java @@ -0,0 +1,7 @@ +package p; + +public class Cell<T> { + public void put(T t) { + + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedCells1/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedCells1/out/A.java new file mode 100644 index 000000000..eac1c62a5 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedCells1/out/A.java @@ -0,0 +1,10 @@ +package p; + +class A { + void m() { + Cell<String> c= new Cell<String>(); + c.put("X"); + Cell<Cell<String>> nested= new Cell<Cell<String>>(); + nested.put(c); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors0/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors0/in/A.java new file mode 100644 index 000000000..23bbf6d56 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors0/in/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.Vector; + +class A { + + void k() { + Vector v1= new Vector(); + Vector v2= new Vector(); + Vector v3= new Vector(); + + v3.add(new String("fff")); // String <= E[v3] --> String is + // not parametric --> nothing to unify + v2.add(v3); // v3 <= E[v2] --> 2. unify (E[v3], E[E[v2]]) + v1.add(v2.get(0)); // E[v2] <= E[v1] --> 1. unify (E[E[v2]], E[E[v1]]) + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors0/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors0/out/A.java new file mode 100644 index 000000000..29aa2aedb --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors0/out/A.java @@ -0,0 +1,17 @@ +package p; + +import java.util.Vector; + +class A { + + void k() { + Vector<Vector<String>> v1= new Vector<Vector<String>>(); + Vector<Vector<String>> v2= new Vector<Vector<String>>(); + Vector<String> v3= new Vector<String>(); + + v3.add(new String("fff")); // String <= E[v3] --> String is + // not parametric --> nothing to unify + v2.add(v3); // v3 <= E[v2] --> 2. unify (E[v3], E[E[v2]]) + v1.add(v2.get(0)); // E[v2] <= E[v1] --> 1. unify (E[E[v2]], E[E[v1]]) + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors1/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors1/in/A.java new file mode 100644 index 000000000..ec669b8e7 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors1/in/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.Vector; + +class A { + void foo() { + Vector v1= new Vector(); + Vector v2= new Vector(); + v2.add(v1); + v1.add(v2); + } + void bar() { + Vector v3= new Vector(); + v3.add(v3); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors1/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors1/out/A.java new file mode 100644 index 000000000..d70e94cda --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuNestedVectors1/out/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.Vector; + +class A { + void foo() { + Vector<Vector<Vector>> v1= new Vector<Vector<Vector>>(); + Vector<Vector> v2= new Vector<Vector>(); + v2.add(v1); + v1.add(v2); + } + void bar() { + Vector<Vector> v3= new Vector<Vector>(); + v3.add(v3); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuParameterizedTypes1/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuParameterizedTypes1/in/A.java new file mode 100644 index 000000000..39f95617f --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuParameterizedTypes1/in/A.java @@ -0,0 +1,4 @@ +package p; + +class A<T extends A<T>> {} +class B<T> extends A<B<T>> {} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuParameterizedTypes1/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuParameterizedTypes1/out/A.java new file mode 100644 index 000000000..39f95617f --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuParameterizedTypes1/out/A.java @@ -0,0 +1,4 @@ +package p; + +class A<T extends A<T>> {} +class B<T> extends A<B<T>> {} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuQualifiedName/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuQualifiedName/in/A.java new file mode 100644 index 000000000..97ee5717c --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuQualifiedName/in/A.java @@ -0,0 +1,8 @@ +package p; + +public class A { + A() { + java.util.List list= new java.util.ArrayList(); + list.add(1); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuQualifiedName/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuQualifiedName/out/A.java new file mode 100644 index 000000000..888816341 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuQualifiedName/out/A.java @@ -0,0 +1,8 @@ +package p; + +public class A { + A() { + java.util.List<Integer> list= new java.util.ArrayList<Integer>(); + list.add(1); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods/in/A.java new file mode 100644 index 000000000..4148448ef --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods/in/A.java @@ -0,0 +1,26 @@ +package p; + +import java.util.Enumeration; +import java.util.Vector; + +public class A { + private void createTestList(TestCollector collector) { + Enumeration each= collector.collectTests(); + while (each.hasMoreElements()) { + String s= (String) each.nextElement(); + } + } +} + +interface TestCollector { + public Enumeration collectTests(); +} + +class Collector implements TestCollector { + public Enumeration collectTests() { + Vector v= new Vector(); + v.add("Test1"); + return v.elements(); + } + +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods/out/A.java new file mode 100644 index 000000000..d576632bf --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods/out/A.java @@ -0,0 +1,26 @@ +package p; + +import java.util.Enumeration; +import java.util.Vector; + +public class A { + private void createTestList(TestCollector collector) { + Enumeration<String> each= collector.collectTests(); + while (each.hasMoreElements()) { + String s= each.nextElement(); + } + } +} + +interface TestCollector { + public Enumeration<String> collectTests(); +} + +class Collector implements TestCollector { + public Enumeration<String> collectTests() { + Vector<String> v= new Vector<String>(); + v.add("Test1"); + return v.elements(); + } + +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods2/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods2/in/A.java new file mode 100644 index 000000000..b579e86fa --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods2/in/A.java @@ -0,0 +1,22 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +interface I { + public List getList(); +} + +class A implements I { + public List getList() { + List list= new ArrayList(); + list.add("X"); + return list; + } +} + +class B extends A { + public List getList() { + return null; + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods2/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods2/out/A.java new file mode 100644 index 000000000..532990045 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods2/out/A.java @@ -0,0 +1,22 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +interface I { + public List<String> getList(); +} + +class A implements I { + public List<String> getList() { + List<String> list= new ArrayList<String>(); + list.add("X"); + return list; + } +} + +class B extends A { + public List<String> getList() { + return null; + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods3/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods3/in/A.java new file mode 100644 index 000000000..094994df3 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods3/in/A.java @@ -0,0 +1,31 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + public List getList() { + List list= new ArrayList(); + list.add("X"); + return list; + } +} + +interface I { + public List getList(); +} + +class C extends A implements I { + // Inherits getList() from A and I, but does NOT induce a connection + // between them by redeclaring the method. + // + // Ways to deal: + // A) Always calculate RippleMethods (but only once per method!). + // B) If CU of C is found & processed: + // connect inherited methods from A with matching methods from I. + // If it is not guaranteed that C will be processed: + // need a subtype hierarchy on A and I ==> A) RippleMethods. +// void use() { +// List l= getList(); +// } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods3/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods3/out/A.java new file mode 100644 index 000000000..629c0ee48 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuRippleMethods3/out/A.java @@ -0,0 +1,31 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + public List<String> getList() { + List<String> list= new ArrayList<String>(); + list.add("X"); + return list; + } +} + +interface I { + public List<String> getList(); +} + +class C extends A implements I { + // Inherits getList() from A and I, but does NOT induce a connection + // between them by redeclaring the method. + // + // Ways to deal: + // A) Always calculate RippleMethods (but only once per method!). + // B) If CU of C is found & processed: + // connect inherited methods from A with matching methods from I. + // If it is not guaranteed that C will be processed: + // need a subtype hierarchy on A and I ==> A) RippleMethods. +// void use() { +// List l= getList(); +// } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSuperAndSub/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSuperAndSub/in/A.java new file mode 100644 index 000000000..840b82329 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSuperAndSub/in/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List list= new ArrayList(); + list.add(new Super()); + List l= list; + l.add(new Sub()); + } +} + +class Super {} +class Sub extends Super {}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSuperAndSub/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSuperAndSub/out/A.java new file mode 100644 index 000000000..cbc7104dc --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSuperAndSub/out/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + void foo() { + List<Super> list= new ArrayList<Super>(); + list.add(new Super()); + List<Super> l= list; + l.add(new Sub()); + } +} + +class Super {} +class Sub extends Super {}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSynchronizedList/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSynchronizedList/in/A.java new file mode 100644 index 000000000..0c0248c19 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSynchronizedList/in/A.java @@ -0,0 +1,11 @@ +package p; + +import java.util.*; + +class A { + private final List _binPaths = Collections.synchronizedList(new ArrayList()); + + List get() { + return new ArrayList(_binPaths); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSynchronizedList/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSynchronizedList/out/A.java new file mode 100644 index 000000000..76c847400 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuSynchronizedList/out/A.java @@ -0,0 +1,11 @@ +package p; + +import java.util.*; + +class A { + private final List<?> _binPaths = Collections.synchronizedList(new ArrayList<Object>()); + + List<?> get() { + return new ArrayList<Object>(_binPaths); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray01/in/A.java new file mode 100644 index 000000000..b5c9404b1 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray01/in/A.java @@ -0,0 +1,23 @@ +package p; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; + +@SuppressWarnings("unused") +class A { + { + Collection c= new LinkedList(); + c.add(42); + Generic g= new Generic(); + List list= g.toList(c); + ArrayList arrayList= (ArrayList) g.toList(c); + } +} + +class Generic<E> { + public <T> List<T> toList(Collection<T> c) { + return new ArrayList<T>(c); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray01/out/A.java new file mode 100644 index 000000000..fbbd5cf30 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray01/out/A.java @@ -0,0 +1,23 @@ +package p; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; + +@SuppressWarnings("unused") +class A { + { + Collection<Integer> c= new LinkedList<Integer>(); + c.add(42); + Generic g= new Generic(); + List<Integer> list= g.toList(c); + ArrayList<Integer> arrayList= (ArrayList<Integer>) g.toList(c); + } +} + +class Generic<E> { + public <T> List<T> toList(Collection<T> c) { + return new ArrayList<T>(c); + } +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray02/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray02/in/A.java new file mode 100644 index 000000000..c5b211385 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray02/in/A.java @@ -0,0 +1,30 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +public class A { + + String[] m() { + List l= new ArrayList(); + l.add("Hello"); + return (String[]) l.toArray(new String[l.size()]); + } + String[][] m2() { + List l= new ArrayList(); + l.add(new String[] {"Hello"}); + return (String[][]) l.toArray(new String[l.size()][]); + } + + + String[] test() { + ArrayList list= new ArrayList(); + list.add(42); + return (String[]) list.toArray(new String[list.size()]); + } + + String[] test2() { + ArrayList list= new ArrayList(); + return (String[]) list.toArray(new String[list.size()]); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray02/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray02/out/A.java new file mode 100644 index 000000000..b303bad58 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuToArray02/out/A.java @@ -0,0 +1,30 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +public class A { + + String[] m() { + List<String> l= new ArrayList<String>(); + l.add("Hello"); + return l.toArray(new String[l.size()]); + } + String[][] m2() { + List<String[]> l= new ArrayList<String[]>(); + l.add(new String[] {"Hello"}); + return l.toArray(new String[l.size()][]); + } + + + String[] test() { + ArrayList<Integer> list= new ArrayList<Integer>(); + list.add(42); + return list.toArray(new String[list.size()]); + } + + String[] test2() { + ArrayList list= new ArrayList(); + return (String[]) list.toArray(new String[list.size()]); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTwoVectorElements/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTwoVectorElements/in/A.java new file mode 100644 index 000000000..8b129d060 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTwoVectorElements/in/A.java @@ -0,0 +1,14 @@ +package p; + +import java.util.ArrayList; +import java.util.Iterator; + +class A { + public static void exec() { + ArrayList v1= new ArrayList(); + ArrayList v2= new ArrayList(); + v2.add(""); + Iterator iterator1 = v1.iterator(); + Iterator iterator2 = v2.iterator(); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTwoVectorElements/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTwoVectorElements/out/A.java new file mode 100644 index 000000000..7830ab663 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTwoVectorElements/out/A.java @@ -0,0 +1,14 @@ +package p; + +import java.util.ArrayList; +import java.util.Iterator; + +class A { + public static void exec() { + ArrayList v1= new ArrayList(); + ArrayList<String> v2= new ArrayList<String>(); + v2.add(""); + Iterator iterator1 = v1.iterator(); + Iterator<String> iterator2 = v2.iterator(); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeLiteral/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeLiteral/in/A.java new file mode 100644 index 000000000..71c5bfe64 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeLiteral/in/A.java @@ -0,0 +1,12 @@ +package p; + +import java.lang.reflect.Method; + +@SuppressWarnings("deprecation") +public class A { + void m(A a) throws Exception { + Class clazz = a.getClass(); + Method method = clazz.getMethod("m", A.class); + SuppressWarnings suppressed = method.getAnnotation(SuppressWarnings.class); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeLiteral/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeLiteral/out/A.java new file mode 100644 index 000000000..13ec32c76 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeLiteral/out/A.java @@ -0,0 +1,12 @@ +package p; + +import java.lang.reflect.Method; + +@SuppressWarnings("deprecation") +public class A { + void m(A a) throws Exception { + Class<? extends A> clazz = a.getClass(); + Method method = clazz.getMethod("m", A.class); + SuppressWarnings suppressed = method.getAnnotation(SuppressWarnings.class); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeParams9/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeParams9/in/A.java new file mode 100644 index 000000000..d4d21756d --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeParams9/in/A.java @@ -0,0 +1,13 @@ +package p; + +import java.util.Vector; + +class TypeParams9<T1 extends Number & Comparable> { + Comparable f(T1 t1) { + Vector v1 = new Vector(); + v1.add(t1); + v1.add(new Integer(1)); + v1.add(""); + return (Comparable) v1.get(0); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeParams9/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeParams9/out/A.java new file mode 100644 index 000000000..3263a7a42 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuTypeParams9/out/A.java @@ -0,0 +1,13 @@ +package p; + +import java.util.Vector; + +class TypeParams9<T1 extends Number & Comparable> { + Comparable f(T1 t1) { + Vector<Comparable> v1 = new Vector<Comparable>(); + v1.add(t1); + v1.add(new Integer(1)); + v1.add(""); + return v1.get(0); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuVarargs01/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuVarargs01/in/A.java new file mode 100644 index 000000000..483a39ace --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuVarargs01/in/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + { + ArrayList arrayList = new ArrayList(); + arrayList.add(12L); + take(""); + take("", arrayList); + take("", new ArrayList[] {arrayList}); + take("", arrayList, arrayList); + } + void take(String format, List... args) {} +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuVarargs01/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuVarargs01/out/A.java new file mode 100644 index 000000000..b636b51de --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testCuVarargs01/out/A.java @@ -0,0 +1,16 @@ +package p; + +import java.util.ArrayList; +import java.util.List; + +class A { + { + ArrayList<Long> arrayList = new ArrayList<Long>(); + arrayList.add(12L); + take(""); + take("", arrayList); + take("", new ArrayList[] {arrayList}); + take("", arrayList, arrayList); + } + void take(String format, List... args) {} +}
\ No newline at end of file diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/in/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/in/A.java new file mode 100644 index 000000000..e89288b11 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/in/A.java @@ -0,0 +1,12 @@ +package p; + +class PairDance { + public static void main(String[] args) { + InvertedPair/*<Integer, Double>*/ ip= new InvertedPair/*<Integer, Double>*/(); + Pair/*<Double, Integer>*/ p= ip; + p.setA(new Double(1.1)); + Double a= (Double) ip.getA(); + ip.setB(new Integer(2)); + System.out.println(ip); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/in/InvertedPair.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/in/InvertedPair.java new file mode 100644 index 000000000..39e41fe32 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/in/InvertedPair.java @@ -0,0 +1,10 @@ +package p; + +class InvertedPair<A, B> extends Pair<B, A> { + public B getA() { + return super.getA(); + } + public void setB(A bee) { + super.setB(bee); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/in/Pair.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/in/Pair.java new file mode 100644 index 000000000..57d04c113 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/in/Pair.java @@ -0,0 +1,22 @@ +package p; + +public class Pair<A, B> { + private A a; + private B b; + + public A getA() { + return a; + } + public void setA(A a) { + this.a= a; + } + public B getB() { + return b; + } + public void setB(B bee) { + b= bee; + } + public String toString() { + return super.toString() + ", a=" + a + ", b=" + b; + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/out/A.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/out/A.java new file mode 100644 index 000000000..048a34133 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/out/A.java @@ -0,0 +1,12 @@ +package p; + +class PairDance { + public static void main(String[] args) { + InvertedPair/*<Integer, Double>*/<Integer, Double> ip= new InvertedPair/*<Integer, Double>*/<Integer, Double>(); + Pair/*<Double, Integer>*/<Double, Integer> p= ip; + p.setA(new Double(1.1)); + Double a= ip.getA(); + ip.setB(new Integer(2)); + System.out.println(ip); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/out/InvertedPair.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/out/InvertedPair.java new file mode 100644 index 000000000..39e41fe32 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/out/InvertedPair.java @@ -0,0 +1,10 @@ +package p; + +class InvertedPair<A, B> extends Pair<B, A> { + public B getA() { + return super.getA(); + } + public void setB(A bee) { + super.setB(bee); + } +} diff --git a/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/out/Pair.java b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/out/Pair.java new file mode 100644 index 000000000..57d04c113 --- /dev/null +++ b/testplugins/org.eclipse.jdt.ui.tests.refactoring/resources/InferTypeArguments/testPairDance/out/Pair.java @@ -0,0 +1,22 @@ +package p; + +public class Pair<A, B> { + private A a; + private B b; + + public A getA() { + return a; + } + public void setA(A a) { + this.a= a; + } + public B getB() { + return b; + } + public void setB(B bee) { + b= bee; + } + public String toString() { + return super.toString() + ", a=" + a + ", b=" + b; + } +} |