PY-21083 Fixed: Inspection of float.fromhex expecting incorrect arguments

Update 'constants.py' so 'float.fromhex' stub is generated with 'staticmethod' decorator, has correct modifier and PyCallByClassInspection doesn't show any warning
This commit is contained in:
Semyon Proshev
2016-11-15 15:37:20 +03:00
parent 15e5d938d5
commit 13cc11735e
5 changed files with 57 additions and 50 deletions
@@ -6,7 +6,7 @@ import string
import time
# !!! Don't forget to update VERSION and required_gen_version if necessary !!!
VERSION = "1.144"
VERSION = "1.145"
OUT_ENCODING = 'utf-8'
@@ -765,6 +765,7 @@ KNOWN_DECORATORS = {
("bytearray", "maketrans"): "staticmethod",
("bytes", "maketrans"): "staticmethod",
("int", "from_bytes"): "classmethod",
("float", "fromhex"): "staticmethod",
}
classobj_txt = ( #TODO: user-skeleton
+1 -1
View File
@@ -6,7 +6,7 @@
(default) 1.127 # anything not explicitly marked
(built-in) 1.144 # skeletons of all built-in modules are built together
(built-in) 1.145 # skeletons of all built-in modules are built together
# Note: modules like itertools, etc are "(built-in)" and are ignored if given separately
_fileio 1.127
@@ -1,7 +1,7 @@
# encoding: utf-8
# module __builtin__
# from (built-in)
# by generator 1.138
# by generator 1.145
from __future__ import print_function
"""
Built-in functions, exceptions, and other objects.
@@ -2930,7 +2930,8 @@ class float(object):
""" Return self, the complex conjugate of any float. """
pass
def fromhex(self, string): # real signature unknown; restored from __doc__
@staticmethod # known case
def fromhex(string): # real signature unknown; restored from __doc__
"""
float.fromhex(string) -> float
@@ -1,7 +1,7 @@
# encoding: utf-8
# module builtins
# from (built-in)
# by generator 1.144
# by generator 1.145
"""
Built-in functions, exceptions, and other objects.
@@ -24,7 +24,7 @@ def abs(*args, **kwargs): # real signature unknown
def all(*args, **kwargs): # real signature unknown
"""
Return True if bool(x) is True for all values x in the iterable.
If the iterable is empty, return True.
"""
pass
@@ -32,7 +32,7 @@ def all(*args, **kwargs): # real signature unknown
def any(*args, **kwargs): # real signature unknown
"""
Return True if bool(x) is True for any x in the iterable.
If the iterable is empty, return False.
"""
pass
@@ -48,7 +48,7 @@ def ascii(*args, **kwargs): # real signature unknown
"""
pass
def bin(*args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
def bin(*args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
"""
Return the binary representation of an integer.
@@ -60,7 +60,7 @@ def bin(*args, **kwargs): # real signature unknown; NOTE: unreliably restored fr
def callable(i_e_, some_kind_of_function): # real signature unknown; restored from __doc__
"""
Return whether the object is callable (i.e., some kind of function).
Note that classes are callable, as are instances of classes with a
__call__() method.
"""
@@ -133,7 +133,7 @@ def divmod(x, y): # known case of builtins.divmod
def eval(*args, **kwargs): # real signature unknown
"""
Evaluate the given source in the context of globals and locals.
The source may be a string representing a Python expression
or a code object as returned by compile().
The globals must be a dictionary and locals can be any mapping,
@@ -178,7 +178,7 @@ def getattr(object, name, default=None): # known special case of getattr
def globals(*args, **kwargs): # real signature unknown
"""
Return the dictionary containing the current scope's global variables.
NOTE: Updates to this dictionary *will* affect name lookups in the current
global scope and vice-versa.
"""
@@ -187,7 +187,7 @@ def globals(*args, **kwargs): # real signature unknown
def hasattr(*args, **kwargs): # real signature unknown
"""
Return whether the object has an attribute with the given name.
This is done by calling getattr(obj, name) and catching AttributeError.
"""
pass
@@ -213,7 +213,7 @@ def help(): # real signature unknown; restored from __doc__
"""
pass
def hex(*args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
def hex(*args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
"""
Return the hexadecimal representation of an integer.
@@ -234,10 +234,10 @@ def id(*args, **kwargs): # real signature unknown
def input(*args, **kwargs): # real signature unknown
"""
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
"""
@@ -246,7 +246,7 @@ def input(*args, **kwargs): # real signature unknown
def isinstance(x, A_tuple): # real signature unknown; restored from __doc__
"""
Return whether an object is an instance of a class or of a subclass thereof.
A tuple, as in ``isinstance(x, (A, B, ...))``, may be given as the target to
check against. This is equivalent to ``isinstance(x, A) or isinstance(x, B)
or ...`` etc.
@@ -328,7 +328,7 @@ def next(iterator, default=None): # real signature unknown; restored from __doc_
"""
pass
def oct(*args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
def oct(*args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
"""
Return the octal representation of an integer.
@@ -467,7 +467,7 @@ def ord(*args, **kwargs): # real signature unknown
def pow(*args, **kwargs): # real signature unknown
"""
Equivalent to x**y (with two arguments) or x**y % z (with three arguments)
Some types, such as ints, are able to use a more efficient algorithm when
invoked using the three argument form.
"""
@@ -492,7 +492,7 @@ def quit(*args, **kwargs): # real signature unknown
def repr(obj): # real signature unknown; restored from __doc__
"""
Return the canonical string representation of the object.
For many object types, including most builtins, eval(repr(obj)) == obj.
"""
pass
@@ -518,7 +518,7 @@ def setattr(x, y, v): # real signature unknown; restored from __doc__
def sorted(*args, **kwargs): # real signature unknown
"""
Return a new list containing all items from the iterable in ascending order.
A custom key function can be supplied to customise the sort order, and the
reverse flag can be set to request the result in descending order.
"""
@@ -1476,10 +1476,10 @@ class bytearray(object):
return 0
@classmethod # known case
def fromhex(cls, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
def fromhex(cls, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
"""
Create a bytearray object from a string of hexadecimal numbers.
Spaces between two numbers are accepted.
Example: bytearray.fromhex('B9 01EF') -> bytearray(b'\\xb9\\x01\\xef')
"""
@@ -1488,7 +1488,7 @@ class bytearray(object):
def hex(self): # real signature unknown; restored from __doc__
"""
B.hex() -> string
Create a string of hexadecimal numbers from a bytearray object.
Example: bytearray([0xb9, 0x01, 0xef]).hex() -> 'b901ef'.
"""
@@ -1505,7 +1505,7 @@ class bytearray(object):
def insert(self, *args, **kwargs): # real signature unknown
"""
Insert a single item into the bytearray before the given index.
index
The index where the value is to be inserted.
item
@@ -1583,7 +1583,7 @@ class bytearray(object):
Concatenate any number of bytes/bytearray objects.
The bytearray whose method is called is inserted in between each pair.
The result is returned as a new bytearray object.
"""
pass
@@ -1620,7 +1620,7 @@ class bytearray(object):
The returned table will be one where each byte in frm is mapped to the byte at
the same position in to.
The bytes objects frm and to must be of the same length.
"""
pass
@@ -1632,7 +1632,7 @@ class bytearray(object):
This will search for the separator sep in the bytearray. If the separator is
found, returns a 3-tuple containing the part before the separator, the
separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing the original
bytearray object and two empty bytearray objects.
"""
@@ -1662,11 +1662,11 @@ class bytearray(object):
def replace(self, *args, **kwargs): # real signature unknown
"""
Return a copy with all occurrences of substring old replaced by new.
count
Maximum number of occurrences to replace.
-1 (the default value) means replace all occurrences.
If the optional argument count is given, only the first count occurrences are
replaced.
"""
@@ -1712,7 +1712,7 @@ class bytearray(object):
This will search for the separator sep in the bytearray, starting and the end.
If the separator is found, returns a 3-tuple containing the part before the
separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing two empty bytearray
objects and the original bytearray object.
"""
@@ -1729,7 +1729,7 @@ class bytearray(object):
maxsplit
Maximum number of splits to do.
-1 (the default value) means no limit.
Splitting is done starting at the end of the bytearray and working to the front.
"""
pass
@@ -1809,7 +1809,7 @@ class bytearray(object):
table
Translation table, which must be a bytes object of length 256.
All characters occurring in the optional argument deletechars are removed.
The remaining characters are mapped through the given translation table.
"""
@@ -2056,10 +2056,10 @@ class bytes(object):
return 0
@classmethod # known case
def fromhex(cls, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
def fromhex(cls, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
"""
Create a bytes object from a string of hexadecimal numbers.
Spaces between two numbers are accepted.
Example: bytes.fromhex('B9 01EF') -> b'\\xb9\\x01\\xef'.
"""
@@ -2068,7 +2068,7 @@ class bytes(object):
def hex(self): # real signature unknown; restored from __doc__
"""
B.hex() -> string
Create a string of hexadecimal numbers from a bytes object.
Example: b'\xb9\x01\xef'.hex() -> 'b901ef'.
"""
@@ -2147,14 +2147,14 @@ class bytes(object):
"""
return False
def join(self, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
def join(self, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
"""
Concatenate any number of bytes objects.
The bytes whose method is called is inserted in between each pair.
The result is returned as a new bytes object.
Example: b'.'.join([b'ab', b'pq', b'rs']) -> b'ab.pq.rs'.
"""
pass
@@ -2179,7 +2179,7 @@ class bytes(object):
def lstrip(self, *args, **kwargs): # real signature unknown
"""
Strip leading bytes contained in the argument.
If the argument is omitted or None, strip leading ASCII whitespace.
"""
pass
@@ -2191,7 +2191,7 @@ class bytes(object):
The returned table will be one where each byte in frm is mapped to the byte at
the same position in to.
The bytes objects frm and to must be of the same length.
"""
pass
@@ -2203,7 +2203,7 @@ class bytes(object):
This will search for the separator sep in the bytes. If the separator is found,
returns a 3-tuple containing the part before the separator, the separator
itself, and the part after it.
If the separator is not found, returns a 3-tuple containing the original bytes
object and two empty bytes objects.
"""
@@ -2216,7 +2216,7 @@ class bytes(object):
count
Maximum number of occurrences to replace.
-1 (the default value) means replace all occurrences.
If the optional argument count is given, only the first count occurrences are
replaced.
"""
@@ -2258,7 +2258,7 @@ class bytes(object):
This will search for the separator sep in the bytes, starting and the end. If
the separator is found, returns a 3-tuple containing the part before the
separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing two empty bytes
objects and the original bytes object.
"""
@@ -2275,7 +2275,7 @@ class bytes(object):
maxsplit
Maximum number of splits to do.
-1 (the default value) means no limit.
Splitting is done starting at the end of the bytes and working to the front.
"""
pass
@@ -2283,7 +2283,7 @@ class bytes(object):
def rstrip(self, *args, **kwargs): # real signature unknown
"""
Strip trailing bytes contained in the argument.
If the argument is omitted or None, strip trailing ASCII whitespace.
"""
pass
@@ -2325,7 +2325,7 @@ class bytes(object):
def strip(self, *args, **kwargs): # real signature unknown
"""
Strip leading and trailing bytes contained in the argument.
If the argument is omitted or None, strip leading and trailing ASCII whitespace.
"""
pass
@@ -2355,7 +2355,7 @@ class bytes(object):
table
Translation table, which must be a bytes object of length 256.
All characters occurring in the optional argument deletechars are removed.
The remaining characters are mapped through the given translation table.
"""
@@ -3027,7 +3027,8 @@ class float(object):
""" Return self, the complex conjugate of any float. """
pass
def fromhex(self, string): # real signature unknown; restored from __doc__
@staticmethod # known case
def fromhex(string): # real signature unknown; restored from __doc__
"""
float.fromhex(string) -> float
@@ -5748,7 +5749,7 @@ class __loader__(object):
def load_module(self, *args, **kwargs): # real signature unknown
"""
Load the specified module into sys.modules and return it.
This method is deprecated. Use loader.exec_module instead.
"""
pass
@@ -16,4 +16,8 @@ class B(A):
def __init__(self):
A.__init__(self) # pass
A.method(<weak_warning descr="Passing inspections.PyCallByClassInspection.test.B instead of inspections.PyCallByClassInspection.test.A. Is this intentional?">B()</weak_warning>)
A.method(<weak_warning descr="Passing inspections.PyCallByClassInspection.test.B instead of inspections.PyCallByClassInspection.test.A. Is this intentional?">B()</weak_warning>)
# PY-21083
float.fromhex('A')