diff options
Diffstat (limited to 'java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java')
-rw-r--r-- | java/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java | 39 |
1 files changed, 39 insertions, 0 deletions
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; + } +} |