コード例 #1
0
 def __init__(self,
              base_module,
              python_version,
              pythonpath=(),
              imports_map=None,
              use_typeshed=True,
              modules=None):
   self._modules = modules or self._base_modules(python_version)
   if self._modules["__builtin__"].needs_unpickling():
     self._unpickle_module(self._modules["__builtin__"])
   if self._modules["typing"].needs_unpickling():
     self._unpickle_module(self._modules["typing"])
   self.builtins = self._modules["__builtin__"].ast
   self.typing = self._modules["typing"].ast
   self.base_module = base_module
   self.python_version = utils.normalize_version(python_version)
   self.pythonpath = pythonpath
   self.imports_map = imports_map
   self.use_typeshed = use_typeshed
   self._concatenated = None
   self._import_name_cache = {}  # performance cache
   self._aliases = {}
   self._prefixes = set()
   # Paranoid verification that pytype.main properly checked the flags:
   if imports_map is not None:
     assert pythonpath == [""], pythonpath
コード例 #2
0
def parse_pyi(src: str,
              filename: Optional[str],
              module_name: str,
              python_version: VersionType,
              platform: Optional[str] = None) -> pytd.TypeDeclUnit:
    """Parse a pyi string."""
    filename = filename or ""
    feature_version = _feature_version(python_version)
    python_version = utils.normalize_version(python_version)
    root = _parse(src, feature_version, filename)
    gen_pytd = GeneratePytdVisitor(src, filename, module_name, python_version,
                                   platform)
    root = gen_pytd.visit(root)
    root = post_process_ast(root, src, module_name)
    return root
コード例 #3
0
def parse_pyi_debug(
    src: str,
    filename: str,
    module_name: str,
    python_version: VersionType,
    platform: Optional[str] = None
) -> Tuple[pytd.TypeDeclUnit, GeneratePytdVisitor]:
    """Debug version of parse_pyi."""
    feature_version = _feature_version(python_version)
    python_version = utils.normalize_version(python_version)
    root = _parse(src, feature_version, filename)
    print(debug.dump(root, ast3, include_attributes=False))
    gen_pytd = GeneratePytdVisitor(src, filename, module_name, python_version,
                                   platform)
    root = gen_pytd.visit(root)
    print("---transformed parse tree--------------------")
    print(root)
    root = post_process_ast(root, src, module_name)
    print("---post-processed---------------------")
    print(root)
    print("------------------------")
    print(gen_pytd.defs.type_map)
    print(gen_pytd.defs.module_path_map)
    return root, gen_pytd
コード例 #4
0
 def __init__(self,
              base_module,
              python_version,
              pythonpath=(),
              imports_map=None,
              use_typeshed=True,
              modules=None,
              open_function=open):
   self.python_version = utils.normalize_version(python_version)
   self._modules = _ModuleMap(self.python_version, modules)
   self.builtins = self._modules["builtins"].ast
   self.typing = self._modules["typing"].ast
   self.base_module = base_module
   self._path_finder = _PathFinder(imports_map, pythonpath)
   self._builtin_loader = _BuiltinLoader(self.python_version)
   self._resolver = _Resolver(self.builtins)
   self.use_typeshed = use_typeshed
   self.open_function = open_function
   self._import_name_cache = {}  # performance cache
   self._aliases = {}
   self._prefixes = set()
   # Paranoid verification that pytype.main properly checked the flags:
   if imports_map is not None:
     assert pythonpath == [""], pythonpath
コード例 #5
0
 def test_normalize_version_tuple(self):
   self.assertEqual(utils.normalize_version((2, 7)), (2, 7))
コード例 #6
0
 def test_normalize_version_int(self):
   self.assertEqual(utils.normalize_version(2), (2, 7))
コード例 #7
0
ファイル: utils_test.py プロジェクト: souravbadami/pytype
 def testNormalizeVersionTuple(self):
     self.assertEqual(utils.normalize_version((2, 7)), (2, 7))
コード例 #8
0
ファイル: utils_test.py プロジェクト: souravbadami/pytype
 def testNormalizeVersionInt(self):
     self.assertEqual(utils.normalize_version(2), (2, 7))