Alguém já fez o backport do Lambda Expressions para o Java 7?

Lendo sobreque tipo de bytecode o Java 8 produz de lambdas, veio à minha mente a época em que o Java 5 foi lançado. Naquela época haviaRetroweaver eoutras ferramentas para converter bytecode compilado com o JDK 5 para rodar no JRE 1.4.

Alguém já criou uma ferramenta de backport para Java 8 lambdas? Isso permitiria que os desenvolvedores Java começassem a usar o lambdas já hoje em Java 7 JREs de qualidade de produção, sem ter que esperar de 6 a 12 meses para o release GA do Java 8.

Aqui está minha análise do motivo pelo qual o backporter deve ser implementado com relativa facilidade:

Os lambdas do Java 8 não parecem usar nenhum recurso da JVM que o Java 7 não tenha (por exemplo,invokedynamic), e asjava.lang.invoke.LambdaMetafactory A classe e suas dependências parecem com Java puro, portanto, deve ser possível implementá-las em uma biblioteca de terceiros. Assim, o bytecode compilado com o JDK 8 poderia ser executado no JRE 7, adicionando uma biblioteca de terceiros com uma cópia do LambdaMetafactory (em um pacote diferente) e transformando o bytecode para usar essa metafactory. Talvez também gere algumas classes e métodos sintéticos para contornar as verificações de acessibilidade, comojava.lang.invoke.MagicLambdaImpl parece implicar. Ou então, gerar classes internas anônimas para todos os lambdas, como alguns dos primeiros JDKs de Acesso Antecipado habilitados para lambda.

questionAnswers(1)

yourAnswerToTheQuestion