8277980: ObjectMethods::bootstrap throws NPE when lookup is null
Reviewed-by: jjg
This commit is contained in:
parent
3893f4f70b
commit
03bf55f620
@ -396,15 +396,15 @@ public class ObjectMethods {
|
||||
* if invoked by a condy
|
||||
* @throws IllegalArgumentException if the bootstrap arguments are invalid
|
||||
* or inconsistent
|
||||
* @throws NullPointerException if any argument but {@code lookup} is {@code null},
|
||||
* in the case of the {@code getters} argument, its
|
||||
* contents cannot be {@code null} either
|
||||
* @throws NullPointerException if any argument is {@code null} or if any element
|
||||
* in the {@code getters} array is {@code null}
|
||||
* @throws Throwable if any exception is thrown during call site construction
|
||||
*/
|
||||
public static Object bootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type,
|
||||
Class<?> recordClass,
|
||||
String names,
|
||||
MethodHandle... getters) throws Throwable {
|
||||
requireNonNull(lookup);
|
||||
requireNonNull(methodName);
|
||||
requireNonNull(type);
|
||||
requireNonNull(recordClass);
|
||||
|
@ -166,6 +166,7 @@ public class ObjectMethodsTest {
|
||||
assertThrows(NPE, () -> ObjectMethods.bootstrap(LOOKUP, npt.mn(), npt.mt(), null, "x;y", C.ACCESSORS));
|
||||
assertThrows(NPE, () -> ObjectMethods.bootstrap(LOOKUP, npt.mn(), null, C.class, "x;y", C.ACCESSORS));
|
||||
assertThrows(NPE, () -> ObjectMethods.bootstrap(LOOKUP, null, npt.mt(), C.class, "x;y", C.ACCESSORS));
|
||||
assertThrows(NPE, () -> ObjectMethods.bootstrap(null, npt.mn(), npt.mt(), C.class, "x;y", C.ACCESSORS));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user