< prev index next > src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java
Print this page
*/
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 &&
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 >