def __init__(self, partial_asts, version, debug=False, route_whitelist_filter=None):
self._partial_asts = partial_asts<EOL>self._debug = debug<EOL>self._logger = logging.getLogger('<STR_LIT>')<EOL>self.api = Api(version=version)<EOL>self._env_by_namespace = {}<EOL>self._resolution_in_progress = set()  <EOL>self._item_by_canonical_name = {}<EOL>self._patch_data_by_canonical_name = {}<EOL>self._routes = route_whitelist_filter<EOL>
Creates a new tower of stone.

        :type specs: List[Tuple[path: str, text: str]]
        :param specs: `path` is never accessed and is only used to report the
            location of a bad spec to the user. `spec` is the text contents of
            a spec (.stone) file.