1.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Code.java Tue Jan 13 10:25:24 2015 +0100 1.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Code.java Thu Mar 26 11:34:50 2015 +0100 1.3 @@ -2172,7 +2172,11 @@ 1.4 boolean keepLocalVariables = varDebugInfo || 1.5 (var.sym.isExceptionParameter() && var.sym.hasTypeAnnotations()); 1.6 if (!keepLocalVariables) return; 1.7 - if ((var.sym.flags() & Flags.SYNTHETIC) != 0) return; 1.8 + //don't keep synthetic vars, unless they are lambda method parameters 1.9 + boolean ignoredSyntheticVar = (var.sym.flags() & Flags.SYNTHETIC) != 0 && 1.10 + ((var.sym.owner.flags() & Flags.LAMBDA_METHOD) == 0 || 1.11 + (var.sym.flags() & Flags.PARAMETER) == 0); 1.12 + if (ignoredSyntheticVar) return; 1.13 if (varBuffer == null) 1.14 varBuffer = new LocalVar[20]; 1.15 else