--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java Wed Jun 14 20:05:01 2017 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java Thu Jun 15 13:44:42 2017 +0200
@@ -58,6 +58,7 @@
import static com.sun.tools.javac.code.Type.*;
import static com.sun.tools.javac.code.TypeTag.*;
import static com.sun.tools.javac.jvm.ClassFile.externalize;
+import com.sun.tools.javac.resources.CompilerProperties.Fragments;
/**
* Utility class containing various operations on types.
@@ -374,7 +375,7 @@
if (!chk.checkValidGenericType(site)) {
//if the inferred functional interface type is not well-formed,
//or if it's not a subtype of the original target, issue an error
- throw failure(diags.fragment("no.suitable.functional.intf.inst", site));
+ throw failure(diags.fragment(Fragments.NoSuitableFunctionalIntfInst(site)));
}
return memberType(site, descSym);
}
@@ -434,13 +435,13 @@
} else {
//the target method(s) should be the only abstract members of t
throw failure("not.a.functional.intf.1", origin,
- diags.fragment("incompatible.abstracts", Kinds.kindName(origin), origin));
+ diags.fragment(Fragments.IncompatibleAbstracts(Kinds.kindName(origin), origin)));
}
}
if (abstracts.isEmpty()) {
//t must define a suitable non-generic method
throw failure("not.a.functional.intf.1", origin,
- diags.fragment("no.abstracts", Kinds.kindName(origin), origin));
+ diags.fragment(Fragments.NoAbstracts(Kinds.kindName(origin), origin)));
} else if (abstracts.size() == 1) {
return new FunctionDescriptor(abstracts.first());
} else { // size > 1
@@ -456,9 +457,11 @@
desc.type.getReturnType(),
desc.type.getThrownTypes()));
}
+ JCDiagnostic msg =
+ diags.fragment(Fragments.IncompatibleDescsInFunctionalIntf(Kinds.kindName(origin),
+ origin));
JCDiagnostic.MultilineDiagnostic incompatibleDescriptors =
- new JCDiagnostic.MultilineDiagnostic(diags.fragment("incompatible.descs.in.functional.intf",
- Kinds.kindName(origin), origin), descriptors.toList());
+ new JCDiagnostic.MultilineDiagnostic(msg, descriptors.toList());
throw failure(incompatibleDescriptors);
}
return descRes;