# Path: pycc/asttools/parse.py
# def parse(source, filename='<unknown>', mode='exec'):
#     """An ast.parse extension.
# 
#     This function behaves identically to the standard ast.parse except that it
#     adds parent and sibling references to each node.
#     """
#     node = ast.parse(source, filename, mode)
#     references.add_parent_references(node)
#     references.add_sibling_references(node)
# 
#     return node
# 
# Path: pycc/asttools/visitor.py
# class NodeVisitor(object):
# class NodeVisitorIter(NodeVisitor):
# class NodeTransformer(NodeVisitor):
#     def __init__(self, node):
#     def generic_visit(self, node):
#     def visit(self):
#     def visit(self):
#     def __init__(self, *args, **kwargs):
#     def modified(self):
#     def _replace(self, new, old):
#     def visit(self):


import ast
import functools
import timeit
import os
import pytest
from pycc.asttools import parse
from pycc.asttools import visitor
"""Test suite for asttools.visitor."""

from __future__ import division
from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals





@pytest.fixture
def big_ast():
    """Generate a large AST."""
    # Trickery to get the path of a near-by file.
    file_path = os.path.join(
        os.path.dirname(
            os.path.realpath(__file__)
        ),
        'test_name.py',
    )

    with open(file_path, 'r') as source_file:


# Path: pycc/asttools/parse.py
# def parse(source, filename='<unknown>', mode='exec'):
#     """An ast.parse extension.
# 
#     This function behaves identically to the standard ast.parse except that it
#     adds parent and sibling references to each node.
#     """
#     node = ast.parse(source, filename, mode)
#     references.add_parent_references(node)
#     references.add_sibling_references(node)
# 
#     return node
# 
# Path: pycc/asttools/visitor.py
# class NodeVisitor(object):
# class NodeVisitorIter(NodeVisitor):
# class NodeTransformer(NodeVisitor):
#     def __init__(self, node):
#     def generic_visit(self, node):
#     def visit(self):
#     def visit(self):
#     def __init__(self, *args, **kwargs):
#     def modified(self):
#     def _replace(self, new, old):
#     def visit(self):


# Path: tests/asttools/test_visitor.py
import ast
import functools
import timeit
import os
import pytest
from pycc.asttools import parse
from pycc.asttools import visitor

"""Test suite for asttools.visitor."""

from __future__ import division
from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals





@pytest.fixture
def big_ast():
    """Generate a large AST."""
    # Trickery to get the path of a near-by file.
    file_path = os.path.join(
        os.path.dirname(
            os.path.realpath(__file__)
        ),
        'test_name.py',
    )

    with open(file_path, 'r') as source_file:


        node = parse.parse(source_file.read())