summaryrefslogtreecommitdiff
path: root/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java')
-rw-r--r--java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java39
1 files changed, 39 insertions, 0 deletions
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;
+ }
+}