diff --git a/src/java.compiler/share/classes/javax/lang/model/util/Types.java b/src/java.compiler/share/classes/javax/lang/model/util/Types.java
index e7212a7e0be..f632135a899 100644
--- a/src/java.compiler/share/classes/javax/lang/model/util/Types.java
+++ b/src/java.compiler/share/classes/javax/lang/model/util/Types.java
@@ -74,6 +74,7 @@ public interface Types {
* Types without corresponding elements include:
*
* - {@linkplain TypeKind#isPrimitive() primitive types}
+ *
- {@linkplain TypeKind#ARRAY array types}
*
- {@linkplain TypeKind#EXECUTABLE executable types}
*
- {@linkplain TypeKind#NONE "none"} pseudo-types
*
- {@linkplain TypeKind#NULL null types}
diff --git a/test/langtools/tools/javac/processing/model/util/types/TestAsElement.java b/test/langtools/tools/javac/processing/model/util/types/TestAsElement.java
index 6ac714752c3..cc82c5adddd 100644
--- a/test/langtools/tools/javac/processing/model/util/types/TestAsElement.java
+++ b/test/langtools/tools/javac/processing/model/util/types/TestAsElement.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2023, 2026, 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
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 8300857
+ * @bug 8300857 8379156
* @summary Test Types.asElement in cases specified to return null
* @library /tools/javac/lib
* @build JavacTestingAbstractProcessor TestAsElement
@@ -55,18 +55,23 @@ public class TestAsElement extends JavacTestingAbstractProcessor {
}
private void testNullCases() {
- // Test all primitive types
+ // Test all primitive types and arrays of primitive types
for (TypeKind typeKind : TypeKind.values()) {
if (typeKind.isPrimitive() ) {
- expectNullAsElement(typeUtils.getPrimitiveType(typeKind));
+ var primType = typeUtils.getPrimitiveType(typeKind);
+ expectNullAsElement(primType);
+ expectNullAsElement(typeUtils.getArrayType(primType));
}
}
expectNullAsElement(typeUtils.getNoType(TypeKind.VOID));
expectNullAsElement(typeUtils.getNoType(TypeKind.NONE));
expectNullAsElement(typeUtils.getNullType());
- Element objectElement = eltUtils.getTypeElement("java.lang.Object");
- expectNullAsElement(typeUtils.getWildcardType(objectElement.asType(), null));
+ Element objectElement = eltUtils.getTypeElement("java.lang.Object");
+ TypeMirror objectType = objectElement.asType();
+ expectNullAsElement(typeUtils.getWildcardType(objectType, null));
+ // check Object[]
+ expectNullAsElement(typeUtils.getArrayType(objectType));
// Loop over the ExecutableTypes for Object's methods
for(var methodElt : ElementFilter.methodsIn(objectElement.getEnclosedElements())) {