Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA148093.java
2015-12-02 15:42:02 +01:00

21 lines
656 B
Java

abstract class WrapperOne<T> {
public abstract <X> WrapperOne<X> reformChain(Reformer<? extends WrapperTwo<? extends X>> reformer);
}
interface WrapperTwo<T> {}
interface Reformer<T> {
T reform();
}
class ReformerClient {
public WrapperOne<String> sampleChainA(WrapperOne<String> p, Reformer<WrapperTwo<String>> r) {
return p.reformChain(r::reform);
}
public WrapperOne<String> sampleChainB(WrapperOne<String> p, Reformer<? extends WrapperTwo<String>> r) {
return p.reformChain(r::reform);
}
public WrapperOne<String> sampleChainC(WrapperOne<String> p, Reformer<? extends WrapperTwo<String>> r) {
return p.reformChain(r);
}
}