| // Test case for Issue 1705 |
| // https://github.com/typetools/checker-framework/issues/1705 |
| |
| import java.util.function.Function; |
| import org.checkerframework.checker.tainting.qual.PolyTainted; |
| import org.checkerframework.checker.tainting.qual.Untainted; |
| |
| public class Issue1705 { |
| static class MySecondClass<X> { |
| @PolyTainted MySecondClass<X> doOnComplete(@PolyTainted MySecondClass<X> this) { |
| throw new RuntimeException(); |
| } |
| } |
| |
| <R> @PolyTainted R to(@PolyTainted Issue1705 this, Function<? super Issue1705, R> arg0) { |
| throw new RuntimeException(); |
| } |
| |
| static <T> Function<? super T, MySecondClass<T>> empty() { |
| throw new RuntimeException(); |
| } |
| |
| void test(@Untainted Issue1705 a) { |
| @Untainted Object z = a.to(empty()).doOnComplete(); |
| } |
| } |