diff -r 9bc1baa22a83 -r 46ac954e4a84 langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java --- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Tue May 14 13:55:35 2013 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Tue May 14 15:04:06 2013 -0700 @@ -422,8 +422,13 @@ JCVariableDecl t = (JCVariableDecl) node; JCModifiers mods = copy(t.mods, p); JCExpression vartype = copy(t.vartype, p); - JCExpression init = copy(t.init, p); - return M.at(t.pos).VarDef(mods, t.name, vartype, init); + if (t.nameexpr == null) { + JCExpression init = copy(t.init, p); + return M.at(t.pos).VarDef(mods, t.name, vartype, init); + } else { + JCExpression nameexpr = copy(t.nameexpr, p); + return M.at(t.pos).ReceiverVarDef(mods, nameexpr, vartype); + } } public JCTree visitWhileLoop(WhileLoopTree node, P p) {