diff --git a/plugins/devkit/devkit-core/src/dom/impl/ExtensionDomExtender.java b/plugins/devkit/devkit-core/src/dom/impl/ExtensionDomExtender.java index 88d8d38c89d5..596b90b6d4ab 100644 --- a/plugins/devkit/devkit-core/src/dom/impl/ExtensionDomExtender.java +++ b/plugins/devkit/devkit-core/src/dom/impl/ExtensionDomExtender.java @@ -1,4 +1,4 @@ -// Copyright 2000-2022 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.idea.devkit.dom.impl; import com.google.common.base.CaseFormat; @@ -105,11 +105,17 @@ public class ExtensionDomExtender extends DomExtender { @Override public void visitTagOrProperty(@NotNull PsiField field, @NotNull String tagName, RequiredFlag required) { + boolean isBoolean = PsiTypes.booleanType().equals(field.getType()); + final DomExtension extension = - registrar.registerFixedNumberChildExtension(new XmlName(tagName), SimpleTagValue.class) + registrar.registerFixedNumberChildExtension(new XmlName(tagName), isBoolean ? SimpleBooleanTagValue.class : SimpleTagValue.class) .setDeclaringElement(field); markAsRequired(extension, required); + if (isBoolean) { + return; + } + final With withElement = findWithElement(elements, field); markAsClass(extension, Extension.isClassField(field.getName()), withElement); @@ -263,6 +269,9 @@ public class ExtensionDomExtender extends DomExtender { public interface SimpleTagValue extends GenericDomValue { } + public interface SimpleBooleanTagValue extends GenericDomValue { + } + @SuppressWarnings("ClassExplicitlyAnnotation") private static class MyNoSpellchecking implements NoSpellchecking {