En Java, je suis capable de combiner plusieurs poignée de méthode avec chacun de ses paramètres, comme ceci:Java MethodHandle; utiliser le paramètre dans plusieurs emplacements
foo(a, bar(2, b))
..by utilisant MethodHandles.collectArguments().
La poignée de méthode que je reçois peut être appelé comme ceci:
myHandle.invokeExact(5, 6); // invokes foo(5, bar(2, 6))
Mais maintenant, je voudrais obtenir une poignée de méthode qui envoie ses paramètres dans l'arborescence des appels comme celui-ci:
MethodHandle myHandle = ...; // foo(*x*, bar(2, *x*))
myHandle.invokeExact(3); // replaces x by 3 in both locations
// this call represents 'foo(3, bar(2, 3));'
Je n'arrive pas à comprendre comment faire ça. Pouvez-vous m'aider?
Je ne dirais pas qu'il n'y a « pas beaucoup d'intérêt », mais la balise 'methodhandle', ayant 41 questions, est tout à fait étroit. L'ajout d'une [tag: réflexion] ou [tag: bytecode], sans correspondre exactement à la question, pourrait attirer l'attention. – Holger