PY-15298 Numpy: Type Checker: do not higlight argument equal to default as unexpected type

keyword argument
This commit is contained in:
Ekaterina Tuzova
2015-04-02 19:42:32 +03:00
parent 5322847963
commit 8ab0661bc1
3 changed files with 69 additions and 2 deletions
@@ -99,8 +99,12 @@ public class PyTypeCheckerInspection extends PyInspection {
continue;
}
if (p.hasDefaultValue()) {
final PyExpression value = p.getDefaultValue();
final String keyName = key.getName();
final PyExpression value = p.getDefaultValue();
String keyName = key.getName();
if (key instanceof PyKeywordArgument) {
final PyExpression valueExpression = ((PyKeywordArgument)key).getValueExpression();
keyName = valueExpression != null ? valueExpression.getName() : "";
}
if (value != null && keyName != null && keyName.equals(value.getName()))
continue;
}
@@ -0,0 +1,59 @@
def set_printoptions(precision=None, threshold=None, edgeitems=None,
linewidth=None, suppress=None,
nanstr=None, infstr=None,
formatter=None):
"""
Set printing options.
These options determine the way floating point numbers, arrays and
other NumPy objects are displayed.
Parameters
----------
precision : int, optional
Number of digits of precision for floating point output (default 8).
threshold : int, optional
Total number of array elements which trigger summarization
rather than full repr (default 1000).
edgeitems : int, optional
Number of array items in summary at beginning and end of
each dimension (default 3).
linewidth : int, optional
The number of characters per line for the purpose of inserting
line breaks (default 75).
suppress : bool, optional
Whether or not suppress printing of small floating point values
using scientific notation (default False).
nanstr : str, optional
String representation of floating point not-a-number (default nan).
infstr : str, optional
String representation of floating point infinity (default inf).
formatter : dict of callables, optional
If not None, the keys should indicate the type(s) that the respective
formatting function applies to. Callables should return a string.
Types that are not specified (by their corresponding keys) are handled
by the default formatters. Individual types for which a formatter
can be set are::
- 'bool'
- 'int'
- 'timedelta' : a `numpy.timedelta64`
- 'datetime' : a `numpy.datetime64`
- 'float'
- 'longfloat' : 128-bit floats
- 'complexfloat'
- 'longcomplexfloat' : composed of two 128-bit floats
- 'numpy_str' : types `numpy.string_` and `numpy.unicode_`
- 'str' : all other strings
Other keys that can be used to set a group of types at once are::
- 'all' : sets all types
- 'int_kind' : sets 'int'
- 'float_kind' : sets 'float' and 'longfloat'
- 'complex_kind' : sets 'complexfloat' and 'longcomplexfloat'
- 'str_kind' : sets 'str' and 'numpystr'
"""
pass
set_printoptions(formatter=None)
@@ -54,6 +54,10 @@ public class PyNumpyTypeTest extends PyTestCase {
doTest();
}
public void testDefaultValueKeyword() {
doTest();
}
public void testSort() {
doTest();
}