PY-29717 Get rid of excess escaping of spaces in function signatures

It's not necessary as in Quick Documentation a definition is wrapped in
<pre/> tag according to new guide lines, and in tooltips line breaks are
preserved thanks to UIUtil.getHtmlBody() used in HintUtil.prepareHintText().
This commit is contained in:
Mikhail Golubev
2018-06-09 15:59:39 +03:00
parent 7afb41757c
commit 69d61a8316
55 changed files with 81 additions and 65 deletions
@@ -148,15 +148,14 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i
if (!PyiUtil.isOverload(function, context)) {
final List<PyFunction> overloads = PyiUtil.getOverloads(function, context);
final Function<String, String> escaper = forTooltip ? Function.identity() : PythonDocumentationProvider::saveSpaces;
if (!overloads.isEmpty()) {
result.addItem(escaper.apply("\nPossible types:\n"));
result.addItem("\nPossible types:\n");
boolean first = true;
for (PyFunction overload : overloads) {
if (!first) {
result.addItem(escaper.apply("\n"));
result.addItem("\n");
}
result.addItem(escaper.apply("\u2022 ")); // &bull; -- bullet point
result.addItem("\u2022 "); // &bull; -- bullet point
describeTypeWithLinks(context.getType(overload), context, function, result);
first = false;
}
@@ -209,9 +208,9 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i
final StringBuilder result = new StringBuilder();
// TODO wrapping of long signatures
if (function.isAsync()) {
result.append(saveSpaces("async "));
result.append("async ");
}
result.append(saveSpaces("def "));
result.append("def ");
final String name = StringUtil.notNullize(function.getName(), PyNames.UNNAMED_ELEMENT);
int firstParamOffset = result.length() + name.length();
int lastLineOffset = 0;
@@ -232,10 +231,10 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i
if (!first) {
result.append(",");
if (forTooltip || firstIsSelf && parameters.size() == 2) {
result.append(CommonXmlStrings.NBSP);
result.append(" ");
}
else {
result.append(BR);
result.append("\n");
lastLineOffset = result.length();
// alignment
StringUtil.repeatSymbol(result, ' ', firstParamOffset);
@@ -246,7 +245,7 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i
}
result.append(escaped(StringUtil.notNullize(parameter.getName(), PyNames.UNNAMED_ELEMENT)));
if (!parameter.isSelf()) {
result.append(saveSpaces(": "));
result.append(": ");
result.append(formatTypeWithLinks(parameter.getType(context), function, context));
}
first = false;
@@ -255,10 +254,10 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i
result.append(")");
final int wrappingOffset = result.length();
result.append(saveSpaces(" -> "))
result.append(escaped(" -> "))
.append(formatTypeWithLinks(context.getReturnType(function), function, context));
if (!forTooltip && StringUtil.stripHtml(result.substring(lastLineOffset), false).length() > RETURN_TYPE_WRAPPING_THRESHOLD) {
result.insert(wrappingOffset, saveSpaces("\n "));
result.insert(wrappingOffset, "\n ");
}
return result.toString();
}
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#typename#AncestorClassDocstringForConstructor.Sub">AncestorClassDocstringForConstructor.Sub</a><br>def&nbsp;<b>__init__</b>(self)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#typename#AncestorClassDocstringForConstructor.Base">Base</a></code></td></table></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#typename#AncestorClassDocstringForConstructor.Sub">AncestorClassDocstringForConstructor.Sub</a><br>def <b>__init__</b>(self) -&gt; None</pre></div><div class='content'>Class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#typename#AncestorClassDocstringForConstructor.Base">Base</a></code></td></table></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#class#">Sub</a><br>def&nbsp;<b>__init__</b>(self)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code>Base</code></td></table></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#class#">Sub</a><br>def <b>__init__</b>(self) -&gt; None</pre></div><div class='content'>Class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code>Base</code></td></table></body></html>
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#ArgumentList">ArgumentList</a><br>def&nbsp;<b>foo</b>()&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.</div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#ArgumentList">ArgumentList</a><br>def <b>foo</b>() -&gt; None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.</div></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#AsyncFunctionQuickDoc">AsyncFunctionQuickDoc</a><br>async&nbsp;def&nbsp;<b>func</b>()&nbsp;-&gt;&nbsp;Any</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#AsyncFunctionQuickDoc">AsyncFunctionQuickDoc</a><br>async def <b>func</b>() -&gt; Any</pre></div></body></html>
@@ -1 +1 @@
async&nbsp;def&nbsp;func()&nbsp;-&gt;&nbsp;Any
async def func() -&gt; Any
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#__builtin__">__builtin__</a><br>def&nbsp;<b>len</b>(o:&nbsp;Sized)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a></pre></div><div class='content'>len(object)&nbsp;-&gt;&nbsp;integer<br><br>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;items&nbsp;of&nbsp;a&nbsp;sequence&nbsp;or&nbsp;collection.</div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#__builtin__">__builtin__</a><br>def <b>len</b>(o: Sized) -&gt; <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>len(object)&nbsp;-&gt;&nbsp;integer<br><br>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;items&nbsp;of&nbsp;a&nbsp;sequence&nbsp;or&nbsp;collection.</div></body></html>
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#CallFunc">CallFunc</a><br>def&nbsp;<b>foo</b>()&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.</div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#CallFunc">CallFunc</a><br>def <b>foo</b>() -&gt; None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.</div></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#typename#ClassDocstringForConstructor.MyClass">ClassDocstringForConstructor.MyClass</a><br>def&nbsp;<b>__init__</b>(self)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#typename#ClassDocstringForConstructor.MyClass">MyClass</a></code></td></table></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#typename#ClassDocstringForConstructor.MyClass">ClassDocstringForConstructor.MyClass</a><br>def <b>__init__</b>(self) -&gt; None</pre></div><div class='content'>Class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#typename#ClassDocstringForConstructor.MyClass">MyClass</a></code></td></table></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#typename#ClassUndocumentedConstructor.Foo">ClassUndocumentedConstructor.Foo</a><br>def&nbsp;<b>__init__</b>(self)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Doc&nbsp;of&nbsp;Foo.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#typename#ClassUndocumentedConstructor.Foo">Foo</a></code></td></table></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#typename#ClassUndocumentedConstructor.Foo">ClassUndocumentedConstructor.Foo</a><br>def <b>__init__</b>(self) -&gt; None</pre></div><div class='content'>Doc&nbsp;of&nbsp;Foo.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#typename#ClassUndocumentedConstructor.Foo">Foo</a></code></td></table></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#typename#ClassUndocumentedEmptyConstructor.Foo">ClassUndocumentedEmptyConstructor.Foo</a><br>def&nbsp;<b>__init__</b>(self)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Doc&nbsp;of&nbsp;Moo()</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#func#ClassUndocumentedEmptyConstructor.Moo.__init__">Moo.__init__</a></code></td></table></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#typename#ClassUndocumentedEmptyConstructor.Foo">ClassUndocumentedEmptyConstructor.Foo</a><br>def <b>__init__</b>(self) -&gt; None</pre></div><div class='content'>Doc&nbsp;of&nbsp;Moo()</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#func#ClassUndocumentedEmptyConstructor.Moo.__init__">Moo.__init__</a></code></td></table></body></html>
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#DirectFunc">DirectFunc</a><br>def&nbsp;<b>foo</b>()&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.</div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#DirectFunc">DirectFunc</a><br>def <b>foo</b>() -&gt; None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.</div></body></html>
@@ -1 +1,4 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#DocOnImplementationWithOverloads">DocOnImplementationWithOverloads</a><br>def&nbsp;<b>foo</b>(param:&nbsp;<a href="psi_element://#typename#bool">bool</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#bool">bool</a><br>Possible&nbsp;types:<br>•&nbsp;(param:&nbsp;<a href="psi_element://#typename#str">str</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#str">str</a><br>•&nbsp;(param:&nbsp;<a href="psi_element://#typename#int">int</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a></pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#DocOnImplementationWithOverloads">DocOnImplementationWithOverloads</a><br>def <b>foo</b>(param: <a href="psi_element://#typename#bool">bool</a>) -&gt; <a href="psi_element://#typename#bool">bool</a>
Possible types:
• (param:&nbsp;<a href="psi_element://#typename#str">str</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#str">str</a>
• (param:&nbsp;<a href="psi_element://#typename#int">int</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a></pre></div></body></html>
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#Docstring">Docstring</a><br>def&nbsp;<b>foo</b>()&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.</div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#Docstring">Docstring</a><br>def <b>foo</b>() -&gt; None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.</div></body></html>
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#EmptyTupleType">EmptyTupleType</a><br>def&nbsp;<b>func</b>()&nbsp;-&gt;&nbsp;Tuple</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#EmptyTupleType">EmptyTupleType</a><br>def <b>func</b>() -&gt; Tuple</pre></div></body></html>
@@ -1 +1,4 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#FunctionWrapping">FunctionWrapping</a><br>def&nbsp;<b>maybe_add_numbers</b>(a:&nbsp;Optional[<a href="psi_element://#typename#int">int</a>],<br> b:&nbsp;Optional[<a href="psi_element://#typename#int">int</a>],<br> c:&nbsp;Optional[<a href="psi_element://#typename#int">int</a>],<br> d:&nbsp;Optional[<a href="psi_element://#typename#int">int</a>])&nbsp;-&gt;&nbsp;Optional[<a href="psi_element://#typename#int">int</a>]</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#FunctionWrapping">FunctionWrapping</a><br>def <b>maybe_add_numbers</b>(a: Optional[<a href="psi_element://#typename#int">int</a>],
b: Optional[<a href="psi_element://#typename#int">int</a>],
c: Optional[<a href="psi_element://#typename#int">int</a>],
d: Optional[<a href="psi_element://#typename#int">int</a>]) -&gt; Optional[<a href="psi_element://#typename#int">int</a>]</pre></div></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#HeterogeneousTuple">HeterogeneousTuple</a><br>def&nbsp;<b>get_tuple</b>()&nbsp;-&gt;&nbsp;Tuple[<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#str">str</a>]</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#HeterogeneousTuple">HeterogeneousTuple</a><br>def <b>get_tuple</b>() -&gt; Tuple[<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#str">str</a>]</pre></div></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#HomogeneousTuple">HomogeneousTuple</a><br>def&nbsp;<b>get_tuple</b>()&nbsp;-&gt;&nbsp;Tuple[<a href="psi_element://#typename#str">str</a>,&nbsp;...]</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#HomogeneousTuple">HomogeneousTuple</a><br>def <b>get_tuple</b>() -&gt; Tuple[<a href="psi_element://#typename#str">str</a>,&nbsp;...]</pre></div></body></html>
@@ -1 +1 @@
def&nbsp;foo(arg:&nbsp;Any)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a>
def foo(arg: Any) -&gt; <a href="psi_element://#typename#int">int</a>
@@ -1,2 +1,2 @@
@decorator1, @decorator2
def&nbsp;foo(param:&nbsp;Any)&nbsp;-&gt;&nbsp;Optional[Any]
def foo(param: Any) -&gt; Optional[Any]
@@ -1,2 +1,2 @@
class A
def&nbsp;f(self)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a>
def f(self) -&gt; <a href="psi_element://#typename#int">int</a>
@@ -1,2 +1,2 @@
@decorator
def&nbsp;foo(param:&nbsp;Any)&nbsp;-&gt;&nbsp;Optional[Any]
def foo(param: Any) -&gt; Optional[Any]
@@ -1,2 +1,2 @@
@typing.overload
def&nbsp;foo(p:&nbsp;<a href="psi_element://#typename#str">str</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#str">str</a>
def foo(p: <a href="psi_element://#typename#str">str</a>) -&gt; <a href="psi_element://#typename#str">str</a>
@@ -1,4 +1,4 @@
def&nbsp;foo(param:&nbsp;<a href="psi_element://#typename#bool">bool</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#bool">bool</a>
def foo(param: <a href="psi_element://#typename#bool">bool</a>) -&gt; <a href="psi_element://#typename#bool">bool</a>
Possible types:
• (param:&nbsp;<a href="psi_element://#typename#str">str</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#str">str</a>
• (param:&nbsp;<a href="psi_element://#typename#int">int</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a>
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#Indented">Indented</a><br>def&nbsp;<b>foo</b>()&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.<br>It&nbsp;has&nbsp;two&nbsp;lines.</div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#Indented">Indented</a><br>def <b>foo</b>() -&gt; None</pre></div><div class='content'>Doc&nbsp;of&nbsp;foo.<br>It&nbsp;has&nbsp;two&nbsp;lines.</div></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#typename#InheritedMethod.B">InheritedMethod.B</a><br>def&nbsp;<b>foo</b>(self)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Doc&nbsp;from&nbsp;A.foo.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#func#InheritedMethod.A.foo">A.foo</a></code></td></table></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#typename#InheritedMethod.B">InheritedMethod.B</a><br>def <b>foo</b>(self) -&gt; None</pre></div><div class='content'>Doc&nbsp;from&nbsp;A.foo.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#func#InheritedMethod.A.foo">A.foo</a></code></td></table></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#class#">Sub</a><br>def&nbsp;<b>method</b>(self)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Base&nbsp;class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code>Base.method</code></td></table></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#class#">Sub</a><br>def <b>method</b>(self) -&gt; None</pre></div><div class='content'>Base&nbsp;class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code>Base.method</code></td></table></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#class#">MyClass</a><br>def&nbsp;<b>__init__</b>(self)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#class#">MyClass</a></code></td></table></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#class#">MyClass</a><br>def <b>__init__</b>(self) -&gt; None</pre></div><div class='content'>Class&nbsp;docstring.</div><table class='sections'><tr><td valign='top' class='section'><p>Documentation is copied from:</td><td valign='top'><code><a href="psi_element://#class#">MyClass</a></code></td></table></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#ManyDecoratorsFunction">ManyDecoratorsFunction</a><br>@<i>decorator1</i><br>@<i>decorator2</i><br>def&nbsp;<b>foo</b>(param:&nbsp;Any)&nbsp;-&gt;&nbsp;Optional[Any]</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#ManyDecoratorsFunction">ManyDecoratorsFunction</a><br>@<i>decorator1</i><br>@<i>decorator2</i><br>def <b>foo</b>(param: Any) -&gt; Optional[Any]</pre></div></body></html>
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#typename#Method.Foo">Method.Foo</a><br>@<i>deco</i><br>def&nbsp;<b>meth</b>(self)&nbsp;-&gt;&nbsp;Optional[Any]</pre></div><div class='content'>Doc&nbsp;of&nbsp;meth.</div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#typename#Method.Foo">Method.Foo</a><br>@<i>deco</i><br>def <b>meth</b>(self) -&gt; Optional[Any]</pre></div><div class='content'>Doc&nbsp;of&nbsp;meth.</div></body></html>
+1 -1
View File
@@ -1,3 +1,3 @@
def&nbsp;ones(shape:&nbsp;Union[<a href="psi_element://#typename#int">int</a>,&nbsp;Iterable[<a href="psi_element://#typename#int">int</a>]],&nbsp;dtype:&nbsp;Optional[<a href="psi_element://#typename#object">object</a>],&nbsp;order:&nbsp;Optional[<a href="psi_element://#typename#str">str</a>])&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#ndarray">ndarray</a>
def ones(shape: Union[<a href="psi_element://#typename#int">int</a>,&nbsp;Iterable[<a href="psi_element://#typename#int">int</a>]], dtype: Optional[<a href="psi_element://#typename#object">object</a>], order: Optional[<a href="psi_element://#typename#str">str</a>]) -&gt; <a href="psi_element://#typename#ndarray">ndarray</a>
**Test docstring**
Return a new array of given shape and type, filled with ones.
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#OneDecoratorFunction">OneDecoratorFunction</a><br>@<i>decorator</i><br>def&nbsp;<b>foo</b>(param:&nbsp;Any)&nbsp;-&gt;&nbsp;Optional[Any]</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#OneDecoratorFunction">OneDecoratorFunction</a><br>@<i>decorator</i><br>def <b>foo</b>(param: Any) -&gt; Optional[Any]</pre></div></body></html>
@@ -1 +1,2 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#OptionalAndUnionTypesContainingTypeVars">OptionalAndUnionTypesContainingTypeVars</a><br>def&nbsp;<b>f</b>(x1:&nbsp;Optional[T],<br> x2:&nbsp;Union[T,&nbsp;Tuple[Any,&nbsp;Any]])&nbsp;-&gt;&nbsp;None</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#OptionalAndUnionTypesContainingTypeVars">OptionalAndUnionTypesContainingTypeVars</a><br>def <b>f</b>(x1: Optional[T],
x2: Union[T,&nbsp;Tuple[Any,&nbsp;Any]]) -&gt; None</pre></div></body></html>
@@ -1 +1,2 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#OptionalParameterType">OptionalParameterType</a><br>def&nbsp;<b>open</b>(encoding:&nbsp;Optional[<a href="psi_element://#typename#str">str</a>],<br> errors:&nbsp;Optional[<a href="psi_element://#typename#str">str</a>])&nbsp;-&gt;&nbsp;None</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#OptionalParameterType">OptionalParameterType</a><br>def <b>open</b>(encoding: Optional[<a href="psi_element://#typename#str">str</a>],
errors: Optional[<a href="psi_element://#typename#str">str</a>]) -&gt; None</pre></div></body></html>
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#Overloads">Overloads</a><br>@<i>typing.overload</i><br>def&nbsp;<b>foo</b>(p:&nbsp;<a href="psi_element://#typename#str">str</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#str">str</a></pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#Overloads">Overloads</a><br>@<i>typing.overload</i><br>def <b>foo</b>(p: <a href="psi_element://#typename#str">str</a>) -&gt; <a href="psi_element://#typename#str">str</a></pre></div></body></html>
@@ -1 +1,4 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#OverloadsAndImplementation">OverloadsAndImplementation</a><br>def&nbsp;<b>foo</b>(param:&nbsp;<a href="psi_element://#typename#bool">bool</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#bool">bool</a><br>Possible&nbsp;types:<br>•&nbsp;(param:&nbsp;<a href="psi_element://#typename#str">str</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#str">str</a><br>•&nbsp;(param:&nbsp;<a href="psi_element://#typename#int">int</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a></pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#OverloadsAndImplementation">OverloadsAndImplementation</a><br>def <b>foo</b>(param: <a href="psi_element://#typename#bool">bool</a>) -&gt; <a href="psi_element://#typename#bool">bool</a>
Possible types:
• (param:&nbsp;<a href="psi_element://#typename#str">str</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#str">str</a>
• (param:&nbsp;<a href="psi_element://#typename#int">int</a>)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a></pre></div></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#PlainTextDocstringsQuotesPlacementDoesntAffectFormatting">PlainTextDocstringsQuotesPlacementDoesntAffectFormatting</a><br>def&nbsp;<b>func</b>()&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Docstring.</div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#PlainTextDocstringsQuotesPlacementDoesntAffectFormatting">PlainTextDocstringsQuotesPlacementDoesntAffectFormatting</a><br>def <b>func</b>() -&gt; None</pre></div><div class='content'>Docstring.</div></body></html>
+1 -1
View File
@@ -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&nbsp;<b>x</b>(self,&nbsp;v:&nbsp;Any)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Deletes&nbsp;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, v: Any) -&gt; None</pre></div><div class='content'>Deletes&nbsp;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&nbsp;<b>m</b>(self,&nbsp;x:&nbsp;Any)&nbsp;-&gt;&nbsp;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, x: Any) -&gt; 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
View File
@@ -1 +1 @@
<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&nbsp;<b>x</b>(self)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a></pre></div><div class='content'>Does&nbsp;things&nbsp;to&nbsp;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) -&gt; <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>Does&nbsp;things&nbsp;to&nbsp;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
View File
@@ -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&nbsp;<b>x</b>(self,&nbsp;v:&nbsp;Any)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Sets&nbsp;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, v: Any) -&gt; None</pre></div><div class='content'>Sets&nbsp;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#PropNewUndefinedSetter.C">PropNewUndefinedSetter.C</a><br>@<i>property</i><br>def&nbsp;<b>attr</b>(self)&nbsp;-&gt;&nbsp;<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) -&gt; <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
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre>Property <b>x</b> of <a href="psi_element://#typename#PropOldDeleter.A">PropOldDeleter.A</a><br>def&nbsp;<b>__getX</b>(self)&nbsp;-&gt;&nbsp;Any</pre></div><div class='content'>Doc&nbsp;of&nbsp;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) -&gt; Any</pre></div><div class='content'>Doc&nbsp;of&nbsp;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>attr</b> of <a href="psi_element://#typename#PropOldDocParamOfPropertyCall.C">PropOldDocParamOfPropertyCall.C</a><br>def&nbsp;<b>_set</b>(self,&nbsp;x:&nbsp;Any)&nbsp;-&gt;&nbsp;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, x: Any) -&gt; 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&nbsp;<b>_set</b>(self,&nbsp;x:&nbsp;Any)&nbsp;-&gt;&nbsp;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, x: Any) -&gt; 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
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre>Property <b>x</b> of <a href="psi_element://#typename#PropOldGetter.A">PropOldGetter.A</a><br>def&nbsp;<b>__getX</b>(self)&nbsp;-&gt;&nbsp;Any</pre></div><div class='content'>Doc&nbsp;of&nbsp;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) -&gt; Any</pre></div><div class='content'>Doc&nbsp;of&nbsp;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
View File
@@ -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&nbsp;<b>__getX</b>(self,&nbsp;x:&nbsp;Any)&nbsp;-&gt;&nbsp;None</pre></div><div class='content'>Doc&nbsp;of&nbsp;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, x: Any) -&gt; None</pre></div><div class='content'>Doc&nbsp;of&nbsp;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>attr</b> of <a href="psi_element://#typename#PropOldUndefinedSetter.C">PropOldUndefinedSetter.C</a><br>def&nbsp;<b>_get</b>(self)&nbsp;-&gt;&nbsp;<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) -&gt; <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><a href="psi_element://#typename#list">list</a><br>def&nbsp;<b>count</b>(self,&nbsp;object:&nbsp;_T)&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a></pre></div><div class='content'>L.count(value)&nbsp;-&gt;&nbsp;integer&nbsp;--&nbsp;return&nbsp;number&nbsp;of&nbsp;occurrences&nbsp;of&nbsp;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, object: _T) -&gt; <a href="psi_element://#typename#int">int</a></pre></div><div class='content'>L.count(value)&nbsp;-&gt;&nbsp;integer&nbsp;--&nbsp;return&nbsp;number&nbsp;of&nbsp;occurrences&nbsp;of&nbsp;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>
@@ -1 +1,2 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#ReturnTypeWrappedBecauseOfFunctionName">ReturnTypeWrappedBecauseOfFunctionName</a><br>def&nbsp;<b>func01234567890123456789012345678901234567890123456789012345678901234567890123456789</b>()<br>&nbsp;&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a></pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#ReturnTypeWrappedBecauseOfFunctionName">ReturnTypeWrappedBecauseOfFunctionName</a><br>def <b>func01234567890123456789012345678901234567890123456789012345678901234567890123456789</b>()
-&gt; <a href="psi_element://#typename#int">int</a></pre></div></body></html>
@@ -1 +1,3 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#ReturnTypeWrappedBecauseOfParameters">ReturnTypeWrappedBecauseOfParameters</a><br>def&nbsp;<b>func</b>(first:&nbsp;Any,<br> second0123456789012345678901234567890123456789012345678901234567890123456789:&nbsp;Any)<br>&nbsp;&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#int">int</a></pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#ReturnTypeWrappedBecauseOfParameters">ReturnTypeWrappedBecauseOfParameters</a><br>def <b>func</b>(first: Any,
second0123456789012345678901234567890123456789012345678901234567890123456789: Any)
-&gt; <a href="psi_element://#typename#int">int</a></pre></div></body></html>
@@ -1 +1,2 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#ReturnTypeWrappedBecauseTooLongItself">ReturnTypeWrappedBecauseTooLongItself</a><br>def&nbsp;<b>func</b>()<br>&nbsp;&nbsp;-&gt;&nbsp;Tuple[<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>]</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#ReturnTypeWrappedBecauseTooLongItself">ReturnTypeWrappedBecauseTooLongItself</a><br>def <b>func</b>()
-&gt; Tuple[<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>,&nbsp;<a href="psi_element://#typename#int">int</a>]</pre></div></body></html>
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#typename#SingleArgumentMethodNotWrapped.MyClass">SingleArgumentMethodNotWrapped.MyClass</a><br>def&nbsp;<b>method</b>(self,&nbsp;param:&nbsp;Any)&nbsp;-&gt;&nbsp;None</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#typename#SingleArgumentMethodNotWrapped.MyClass">SingleArgumentMethodNotWrapped.MyClass</a><br>def <b>method</b>(self, param: Any) -&gt; None</pre></div></body></html>
+3 -1
View File
@@ -1 +1,3 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#TypeVars">TypeVars</a><br>def&nbsp;<b>f</b>(p1:&nbsp;T1,<br> p2:&nbsp;T2,<br> p3:&nbsp;T3)&nbsp;-&gt;&nbsp;None</pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#TypeVars">TypeVars</a><br>def <b>f</b>(p1: T1,
p2: T2,
p3: T3) -&gt; None</pre></div></body></html>
+1 -1
View File
@@ -1 +1 @@
<html><body><div class='definition'><pre><a href="psi_element://#module#UnknownTuple">UnknownTuple</a><br>def&nbsp;<b>get_tuple</b>()&nbsp;-&gt;&nbsp;<a href="psi_element://#typename#tuple">tuple</a></pre></div></body></html>
<html><body><div class='definition'><pre><a href="psi_element://#module#UnknownTuple">UnknownTuple</a><br>def <b>get_tuple</b>() -&gt; <a href="psi_element://#typename#tuple">tuple</a></pre></div></body></html>