mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-29717 Unify headers for properties and attributes
* normalize capitalization * get rid of excess <code/> tags inside <pre/> * use the same way to get links to classes * always show fully qualified names of definition classes * don't add base classes for definition classes
This commit is contained in:
@@ -239,9 +239,13 @@ public class PyDocumentationBuilder {
|
||||
|
||||
final AccessDirection direction = AccessDirection.of((PyElement)outerElement);
|
||||
final Maybe<PyCallable> accessor = property.getByDirection(direction);
|
||||
myProlog.addItem("property ").addWith(TagBold, $().addWith(TagCode, $(elementName)))
|
||||
.addItem(" of ")
|
||||
.add(PythonDocumentationProvider.describeClass(cls, Function.identity(), TO_ONE_LINE_AND_ESCAPE, true, true, myContext));
|
||||
final String link = getLinkToClass(cls, true);
|
||||
if (link != null) {
|
||||
myProlog.addItem("Property ")
|
||||
.addWith(TagBold, $(elementName))
|
||||
.addItem(" of ")
|
||||
.addItem(link);
|
||||
}
|
||||
|
||||
// Choose appropriate docstring
|
||||
String docstring = null;
|
||||
@@ -349,12 +353,13 @@ public class PyDocumentationBuilder {
|
||||
else if (elementDefinition instanceof PyTargetExpression) {
|
||||
final PyTargetExpression target = (PyTargetExpression)elementDefinition;
|
||||
if (isAttribute() && !isProperty) {
|
||||
final String type = PyUtil.isInstanceAttribute(target) ? "Instance attribute " : "Class attribute ";
|
||||
myProlog
|
||||
.addItem(type)
|
||||
.addWith(TagBold, $().addWith(TagCode, $(elementDefinition.getName())))
|
||||
.addItem(" of class ")
|
||||
.addItem(PyDocumentationLink.toContainingClass(WRAP_IN_CODE.apply(target.getContainingClass().getName())));
|
||||
@SuppressWarnings("ConstantConditions") final String link = getLinkToClass(target.getContainingClass(), true);
|
||||
if (link != null) {
|
||||
myProlog.addItem(PyUtil.isInstanceAttribute(target) ? "Instance attribute " : "Class attribute ")
|
||||
.addWith(TagBold, $(elementDefinition.getName()))
|
||||
.addItem(" of ")
|
||||
.addItem(link);
|
||||
}
|
||||
}
|
||||
myBody.add(PythonDocumentationProvider.describeTarget(target, myContext));
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>Class attribute <b><code>the_attr</code></b> of class <a href="psi_element://#class#"><code>C</code></a><br>the_attr: <a href="psi_element://#typename#str">str</a> = ""</pre></div><div class='content'>The documentation for the attribute.</div></body></html>
|
||||
<html><body><div class='definition'><pre>Class attribute <b>the_attr</b> of <a href="psi_element://#typename#ClassAttr.C">ClassAttr.C</a><br>the_attr: <a href="psi_element://#typename#str">str</a> = ""</pre></div><div class='content'>The documentation for the attribute.</div></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>Instance attribute <b><code>foo</code></b> of class <a href="psi_element://#class#"><code>C</code></a><br>foo: <a href="psi_element://#typename#str">str</a> = "Foo"</pre></div><div class='content'>The docstring for the attribute foo.</div></body></html>
|
||||
<html><body><div class='definition'><pre>Instance attribute <b>foo</b> of <a href="psi_element://#typename#InstanceAttr.C">InstanceAttr.C</a><br>foo: <a href="psi_element://#typename#str">str</a> = "Foo"</pre></div><div class='content'>The docstring for the attribute foo.</div></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>x</code></b> of class <a href="psi_element://#class#">A</a>(<a href="psi_element://#typename#object">object</a>)<br>@<i>x.deleter</i><br>def <b>x</b>(self: <a href="psi_element://#typename#A">A</a>, v: Any) -> None</pre></div><div class='content'>Deletes X</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Deleter</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>x</b> of <a href="psi_element://#typename#PropNewDeleter.A">PropNewDeleter.A</a><br>@<i>x.deleter</i><br>def <b>x</b>(self: <a href="psi_element://#typename#A">A</a>, v: Any) -> None</pre></div><div class='content'>Deletes X</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Deleter</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>m</code></b> of class <a href="psi_element://#class#">C</a><br>@<i>m.setter</i><br>def <b>m</b>(self: <a href="psi_element://#typename#C">C</a>, x: Any) -> None</pre></div><div class='content'>Foo</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'>property getter</td><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>m</b> of <a href="psi_element://#typename#PropNewDocstringOfGetter.C">PropNewDocstringOfGetter.C</a><br>@<i>m.setter</i><br>def <b>m</b>(self: <a href="psi_element://#typename#C">C</a>, x: Any) -> None</pre></div><div class='content'>Foo</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'>property getter</td><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>x</code></b> of class <a href="psi_element://#class#">A</a>(<a href="psi_element://#typename#object">object</a>)<br>@<i>property</i><br>def <b>x</b>(self: <a href="psi_element://#typename#A">A</a>) -> <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>Does things to X</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Getter</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>x</b> of <a href="psi_element://#typename#PropNewGetter.A">PropNewGetter.A</a><br>@<i>property</i><br>def <b>x</b>(self: <a href="psi_element://#typename#A">A</a>) -> <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>Does things to X</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Getter</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>x</code></b> of class <a href="psi_element://#class#">A</a>(<a href="psi_element://#typename#object">object</a>)<br>@<i>x.setter</i><br>def <b>x</b>(self: <a href="psi_element://#typename#A">A</a>, v: Any) -> None</pre></div><div class='content'>Sets X</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>x</b> of <a href="psi_element://#typename#PropNewSetter.A">PropNewSetter.A</a><br>@<i>x.setter</i><br>def <b>x</b>(self: <a href="psi_element://#typename#A">A</a>, v: Any) -> None</pre></div><div class='content'>Sets X</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>attr</code></b> of class <a href="psi_element://#class#">C</a>(<a href="psi_element://#typename#object">object</a>)<br>@<i>property</i><br>def <b>attr</b>(self: <a href="psi_element://#typename#C">C</a>) -> <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>Docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'>property getter</td><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter (not defined)</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>attr</b> of <a href="psi_element://#typename#PropNewUndefinedSetter.C">PropNewUndefinedSetter.C</a><br>@<i>property</i><br>def <b>attr</b>(self: <a href="psi_element://#typename#C">C</a>) -> <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>Docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'>property getter</td><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter (not defined)</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>x</code></b> of class <a href="psi_element://#class#">A</a>(<a href="psi_element://#typename#object">object</a>)<br>def <b>__getX</b>(self: <a href="psi_element://#typename#A">A</a>) -> Any</pre></div><div class='content'>Doc of getter</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Deleter</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>x</b> of <a href="psi_element://#typename#PropOldDeleter.A">PropOldDeleter.A</a><br>def <b>__getX</b>(self: <a href="psi_element://#typename#A">A</a>) -> Any</pre></div><div class='content'>Doc of getter</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Deleter</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>attr</code></b> of class <a href="psi_element://#class#">C</a><br>def <b>_set</b>(self: <a href="psi_element://#typename#C">C</a>, x: Any) -> None</pre></div><div class='content'>Docstring</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>attr</b> of <a href="psi_element://#typename#PropOldDocParamOfPropertyCall.C">PropOldDocParamOfPropertyCall.C</a><br>def <b>_set</b>(self: <a href="psi_element://#typename#C">C</a>, x: Any) -> None</pre></div><div class='content'>Docstring</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>attr</code></b> of class <a href="psi_element://#class#">C</a><br>def <b>_set</b>(self: <a href="psi_element://#typename#C">C</a>, x: Any) -> None</pre></div><div class='content'>Getter.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'>property getter</td><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>attr</b> of <a href="psi_element://#typename#PropOldDocstringOfGetter.C">PropOldDocstringOfGetter.C</a><br>def <b>_set</b>(self: <a href="psi_element://#typename#C">C</a>, x: Any) -> None</pre></div><div class='content'>Getter.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'>property getter</td><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>x</code></b> of class <a href="psi_element://#class#">A</a>(<a href="psi_element://#typename#object">object</a>)<br>def <b>__getX</b>(self: <a href="psi_element://#typename#A">A</a>) -> Any</pre></div><div class='content'>Doc of getter</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Getter</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>x</b> of <a href="psi_element://#typename#PropOldGetter.A">PropOldGetter.A</a><br>def <b>__getX</b>(self: <a href="psi_element://#typename#A">A</a>) -> Any</pre></div><div class='content'>Doc of getter</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Getter</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>x</code></b> of class <a href="psi_element://#class#">A</a>(<a href="psi_element://#typename#object">object</a>)<br>def <b>__getX</b>(self: <a href="psi_element://#typename#A">A</a>, x: Any) -> None</pre></div><div class='content'>Doc of getter</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>x</b> of <a href="psi_element://#typename#PropOldSetter.A">PropOldSetter.A</a><br>def <b>__getX</b>(self: <a href="psi_element://#typename#A">A</a>, x: Any) -> None</pre></div><div class='content'>Doc of getter</div><table class='sections'><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter</td></table></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class='definition'><pre>property <b><code>attr</code></b> of class <a href="psi_element://#class#">C</a>(<a href="psi_element://#typename#object">object</a>)<br>def <b>_get</b>(self: <a href="psi_element://#typename#C">C</a>) -> <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>Docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'>property getter</td><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter (not defined)</td></table></body></html>
|
||||
<html><body><div class='definition'><pre>Property <b>attr</b> of <a href="psi_element://#typename#PropOldUndefinedSetter.C">PropOldUndefinedSetter.C</a><br>def <b>_get</b>(self: <a href="psi_element://#typename#C">C</a>) -> <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>Docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'>property getter</td><tr><td valign='top' class='section'><p>Accessor kind:</td><td valign='top'>Setter (not defined)</td></table></body></html>
|
||||
Reference in New Issue
Block a user