Como posso encontrar o destino de uma referência de método Java8?
Eu quero capturar chamadas para um objeto simulado
public interface Service {
public String stringify(Object o);
}
service = mockery.mock(Service.class);
mockery.allowing(service::stringify).with(42).will(() -> "42");
Então por dentroallowing
eu tenho umFunction<Object, String>
Existe algum reflecto-magic que me permita encontrar o serviço da função criada a partir da referência do método?
public WithClause allowing(Function<T,R> f) {
Object myServiceBackAgain = findTargetOf(function);
....
}
Eu sei que a Função sempre virá dessas referências de método, por isso estou feliz em reduzir o quanto for necessário.
Esta não é a mesma pergunta que a relacionadaÉ possível converter referência de método para MethodHandle? porque, para começar, não é a mesma pergunta, apenas em uma área relacionada. E mesmo que eu consiga obter um MethodHandle, não consigo obter o alvo dele.