Ejemplo n.º 1
0
  def visit_If(self, node):
    if not isinstance(node.test, bool):
      raise ParseError("Unexpected if statement" + debug.dump(node, ast3))

    if node.test:
      return Splice(node.body)
    else:
      return Splice(node.orelse)
Ejemplo n.º 2
0
def main():
    parser = argparse.ArgumentParser(usage='%(prog)s [options] input')
    args, options = arg_parser.add_pytype_and_parse(parser, sys.argv[1:])

    filename = args.inputs[0]
    with open(filename, 'r') as f:
        src = f.read()
    module = annotate_ast.annotate_source(src, ast3, options)
    print(debug.dump(module, ast3))
Ejemplo n.º 3
0
  def enter_If(self, node):
    # Evaluate the test and preemptively remove the invalid branch so we don't
    # waste time traversing it.
    node.test = conditions.evaluate(node.test, self.version, self.platform)
    if not isinstance(node.test, bool):
      raise ParseError("Unexpected if statement" + debug.dump(node, ast3))

    if node.test:
      node.orelse = []
    else:
      node.body = []
Ejemplo n.º 4
0
def parse_pyi_debug(
    src: str,
    filename: str,
    module_name: str,
    options: Optional[PyiOptions] = None,
) -> Tuple[pytd.TypeDeclUnit, _GeneratePytdVisitor]:
  """Debug version of parse_pyi."""
  options = options or PyiOptions()
  feature_version = _feature_version(options.python_version)
  root = _parse(src, feature_version, filename)
  print(debug.dump(root, ast3, include_attributes=False))
  gen_pytd = _GeneratePytdVisitor(src, filename, module_name, options)
  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
Ejemplo n.º 5
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
Ejemplo n.º 6
0
 def show(self, node):
   print(debug.dump(node, ast3, include_attributes=True))