mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
IDEA-228949 plugin.xml: fix resolving <with> "attribute" when @Attribute is defined on field
GitOrigin-RevId: ccad63d0367f0dc75bdccf5137f408817101e018
This commit is contained in:
committed by
intellij-monorepo-bot
parent
355bdf075d
commit
3adc832826
@@ -0,0 +1,7 @@
|
||||
public class ExtensionDefinesWithAttributeViaAnnotation {
|
||||
|
||||
@com.intellij.util.xmlb.annotations.Attribute("customAttributeName")
|
||||
private String myAttribute;
|
||||
|
||||
private String myAttributeWithoutAnnotation;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<idea-plugin>
|
||||
|
||||
<id>my.plugin</id>
|
||||
<vendor>DevKit</vendor>
|
||||
|
||||
<extensionPoints>
|
||||
<extensionPoint name="viaAttribute" beanClass="ExtensionDefinesWithAttributeViaAnnotation">
|
||||
<with attribute="<caret>" />
|
||||
</extensionPoint>
|
||||
</extensionPoints>
|
||||
</idea-plugin>
|
||||
@@ -0,0 +1,15 @@
|
||||
<idea-plugin>
|
||||
|
||||
<id>my.plugin</id>
|
||||
<vendor>DevKit</vendor>
|
||||
|
||||
<extensionPoints>
|
||||
<extensionPoint name="viaAttribute" beanClass="ExtensionDefinesWithAttributeViaAnnotation">
|
||||
<with attribute="customAttributeName" implements="java.lang.Runnable"/>
|
||||
|
||||
<with attribute="myAttributeWithoutAnnotation" implements="java.lang.Runnable"/>
|
||||
|
||||
<with attribute="<error descr="Cannot resolve extension point property 'myAttribute'">myAttribute</error>" implements="java.lang.Runnable"/>
|
||||
</extensionPoint>
|
||||
</extensionPoints>
|
||||
</idea-plugin>
|
||||
@@ -21,7 +21,7 @@
|
||||
<extensionPoint name="projectConfigurable"
|
||||
beanClass="com.intellij.openapi.options.ConfigurableEP"
|
||||
area="IDEA_PROJECT">
|
||||
<with attribute="instanceClass" implements="com.intellij.openapi.options.Configurable"/>
|
||||
<with attribute="instance" implements="com.intellij.openapi.options.Configurable"/>
|
||||
</extensionPoint>
|
||||
<extensionPoint name="generalOptionsProvider" beanClass="com.intellij.ide.GeneralSettingsConfigurableEP">
|
||||
<with attribute="instance" implements="com.intellij.openapi.options.SearchableConfigurable"/>
|
||||
|
||||
@@ -360,6 +360,16 @@ class PluginXmlFunctionalTest extends JavaCodeInsightFixtureTestCase {
|
||||
doHighlightingTest("extensionWithDefaultValuesInAnnotations.xml", "ExtBeanWithDefaultValuesInAnnotations.java")
|
||||
}
|
||||
|
||||
void testExtensionDefinesWithAttributeViaAnnotation() {
|
||||
doHighlightingTest("extensionDefinesWithAttributeViaAnnotation.xml", "ExtensionDefinesWithAttributeViaAnnotation.java")
|
||||
}
|
||||
|
||||
void testExtensionDefinesWithAttributeViaAnnotationCompletion() {
|
||||
myFixture.copyFileToProject("ExtensionDefinesWithAttributeViaAnnotation.java")
|
||||
myFixture.testCompletionVariants("extensionDefinesWithAttributeViaAnnotation-completion.xml",
|
||||
"customAttributeName", "myAttributeWithoutAnnotation")
|
||||
}
|
||||
|
||||
void testLanguageAttributeHighlighting() {
|
||||
configureLanguageAttributeTest()
|
||||
doHighlightingTest("languageAttribute.xml", "MyLanguageAttributeEPBean.java")
|
||||
|
||||
Reference in New Issue
Block a user