blob: c60a8fb4959dd6f1e20f7f5f36a66c375f2b1768 [file] [log] [blame]
// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package nest;
public class NestLambda {
private void print(Object o) {
System.out.println("printed: " + o);
}
Inner getInner() {
return new Inner();
}
// Avoids java.util.Consumer to run below on Apis below 24.
interface ThisConsumer<T> {
void accept(T t);
}
class Inner implements Itf {
void exec(ThisConsumer<String> consumer) {
consumer.accept("inner");
}
void execLambda() {
exec(NestLambda.this::print);
}
}
interface Itf {
private void printItf(Object o) {
System.out.println("printed from itf: " + o);
}
}
void exec(ThisConsumer<String> consumer) {
consumer.accept("here");
}
void execItfLambda(Itf itf) {
exec(itf::printItf);
}
public static void main(String[] args) {
new NestLambda().getInner().execLambda();
new NestLambda().execItfLambda(new Itf() {});
}
}