--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Wed Jul 10 09:43:35 2019 +0800
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Wed Jul 10 09:04:42 2019 +0200
@@ -1709,8 +1709,9 @@
}
break;
case VARDEF:
- if (((JCVariableDecl)block.tree).sym == sym &&
- sym.owner.kind == MTH) { //only locals are captured
+ if ((((JCVariableDecl)block.tree).sym == sym &&
+ sym.owner.kind == MTH) || //only locals are captured
+ (block.locals != null && block.locals.contains(sym))) {
return currentDepth > depth ? null : block.tree;
}
break;