aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/java/lang
diff options
context:
space:
mode:
authormhaupt <none@none>2016-04-29 15:30:43 +0200
committermhaupt <none@none>2016-04-29 15:30:43 +0200
commitd960df53c7b82ac6af321836cb7d14ea4d11595e (patch)
tree89b663bfd1423de4c6396690727a2c4b36be9c0b /src/share/classes/java/lang
parent803b9e96b1bb25479a242c90ec624e92b1b60925 (diff)
downloadjdk8u_jdk-d960df53c7b82ac6af321836cb7d14ea4d11595e.tar.gz
8155106: MHs.Lookup.findConstructor returns handles for array classes
Reviewed-by: sundar
Diffstat (limited to 'src/share/classes/java/lang')
-rw-r--r--src/share/classes/java/lang/invoke/MethodHandles.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/share/classes/java/lang/invoke/MethodHandles.java b/src/share/classes/java/lang/invoke/MethodHandles.java
index 8511890481..3985340039 100644
--- a/src/share/classes/java/lang/invoke/MethodHandles.java
+++ b/src/share/classes/java/lang/invoke/MethodHandles.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -916,6 +916,9 @@ assertEquals("[x, y, z]", pb.command().toString());
* @throws NullPointerException if any argument is null
*/
public MethodHandle findConstructor(Class<?> refc, MethodType type) throws NoSuchMethodException, IllegalAccessException {
+ if (refc.isArray()) {
+ throw new NoSuchMethodException("no constructor for array class: " + refc.getName());
+ }
String name = "<init>";
MemberName ctor = resolveOrFail(REF_newInvokeSpecial, refc, name, type);
return getDirectConstructor(refc, ctor);