diff options
author | mhaupt <none@none> | 2016-04-29 15:30:43 +0200 |
---|---|---|
committer | mhaupt <none@none> | 2016-04-29 15:30:43 +0200 |
commit | d960df53c7b82ac6af321836cb7d14ea4d11595e (patch) | |
tree | 89b663bfd1423de4c6396690727a2c4b36be9c0b /src/share/classes/java/lang | |
parent | 803b9e96b1bb25479a242c90ec624e92b1b60925 (diff) | |
download | jdk8u_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.java | 5 |
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); |