mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Don't suggest converting variadic params in Py2 in case of positional args.
This commit is contained in:
+4
@@ -71,6 +71,10 @@ public class ConvertVariadicParamIntention extends PyBaseIntentionAction {
|
||||
final PyFunction function = PsiTreeUtil.getParentOfType(element, PyFunction.class);
|
||||
|
||||
if (function != null) {
|
||||
if (LanguageLevel.forElement(function).isOlderThan(LanguageLevel.PYTHON30) && function.getParameterList().hasPositionalContainer()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
final boolean caretInParameterList = PsiTreeUtil.isAncestor(function.getParameterList(), element, true);
|
||||
|
||||
for (PyCallExpression call : findKeywordContainerCalls(function)) {
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
def foo(*args, **kwargs<caret>):
|
||||
return kwargs["bar"]
|
||||
@@ -0,0 +1,2 @@
|
||||
def foo(*args, **kwargs<caret>):
|
||||
return kwargs["bar"]
|
||||
@@ -0,0 +1,2 @@
|
||||
def foo(*args, bar, **kwargs<caret>):
|
||||
return bar
|
||||
@@ -231,6 +231,14 @@ public class PyIntentionTest extends PyTestCase {
|
||||
doTest(PyBundle.message("INTN.convert.variadic.param"));
|
||||
}
|
||||
|
||||
public void testConvertVariadicParamPositionalContainerInPy2() {
|
||||
doNegativeTest(PyBundle.message("INTN.convert.variadic.param"));
|
||||
}
|
||||
|
||||
public void testConvertVariadicParamPositionalContainerInPy3() {
|
||||
runWithLanguageLevel(LanguageLevel.PYTHON30, () -> doTest(PyBundle.message("INTN.convert.variadic.param")));
|
||||
}
|
||||
|
||||
public void testConvertTripleQuotedString() { //PY-2697
|
||||
doTest(PyBundle.message("INTN.triple.quoted.string"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user