diff -r 65ea6f3b72d9 -r 567df1379253 langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Mon May 06 16:22:45 2013 +0200 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Tue May 07 06:39:34 2013 -0700 @@ -1252,8 +1252,17 @@ List ptypes = ((MethodType) consSym.type).getParameterTypes(); Type classType = consSym.owner.type; + // Build lambda parameters + // partially cloned from TreeMaker.Params until 8014021 is fixed + Symbol owner = owner(); + ListBuffer paramBuff = new ListBuffer(); + int i = 0; + for (List l = ptypes; l.nonEmpty(); l = l.tail) { + paramBuff.append(make.Param(make.paramName(i++), l.head, owner)); + } + List params = paramBuff.toList(); + // Make new-class call - List params = make.Params(ptypes, owner()); JCNewClass nc = makeNewClass(classType, make.Idents(params)); nc.pos = tree.pos;