highlight tuple parameter unpacking as error in Py3 code (http://www.python.org/dev/peps/pep-3113/)

This commit is contained in:
Dmitry Jemerov
2010-01-22 18:43:02 +03:00
parent 843f6ceacf
commit 2669f97a03
3 changed files with 12 additions and 1 deletions
@@ -164,6 +164,7 @@ ANN.regular.param.after.vararg=regular parameter after * parameter
ANN.regular.param.after.keyword=regular parameter after ** parameter
ANN.non.default.param.after.default=non-default parameter follows default parameter
ANN.named.arguments.after.star=named arguments must follow bare *
ANN.tuple.py3=tuple parameter unpacking is not supported in Python 3
ANN.star.import.at.top.only='import *' only allowed at module level
@@ -62,6 +62,14 @@ public class ParameterListAnnotator extends PyAnnotator {
}
}
@Override
public void enterTupleParameter(PyTupleParameter param, boolean first, boolean last) {
super.enterTupleParameter(param, first, last);
if (languageLevel.isPy3K()) {
markError(param, PyBundle.message("ANN.tuple.py3"));
}
}
@Override
public void visitSingleStarParameter(PySingleStarParameter param, boolean first, boolean last) {
hadSingleStar = true;
@@ -9,4 +9,6 @@ def keywordonly_sum_bad2(p1, *, <error descr="named arguments must follow bare *
def keywordonly_and_kwarg_sum(*, k1, k2, **kwarg):
return k1 + k2 + sum(kwarg.values())
def keywordonly_sum_bad2(p, *, <error descr="tuple parameter unpacking is not supported in Python 3">(k1, k2)</error>, **kw):
pass