When decompiling with --usenametable false, it is possible that the local variable name inside a lamba is the same as the name of a variable in the enclosing method.
Example code
public class LambdaNameCollision {
void test() {
String string = "";
Runnable r = () -> {
// Becomes `string` as well
String s = System.getProperty("key");
};
}
}
Nasty. That's going to require a pretty savage renaming pass, as names for locals are generated at the point they're separate methods, before bootstrap elimination & inlining.
CFR version
0.149-SNAPSHOT (commit 06539a4)
Description
When decompiling with
--usenametable false
, it is possible that the local variable name inside a lamba is the same as the name of a variable in the enclosing method.Example code