1377 |
1377 |
1378 private LambdaTranslationContext analyzeLambda(JCLambda tree, String statKey) { |
1378 private LambdaTranslationContext analyzeLambda(JCLambda tree, String statKey) { |
1379 List<Frame> prevStack = frameStack; |
1379 List<Frame> prevStack = frameStack; |
1380 try { |
1380 try { |
1381 LambdaTranslationContext context = new LambdaTranslationContext(tree); |
1381 LambdaTranslationContext context = new LambdaTranslationContext(tree); |
1382 if (dumpLambdaToMethodStats) { |
|
1383 log.note(tree, statKey, context.needsAltMetafactory(), context.translatedSym); |
|
1384 } |
|
1385 frameStack = frameStack.prepend(new Frame(tree)); |
1382 frameStack = frameStack.prepend(new Frame(tree)); |
1386 for (JCVariableDecl param : tree.params) { |
1383 for (JCVariableDecl param : tree.params) { |
1387 context.addSymbol(param.sym, PARAM); |
1384 context.addSymbol(param.sym, PARAM); |
1388 frameStack.head.addLocal(param.sym); |
1385 frameStack.head.addLocal(param.sym); |
1389 } |
1386 } |
1390 contextMap.put(tree, context); |
1387 contextMap.put(tree, context); |
1391 super.visitLambda(tree); |
1388 super.visitLambda(tree); |
1392 context.complete(); |
1389 context.complete(); |
|
1390 if (dumpLambdaToMethodStats) { |
|
1391 log.note(tree, statKey, context.needsAltMetafactory(), context.translatedSym); |
|
1392 } |
1393 return context; |
1393 return context; |
1394 } |
1394 } |
1395 finally { |
1395 finally { |
1396 frameStack = prevStack; |
1396 frameStack = prevStack; |
1397 } |
1397 } |