mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8219483: j.l.c.ClassDesc::nested(String, String...) doesn't throw NPE if any arg is null
Reviewed-by: darcy
This commit is contained in:
parent
5a264ba9db
commit
c7faef0785
2 changed files with 30 additions and 1 deletions
|
@ -213,7 +213,7 @@ public interface ClassDesc
|
|||
* @param moreNestedNames the unqualified name(s) of the remaining levels of
|
||||
* nested class
|
||||
* @return a {@linkplain ClassDesc} describing the nested class
|
||||
* @throws NullPointerException if any argument is {@code null}
|
||||
* @throws NullPointerException if any argument or its contents is {@code null}
|
||||
* @throws IllegalStateException if this {@linkplain ClassDesc} does not
|
||||
* describe a class or interface type
|
||||
* @throws IllegalArgumentException if the nested class name is invalid
|
||||
|
@ -221,6 +221,11 @@ public interface ClassDesc
|
|||
default ClassDesc nested(String firstNestedName, String... moreNestedNames) {
|
||||
if (!isClassOrInterface())
|
||||
throw new IllegalStateException("Outer class is not a class or interface type");
|
||||
validateMemberName(firstNestedName, false);
|
||||
requireNonNull(moreNestedNames);
|
||||
for (String addNestedNames : moreNestedNames) {
|
||||
validateMemberName(addNestedNames, false);
|
||||
}
|
||||
return moreNestedNames.length == 0
|
||||
? nested(firstNestedName)
|
||||
: nested(firstNestedName + Stream.of(moreNestedNames).collect(joining("$", "$", "")));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue