mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-77884 In user-visible messages, Render PyParamSpecType as **Name instead of ParamSpec('Name')
GitOrigin-RevId: 2819435e6db56045470b0e4dcab95d981645e12a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
95930fc58f
commit
0bd1f6cc71
@@ -59,7 +59,7 @@ public final class PyParamSpecType implements PyTypeParameterType, PyCallablePar
|
||||
@NotNull
|
||||
@Override
|
||||
public String getName() {
|
||||
return "ParamSpec(\"" + myName + "\")";
|
||||
return "**" + myName;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<html><body><div class="bottom"><icon src="AllIcons.Nodes.Class"/> <code><a href="psi_element://#typename#ConcatenateInGeneric.Y">ConcatenateInGeneric.Y</a></code></div><div class="definition"><pre><span style="color:#000080;font-weight:bold;">def </span><span style="color:#b200b2;">__init__</span><span style="">(</span><span style="color:#94558d;">self</span><span style="">,</span>
|
||||
<span style="color:#000000;">f</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>Concatenate(int, ParamSpec("P"))<span style="">)</span> -> U</span><span style="">,</span>
|
||||
<span style="color:#000000;">f</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>Concatenate(int, **P)<span style="">)</span> -> U</span><span style="">,</span>
|
||||
<span style="color:#000000;">attr</span><span style="">: </span><span style="color:#000000;">U</span><span style="">)</span> -> <span style="color:#000000;"><span style="color:#000080;font-weight:bold;">None</span></span></pre></div></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class="bottom"><icon src="AllIcons.Nodes.Package"/> <code><a href="psi_element://#module#ConcatenateInParam">ConcatenateInParam</a></code></div><div class="definition"><pre><span style="color:#000080;font-weight:bold;">def </span><span style="color:#000000;">remove</span><span style="">(</span><span style="color:#000000;">x</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>Concatenate(int, ParamSpec("P"))<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">)</span> -> <span style="color:#000000;"><span style="">(</span>ParamSpec("P")<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#bool">bool</a></span></span></pre></div></body></html>
|
||||
<html><body><div class="bottom"><icon src="AllIcons.Nodes.Package"/> <code><a href="psi_element://#module#ConcatenateInParam">ConcatenateInParam</a></code></div><div class="definition"><pre><span style="color:#000080;font-weight:bold;">def </span><span style="color:#000000;">remove</span><span style="">(</span><span style="color:#000000;">x</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>Concatenate(int, **P)<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">)</span> -> <span style="color:#000000;"><span style="">(</span>**P<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#bool">bool</a></span></span></pre></div></body></html>
|
||||
@@ -1 +1 @@
|
||||
<html><body><div class="bottom"><icon src="AllIcons.Nodes.Package"/> <code><a href="psi_element://#module#ConcatenateInReturn">ConcatenateInReturn</a></code></div><div class="definition"><pre><span style="color:#000080;font-weight:bold;">def </span><span style="color:#000000;">add</span><span style="">(</span><span style="color:#000000;">x</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>ParamSpec("P")<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">)</span> -> <span style="color:#000000;"><span style="">(</span>Concatenate(str, ParamSpec("P"))<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#bool">bool</a></span></span></pre></div></body></html>
|
||||
<html><body><div class="bottom"><icon src="AllIcons.Nodes.Package"/> <code><a href="psi_element://#module#ConcatenateInReturn">ConcatenateInReturn</a></code></div><div class="definition"><pre><span style="color:#000080;font-weight:bold;">def </span><span style="color:#000000;">add</span><span style="">(</span><span style="color:#000000;">x</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>**P<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">)</span> -> <span style="color:#000000;"><span style="">(</span>Concatenate(str, **P)<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#bool">bool</a></span></span></pre></div></body></html>
|
||||
@@ -1,2 +1 @@
|
||||
<html><body><div class="bottom"><icon src="AllIcons.Nodes.Package"/> <code><a href="psi_element://#module#ConcatenateSeveralFirstParamInParam">ConcatenateSeveralFirstParamInParam</a></code></div><div class="definition"><pre><span style="color:#000080;font-weight:bold;">def </span><span style="color:#000000;">remove</span><span style="">(</span><span style="color:#000000;">x</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>Concatenate(int, bool, list, ParamSpec("P"))<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">)</span>
|
||||
-> <span style="color:#000000;"><span style="">(</span>ParamSpec("P")<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#bool">bool</a></span></span></pre></div></body></html>
|
||||
<html><body><div class="bottom"><icon src="AllIcons.Nodes.Package"/> <code><a href="psi_element://#module#ConcatenateSeveralFirstParamInParam">ConcatenateSeveralFirstParamInParam</a></code></div><div class="definition"><pre><span style="color:#000080;font-weight:bold;">def </span><span style="color:#000000;">remove</span><span style="">(</span><span style="color:#000000;">x</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>Concatenate(int, bool, list, **P)<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">)</span> -> <span style="color:#000000;"><span style="">(</span>**P<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#bool">bool</a></span></span></pre></div></body></html>
|
||||
@@ -1,2 +1,2 @@
|
||||
<html><body><div class="bottom"><icon src="AllIcons.Nodes.Package"/> <code><a href="psi_element://#module#SeveralParamSpecs">SeveralParamSpecs</a></code></div><div class="definition"><pre><span style="color:#000080;font-weight:bold;">def </span><span style="color:#000000;">foo</span><span style="">(</span><span style="color:#000000;">x</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>ParamSpec("P")<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">,</span>
|
||||
<span style="color:#000000;">y</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>ParamSpec("P")<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">)</span> -> <span style="color:#000000;"><span style="">(</span>ParamSpec("P")<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#bool">bool</a></span></span></pre></div></body></html>
|
||||
<html><body><div class="bottom"><icon src="AllIcons.Nodes.Package"/> <code><a href="psi_element://#module#SeveralParamSpecs">SeveralParamSpecs</a></code></div><div class="definition"><pre><span style="color:#000080;font-weight:bold;">def </span><span style="color:#000000;">foo</span><span style="">(</span><span style="color:#000000;">x</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>**P<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">,</span>
|
||||
<span style="color:#000000;">y</span><span style="">: </span><span style="color:#000000;"><span style="">(</span>**P<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#int">int</a></span></span><span style="">)</span> -> <span style="color:#000000;"><span style="">(</span>**P<span style="">)</span> -> <span style="color:#000080;"><a href="psi_element://#typename#bool">bool</a></span></span></pre></div></body></html>
|
||||
@@ -1276,7 +1276,7 @@ public class Py3TypeTest extends PyTestCase {
|
||||
}
|
||||
|
||||
public void testParamSpecArgsKwargsInAnnotations() {
|
||||
doTest("(c: (ParamSpec(\"P\")) -> int, ParamSpec(\"P\"), ParamSpec(\"P\")) -> None", """
|
||||
doTest("(c: (**P) -> int, **P, **P) -> None", """
|
||||
from typing import Callable, ParamSpec
|
||||
|
||||
P = ParamSpec('P')
|
||||
@@ -1289,7 +1289,7 @@ public class Py3TypeTest extends PyTestCase {
|
||||
}
|
||||
|
||||
public void testParamSpecArgsKwargsInTypeComments() {
|
||||
doTest("(c: (ParamSpec(\"P\")) -> int, ParamSpec(\"P\"), ParamSpec(\"P\")) -> None", """
|
||||
doTest("(c: (**P) -> int, **P, **P) -> None", """
|
||||
from typing import Callable, ParamSpec
|
||||
|
||||
P = ParamSpec('P')
|
||||
@@ -1306,7 +1306,7 @@ public class Py3TypeTest extends PyTestCase {
|
||||
}
|
||||
|
||||
public void testParamSpecArgsKwargsInFunctionTypeComment() {
|
||||
doTest("(c: (ParamSpec(\"P\")) -> int, ParamSpec(\"P\"), ParamSpec(\"P\")) -> None", """
|
||||
doTest("(c: (**P) -> int, **P, **P) -> None", """
|
||||
from typing import Callable, ParamSpec
|
||||
|
||||
P = ParamSpec('P')
|
||||
@@ -1320,7 +1320,7 @@ public class Py3TypeTest extends PyTestCase {
|
||||
}
|
||||
|
||||
public void testParamSpecArgsKwargsInImportedFile() {
|
||||
doMultiFileTest("(c: (ParamSpec(\"P\")) -> int, ParamSpec(\"P\"), ParamSpec(\"P\")) -> None", """
|
||||
doMultiFileTest("(c: (**P) -> int, **P, **P) -> None", """
|
||||
from mod import func
|
||||
|
||||
expr = func
|
||||
|
||||
@@ -4523,7 +4523,7 @@ public class PyTypingTest extends PyTestCase {
|
||||
|
||||
// PY-70484
|
||||
public void testUnboundParamSpecThatCannotBeBoundThroughParametersLeftIntact() {
|
||||
doTest("((ParamSpec(\"P\")) -> Any) -> (ParamSpec(\"P\")) -> int",
|
||||
doTest("((**P) -> Any) -> (**P) -> int",
|
||||
"""
|
||||
from typing import Callable, Any, ParamSpec
|
||||
|
||||
@@ -4556,7 +4556,7 @@ public class PyTypingTest extends PyTestCase {
|
||||
}
|
||||
|
||||
public void testParamSpecInConcatenateMappedToAnotherParamSpec() {
|
||||
doTest("(int, ParamSpec(\"P1\")) -> Any",
|
||||
doTest("(int, **P1) -> Any",
|
||||
"""
|
||||
from typing import Callable, Any, ParamSpec, Concatenate
|
||||
|
||||
@@ -6165,7 +6165,7 @@ public class PyTypingTest extends PyTestCase {
|
||||
|
||||
// PY-77541
|
||||
public void testParamSpecBoundToAnotherParamSpecInCustomGeneric() {
|
||||
doTest("MyCallable[ParamSpec(\"P2\"), R2]", """
|
||||
doTest("MyCallable[**P2, R2]", """
|
||||
class MyCallable[**P, R]:
|
||||
def __call__(self, *args: P.args, **kwargs: P.kwargs):
|
||||
...
|
||||
@@ -6180,7 +6180,7 @@ public class PyTypingTest extends PyTestCase {
|
||||
|
||||
// PY-77541
|
||||
public void testParamSpecBoundToConcatenateInCustomGeneric() {
|
||||
doTest("MyCallable[Concatenate(int, ParamSpec(\"P2\")), R2]", """
|
||||
doTest("MyCallable[Concatenate(int, **P2), R2]", """
|
||||
from typing import Concatenate
|
||||
|
||||
class MyCallable[**P, R]:
|
||||
|
||||
Reference in New Issue
Block a user