1.1 --- a/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Wed Apr 30 23:59:45 2014 -0700 1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Thu May 01 11:35:02 2014 -0700 1.3 @@ -438,13 +438,9 @@ 1.4 public void visitVarDef(JCVariableDecl tree) { 1.5 LambdaTranslationContext lambdaContext = (LambdaTranslationContext)context; 1.6 if (context != null && lambdaContext.getSymbolMap(LOCAL_VAR).containsKey(tree.sym)) { 1.7 - JCExpression init = translate(tree.init); 1.8 - int prevPos = make.pos; 1.9 - try { 1.10 - result = make.at(tree).VarDef((VarSymbol)lambdaContext.getSymbolMap(LOCAL_VAR).get(tree.sym), init); 1.11 - } finally { 1.12 - make.at(prevPos); 1.13 - } 1.14 + tree.init = translate(tree.init); 1.15 + tree.sym = (VarSymbol) lambdaContext.getSymbolMap(LOCAL_VAR).get(tree.sym); 1.16 + result = tree; 1.17 } else if (context != null && lambdaContext.getSymbolMap(TYPE_VAR).containsKey(tree.sym)) { 1.18 JCExpression init = translate(tree.init); 1.19 VarSymbol xsym = (VarSymbol)lambdaContext.getSymbolMap(TYPE_VAR).get(tree.sym); 1.20 @@ -1895,7 +1891,7 @@ 1.21 }; 1.22 break; 1.23 case LOCAL_VAR: 1.24 - ret = new VarSymbol(sym.flags() & FINAL, name, types.erasure(sym.type), translatedSym); 1.25 + ret = new VarSymbol(sym.flags() & FINAL, name, sym.type, translatedSym); 1.26 ((VarSymbol) ret).pos = ((VarSymbol) sym).pos; 1.27 break; 1.28 case PARAM: