# Path: pywrap/utils.py
# def indent_block(block, level):
#     """Indent code block.
# 
#     Parameters
#     ----------
#     block : str
#         Code block that might consist of multiple lines separated by os.linesep
# 
#     level : int
#         Level of indentation. Each level corresponds to four spaces.
#     """
#     lines = block.split(os.linesep)
#     indented_lines = [_indent_line(line, level=level) for line in lines]
#     indented_block = os.linesep.join(indented_lines)
#     return indented_block
# 
# def from_camel_case(name):
#     """Convert camel case to snake case.
# 
#     Function and variable names are usually written in camel case in C++ and
#     in snake case in Python.
#     """
#     new_name = str(name)
#     i = 0
#     while i < len(new_name):
#         if new_name[i].isupper() and i > 0:
#             new_name = new_name[:i] + "_" + new_name[i:]
#             i += 1
#         i += 1
#     return new_name.lower()


import os
import warnings
from .utils import indent_block, from_camel_case



class AstNode(object):
    def __init__(self):
        self.nodes = []

# Path: pywrap/utils.py
# def indent_block(block, level):
#     """Indent code block.
# 
#     Parameters
#     ----------
#     block : str
#         Code block that might consist of multiple lines separated by os.linesep
# 
#     level : int
#         Level of indentation. Each level corresponds to four spaces.
#     """
#     lines = block.split(os.linesep)
#     indented_lines = [_indent_line(line, level=level) for line in lines]
#     indented_block = os.linesep.join(indented_lines)
#     return indented_block
# 
# def from_camel_case(name):
#     """Convert camel case to snake case.
# 
#     Function and variable names are usually written in camel case in C++ and
#     in snake case in Python.
#     """
#     new_name = str(name)
#     i = 0
#     while i < len(new_name):
#         if new_name[i].isupper() and i > 0:
#             new_name = new_name[:i] + "_" + new_name[i:]
#             i += 1
#         i += 1
#     return new_name.lower()


# Path: pywrap/ast.py
import os
import warnings
from .utils import indent_block, from_camel_case




class AstNode(object):
    def __init__(self):
        self.nodes = []

        self.ignored = False