mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-30103 Don't wrap methods with only one parameter apart from self
because in Python it would make all methods that expect an argument, even as simple as property setters, to wrap.
This commit is contained in:
@@ -226,10 +226,12 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i
|
||||
firstParamOffset++;
|
||||
|
||||
boolean first = true;
|
||||
for (PyCallableParameter parameter : function.getParameters(context)) {
|
||||
boolean firstIsSelf = false;
|
||||
final List<PyCallableParameter> parameters = function.getParameters(context);
|
||||
for (PyCallableParameter parameter : parameters) {
|
||||
if (!first) {
|
||||
result.append(",");
|
||||
if (forTooltip) {
|
||||
if (forTooltip || firstIsSelf && parameters.size() == 2) {
|
||||
result.append(CommonXmlStrings.NBSP);
|
||||
}
|
||||
else {
|
||||
@@ -239,6 +241,9 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i
|
||||
StringUtil.repeatSymbol(result, ' ', firstParamOffset);
|
||||
}
|
||||
}
|
||||
else {
|
||||
firstIsSelf = parameter.isSelf();
|
||||
}
|
||||
result.append(escaped(StringUtil.notNullize(parameter.getName(), PyNames.UNNAMED_ELEMENT)))
|
||||
.append(saveSpaces(": "));
|
||||
result.append(formatTypeWithLinks(parameter.getType(context), function, context));
|
||||
|
||||
@@ -1 +1 @@
|
||||
<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>,<br> 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>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>,<br> 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>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>,<br> 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>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>,<br> 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>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>,<br> 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>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>,<br> 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><a href="psi_element://#typename#list">list</a><br>def <b>count</b>(self: <a href="psi_element://#typename#list">list</a>,<br> object: _T) -> <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>L.count(value) -> integer -- return number of occurrences of value</div><table class='sections'><tr><td valign='top' class='section'><p>Assigned to:</td><td valign='top'><code>c1</code></td></table></body></html>
|
||||
<html><body><div class='definition'><pre><a href="psi_element://#typename#list">list</a><br>def <b>count</b>(self: <a href="psi_element://#typename#list">list</a>, object: _T) -> <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>L.count(value) -> integer -- return number of occurrences of value</div><table class='sections'><tr><td valign='top' class='section'><p>Assigned to:</td><td valign='top'><code>c1</code></td></table></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
<html><body><div class='definition'><pre><a href="psi_element://#typename#SingleArgumentMethodNotWrapped.MyClass">SingleArgumentMethodNotWrapped.MyClass</a><br>def <b>method</b>(self: <a href="psi_element://#typename#MyClass">MyClass</a>, param: Any) -> None</pre></div></body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
class MyClass:
|
||||
def met<the_ref>hod(self, param):
|
||||
pass
|
||||
@@ -460,6 +460,11 @@ public class PyQuickDocTest extends LightMarkedTestCase {
|
||||
runWithLanguageLevel(LanguageLevel.PYTHON35, this::checkHTMLOnly);
|
||||
}
|
||||
|
||||
// PY-30103
|
||||
public void testSingleArgumentMethodNotWrapped() {
|
||||
checkHTMLOnly();
|
||||
}
|
||||
|
||||
// PY-30103
|
||||
public void testReturnTypeWrappedBecauseTooLongItself() {
|
||||
runWithLanguageLevel(LanguageLevel.PYTHON35, this::checkHTMLOnly);
|
||||
|
||||
Reference in New Issue
Block a user