summaryrefslogtreecommitdiff
path: root/plugins/typeMigration/testData/refactoring/migrateTypeSignature/typeGenDescendant2Rvalue/after/Type.java
blob: 119e65ca61b5f2d26741d124da07146fdc5334b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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;
	}
}