mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
[devkit] Extension Point Docs: enumerate EP's beanClass properties (IDEA-228390)
GitOrigin-RevId: cc681134d848128abec2740aa84cb20aa5f92d40
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e858a51cdb
commit
85546692bc
@@ -1,7 +1,18 @@
|
||||
package bar;
|
||||
|
||||
import com.intellij.openapi.extensions.RequiredElement;
|
||||
import com.intellij.util.xmlb.annotations.Attribute;
|
||||
import com.intellij.util.xmlb.annotations.Tag;
|
||||
|
||||
/**
|
||||
* MyExtensionPoint JavaDoc.
|
||||
*/
|
||||
public interface MyExtensionPoint {
|
||||
public class MyExtensionPoint {
|
||||
|
||||
@RequiredElement
|
||||
@Attribute
|
||||
public String implementationClass;
|
||||
|
||||
@Tag
|
||||
public Integer intValue;
|
||||
}
|
||||
@@ -5,7 +5,6 @@
|
||||
<extensionPoints>
|
||||
<extensionPoint name="bar" beanClass="bar.MyExtensionPoint">
|
||||
<with attribute="implementationClass" implements="bar.MyExtension"/>
|
||||
<with tag="tagName" implements="java.lang.Integer"/>
|
||||
</extensionPoint>
|
||||
</extensionPoints>
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
<extensionPoints>
|
||||
<extensionPoint qualifiedName="foo.bar" beanClass="bar.MyExtensionPoint">
|
||||
<with attribute="implementationClass" implements="bar.MyExtension"/>
|
||||
<with tag="tagName" implements="java.lang.Integer"/>
|
||||
</extensionPoint>
|
||||
</extensionPoints>
|
||||
|
||||
|
||||
@@ -30,6 +30,9 @@ public class ExtensionPointDocumentationProviderTest extends LightJavaCodeInsigh
|
||||
private void doBeanClassExtensionPointTest(String pluginXml) {
|
||||
myFixture.configureByFiles(pluginXml,
|
||||
"bar/MyExtensionPoint.java", "bar/MyExtension.java");
|
||||
myFixture.addClass("package com.intellij.openapi.extensions; public @interface RequiredElement {}");
|
||||
myFixture.addClass("package com.intellij.util.xmlb.annotations; public @interface Attribute {}");
|
||||
myFixture.addClass("package com.intellij.util.xmlb.annotations; public @interface Tag {}");
|
||||
|
||||
final PsiElement docElement =
|
||||
DocumentationManager.getInstance(getProject()).findTargetElement(myFixture.getEditor(),
|
||||
@@ -44,9 +47,12 @@ public class ExtensionPointDocumentationProviderTest extends LightJavaCodeInsigh
|
||||
provider.getQuickNavigateInfo(docElement, getOriginalElement()));
|
||||
|
||||
assertEquals(
|
||||
"<div class='definition'><pre><b>foo.bar</b><br>" + pluginXml +"<div class='definition'><pre>bar<br>public interface <b>MyExtensionPoint</b></pre></div><div class='content'>\n" +
|
||||
"<div class='definition'><pre><b>foo.bar</b><br>" +
|
||||
pluginXml +
|
||||
"<div class='definition'><pre>bar<br>public class <b>MyExtensionPoint</b>\n" +
|
||||
"extends <a href=\"psi_element://java.lang.Object\"><code>Object</code></a></pre></div><div class='content'>\n" +
|
||||
" MyExtensionPoint JavaDoc.\n" +
|
||||
" </div><table class='sections'><p></table><table class='sections'><tr><td valign='top' class='section'><p>implementationClass:</td><td valign='top'><a href=\"psi_element://bar.MyExtension\"><code>MyExtension</code></a></td><tr><td valign='top' class='section'><p><tagName>:</td><td valign='top'><a href=\"psi_element://java.lang.Integer\"><code>Integer</code></a></td></table></pre></div><div class='content'><h2>Extension Point Implementation</h2><div class='definition'><pre>bar<br>public interface <b>MyExtension</b></pre></div><div class='content'>\n" +
|
||||
" </div><table class='sections'><p></table><table class='sections'><tr><td valign='top' class='section'><p><a href=\"psi_element://bar.MyExtensionPoint#implementationClass\"><code>implementationClass</code></a></td><td valign='top'>String (required)</td><tr><td valign='top' class='section'><p><a href=\"psi_element://bar.MyExtensionPoint#intValue\"><code><intValue></code></a></td><td valign='top'>Integer</td><br/></table></pre></div><div class='content'><h2>Extension Point Implementation</h2><div class='definition'><pre>bar<br>public interface <b>MyExtension</b></pre></div><div class='content'>\n" +
|
||||
" My Extension Javadoc.\n" +
|
||||
" </div><table class='sections'><p></table></div>",
|
||||
provider.generateDoc(docElement, getOriginalElement()));
|
||||
|
||||
Reference in New Issue
Block a user