From f74c08b2d9835bebf6af58efa0cf184eab757b93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9bron?= Date: Thu, 23 May 2013 19:54:27 +0200 Subject: [PATCH] DevKit: support extension attributes with boolean type --- plugins/devkit/src/dom/impl/ExtensionDomExtender.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plugins/devkit/src/dom/impl/ExtensionDomExtender.java b/plugins/devkit/src/dom/impl/ExtensionDomExtender.java index c53452c60bef..9df69bca965d 100644 --- a/plugins/devkit/src/dom/impl/ExtensionDomExtender.java +++ b/plugins/devkit/src/dom/impl/ExtensionDomExtender.java @@ -174,9 +174,14 @@ public class ExtensionDomExtender extends DomExtender { if (attrAnno != null) { final String attrName = getStringAttribute(attrAnno, "value", evalHelper); if (attrName != null) { - boolean isClass = withElement != null || isClassField(fieldName); + Class clazz = String.class; + if (withElement != null || isClassField(fieldName)) { + clazz = PsiClass.class; + } else if (field.getType() == PsiType.BOOLEAN) { + clazz = Boolean.class; + } final DomExtension extension = - registrar.registerGenericAttributeValueChildExtension(new XmlName(attrName), isClass ? PsiClass.class : String.class).setDeclaringElement(field); + registrar.registerGenericAttributeValueChildExtension(new XmlName(attrName), clazz).setDeclaringElement(field); markAsClass(extension, fieldName, withElement); } return;