Skip to content

Commit c90bfe6

Browse files
committed
Also retain behavior for indirect use of sorted set
1 parent 0d4df6f commit c90bfe6

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

src/test/java/org/openrewrite/java/migrate/guava/NoGuavaSetsFilterTest.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,42 @@ public static Set<Object> test(SortedSet<Object> set, Predicate<Object> isNotNul
102102
)
103103
);
104104
}
105+
106+
@Test
107+
void replaceSetsFilterIndirectlyUsingSortedSet() {
108+
//language=java
109+
rewriteRun(
110+
java(
111+
"""
112+
import java.util.Set;
113+
import java.util.SortedSet;
114+
115+
import com.google.common.base.Predicate;
116+
import com.google.common.collect.Sets;
117+
118+
class Test {
119+
public static Set<Object> test(SortedSet<Object> set, Predicate<Object> isNotNull) {
120+
Set<Object> indirectSet = set;
121+
return Sets.filter(indirectSet, isNotNull);
122+
}
123+
}
124+
""",
125+
"""
126+
import java.util.Set;
127+
import java.util.SortedSet;
128+
import java.util.TreeSet;
129+
import java.util.stream.Collectors;
130+
131+
import com.google.common.base.Predicate;
132+
133+
class Test {
134+
public static Set<Object> test(SortedSet<Object> set, Predicate<Object> isNotNull) {
135+
Set<Object> indirectSet = set;
136+
return indirectSet.stream().filter(isNotNull).collect(Collectors.toCollection(TreeSet::new));
137+
}
138+
}
139+
"""
140+
)
141+
);
142+
}
105143
}

0 commit comments

Comments
 (0)