< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java

Print this page
*** 647,10 ***
--- 647,11 ---
       */
      boolean needsConversionToLambda(JCMemberReference tree) {
          return interfaceParameterIsIntersectionOrUnionType(tree) ||
                  tree.hasKind(ReferenceKind.SUPER) ||
                  needsVarArgsConversion(tree) ||
+                 tree.codeReflectionInfo != null ||
                  isArrayOp(tree) ||
                  (!target.runtimeUseNestAccess() && isPrivateInOtherClass(tree)) ||
                  isProtectedInSuperClassOfEnclosingClassInOtherPackage(tree.sym, env.enclClass.sym) ||
                  !receiverAccessible(tree) ||
                  (tree.getMode() == ReferenceMode.NEW &&

*** 689,10 ***
--- 690,11 ---
                  JCLambda slam = make.Lambda(params.toList(), expr);
                  slam.target = tree.target;
                  slam.owner = tree.owner;
                  slam.type = tree.type;
                  slam.pos = tree.pos;
+                 slam.codeReflectionInfo = tree.codeReflectionInfo;
                  slam.wasMethodReference = true;
                  if (receiverExpression != null) {
                      // use a let expression so that the receiver expression is evaluated eagerly
                      return make.at(tree.pos).LetExpr(
                              make.VarDef(rcvr, receiverExpression), slam).setType(tree.type);
< prev index next >