From a881fe09ff10a8487492be1ab17da9f9d84c428e Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sun, 5 Apr 2026 19:49:27 +0200 Subject: [PATCH] refactor: replace deprecated EXTEND_CLASS_NAMES with SUPER_CLASSES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace JavaClassReferenceProvider.EXTEND_CLASS_NAMES (deprecated, scheduled for removal) with the supported SUPER_CLASSES option in ConstantValueClassConverter. Guard the option so it is only set when baseClass is non-empty, preserving the existing "any concrete non-interface class" semantics for constants like struts.configuration and struts.mapper.class that intentionally pass "". 🤖 Generated by AI Assistant Made-with: Cursor --- .../constant/contributor/ConstantValueClassConverter.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/intellij/struts2/model/constant/contributor/ConstantValueClassConverter.java b/src/main/java/com/intellij/struts2/model/constant/contributor/ConstantValueClassConverter.java index 16b6aee..3cd2b7c 100644 --- a/src/main/java/com/intellij/struts2/model/constant/contributor/ConstantValueClassConverter.java +++ b/src/main/java/com/intellij/struts2/model/constant/contributor/ConstantValueClassConverter.java @@ -54,9 +54,9 @@ class ConstantValueClassConverter extends ResolvingConverter implement javaClassReferenceProvider.setAllowEmpty(false); javaClassReferenceProvider.setOption(JavaClassReferenceProvider.CONCRETE, Boolean.TRUE); javaClassReferenceProvider.setOption(JavaClassReferenceProvider.NOT_INTERFACE, Boolean.TRUE); - // TODO: EXTEND_CLASS_NAMES is deprecated but no replacement is documented. - //noinspection deprecation - javaClassReferenceProvider.setOption(JavaClassReferenceProvider.EXTEND_CLASS_NAMES, new String[]{baseClass}); + if (!baseClass.isEmpty()) { + javaClassReferenceProvider.setOption(JavaClassReferenceProvider.SUPER_CLASSES, Collections.singletonList(baseClass)); + } } @NotNull