Я пытаюсь реализовать "типизацию утки" с invokedynamic
в JVM7. Я создал два разных класса, у каждого из них есть метод greet()
, который возвращает String
. Я случайным образом выбираю один из них, сохраняю экземпляр в стеке и вызываю invokedynamic
(используя ASM).
Интересно, смогу ли я получить доступ к аргументам в методе начальной загрузки. Потому что я не могу вернуть соответствующий CallSite
с target
, не зная, какой объект находится в стеке и какой из greet()
методов должен быть возвращен.
Если мой подход неверен, каков правильный подход?