summaryrefslogtreecommitdiff
path: root/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue
diff options
context:
space:
mode:
Diffstat (limited to 'java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue')
-rw-r--r--java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.items37
-rw-r--r--java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java39
-rw-r--r--java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java39
3 files changed, 115 insertions, 0 deletions
diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.items b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.items
new file mode 100644
index 000000000000..ab6a62095446
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.items
@@ -0,0 +1,37 @@
+Types:
+PsiField:myField : java.util.Set<Subject>
+PsiLocalVariable:ancestorExtends : java.util.Set<Subject>
+PsiLocalVariable:ancestorSupers : java.util.Set<Subject>
+PsiLocalVariable:ancestors : java.util.Set<Subject>
+PsiLocalVariable:descendantExtends : java.util.Set<Subject>
+PsiLocalVariable:descendantSupers : java.util.Set<Subject>
+PsiLocalVariable:descendants : java.util.Set<Subject>
+PsiLocalVariable:myCollection : java.util.AbstractSet<Subject>
+PsiLocalVariable:subjectExtends : java.util.Set<Subject>
+PsiLocalVariable:subjectSupers : java.util.Set<Subject>
+PsiReferenceExpression:ancestorExtends : java.util.Set<Subject>
+PsiReferenceExpression:ancestorSupers : java.util.Set<Subject>
+PsiReferenceExpression:ancestors : java.util.Set<Subject>
+PsiReferenceExpression:descendantExtends : java.util.Set<Subject>
+PsiReferenceExpression:descendantSupers : java.util.Set<Subject>
+PsiReferenceExpression:descendants : java.util.Set<Subject>
+PsiReferenceExpression:myCollection : java.util.AbstractSet<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:myField : java.util.Set<Subject>
+PsiReferenceExpression:subjectExtends : java.util.Set<Subject>
+PsiReferenceExpression:subjectSupers : java.util.Set<Subject>
+
+Conversions:
+set -> $
+
+New expression type changes:
+Fails:
diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java
new file mode 100644
index 000000000000..119e65ca61b5
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java
@@ -0,0 +1,39 @@
+import java.util.AbstractSet;
+import java.util.Set;
+
+interface Ancestor {}
+interface Subject extends Ancestor {}
+class Descendant implements Subject {}
+
+class Type {
+ private Set<Subject> myField;
+
+ public void meth() {
+ Set<Subject> ancestors = null;
+ myField = ancestors;
+ Set<Subject> ancestorExtends = null;
+ myField = ancestorExtends;
+ Set<Subject> ancestorSupers = null;
+ myField = ancestorSupers;
+
+ // turning everything into Set<Subject> is actually too strict, but correct
+ Set<Subject> subjects = null;
+ myField = subjects;
+ Set<Subject> subjectExtends = null;
+ myField = subjectExtends;
+ Set<Subject> subjectSupers = null;
+ myField = subjectSupers;
+
+ Set<Subject> descendants = null;
+ myField = descendants;
+ Set<Subject> descendantExtends = null;
+ myField = descendantExtends;
+ Set<Subject> descendantSupers = null;
+ myField = descendantSupers;
+
+ Set set = null;
+ myField = set;
+ AbstractSet<Subject> myCollection = null;
+ myField = myCollection;
+ }
+}
diff --git a/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java
new file mode 100644
index 000000000000..e53aa1d3cd1b
--- /dev/null
+++ b/java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/before/Type.java
@@ -0,0 +1,39 @@
+import java.util.AbstractSet;
+import java.util.Set;
+
+interface Ancestor {}
+interface Subject extends Ancestor {}
+class Descendant implements Subject {}
+
+class Type {
+ private Set myField;
+
+ public void meth() {
+ Set<Ancestor> ancestors = null;
+ myField = ancestors;
+ Set<? extends Ancestor> ancestorExtends = null;
+ myField = ancestorExtends;
+ Set<? super Ancestor> ancestorSupers = null;
+ myField = ancestorSupers;
+
+ // turning everything into Set<Subject> is actually too strict, but correct
+ Set<Subject> subjects = null;
+ myField = subjects;
+ Set<? extends Subject> subjectExtends = null;
+ myField = subjectExtends;
+ Set<? super Subject> subjectSupers = null;
+ myField = subjectSupers;
+
+ Set<Descendant> descendants = null;
+ myField = descendants;
+ Set<? extends Descendant> descendantExtends = null;
+ myField = descendantExtends;
+ Set<? super Descendant> descendantSupers = null;
+ myField = descendantSupers;
+
+ Set set = null;
+ myField = set;
+ AbstractSet<Descendant> myCollection = null;
+ myField = myCollection;
+ }
+}