99
1010from chaotic import cpp_format
1111from chaotic import cpp_names
12+ from chaotic import main
1213from chaotic .back .cpp import renderer
1314from chaotic .back .cpp import translator
14- from chaotic .back .cpp import types
15+ from chaotic .back .cpp import types as cpp_types
1516from chaotic .front import ref
16- from chaotic .front .types import ResolvedSchemas
17- from chaotic .main import generate_cpp_name_func
18- from chaotic .main import NameMapItem
19- from chaotic .main import read_schemas
17+ from chaotic .front import types as front_types
2018
2119INCLUDE_DIRS = [
2220 str (pathlib .Path (__file__ ).parent .parent .parent / 'include' ),
@@ -80,10 +78,10 @@ def enrich_jinja_env(env: jinja2.Environment) -> None:
8078
8179class CompilerBase :
8280 def __init__ (self ) -> None :
83- self ._variables_types : dict [str , dict [str , types .CppType ]] = {}
81+ self ._variables_types : dict [str , dict [str , cpp_types .CppType ]] = {}
8482 self ._definitions : dict [
8583 str ,
86- tuple [ResolvedSchemas , dict [str , types .CppType ]],
84+ tuple [front_types . ResolvedSchemas , dict [str , cpp_types .CppType ]],
8785 ] = {}
8886 self ._defaults : dict [str , Any ] = {}
8987 self .seen_includes : dict [str , set [str ]] = {}
@@ -114,14 +112,14 @@ def _extract_definition_names(self, content: Any) -> list[str]:
114112
115113 return []
116114
117- def extract_variable_type (self ) -> types .CppType :
115+ def extract_variable_type (self ) -> cpp_types .CppType :
118116 keys = list (self ._variables_types .keys ())
119117 assert len (keys ) == 1
120118 name = keys [0 ]
121119
122120 name_lower = self .format_ns_name (name )
123- types = self ._variables_types [name ]
124- return types [f'::taxi_config::{ name_lower } ::VariableTypeRaw' ]
121+ var_types = self ._variables_types [name ]
122+ return var_types [f'::taxi_config::{ name_lower } ::VariableTypeRaw' ]
125123
126124 def format_ns_name (self , name : str ) -> str :
127125 return name .lower ().replace ('/' , '_' ).replace ('-' , '_' ).split ('.' )[0 ]
@@ -133,7 +131,7 @@ def parse_definition(
133131 include_dirs : list [str ] = [],
134132 ) -> None :
135133 name_lower = self .format_ns_name (name )
136- name_map = [NameMapItem ('/([^/]+)/={0}' )]
134+ name_map = [main . NameMapItem ('/([^/]+)/={0}' )]
137135 # fname = f'taxi_config/definitions/{name}'
138136 fname = f'{ name } '
139137
@@ -172,9 +170,9 @@ def parse_variable(
172170 name_lower = self .format_ns_name (name )
173171 name_map = [
174172 # Variable type
175- NameMapItem ('/schema/=VariableTypeRaw' ),
173+ main . NameMapItem ('/schema/=VariableTypeRaw' ),
176174 # Aux. types
177- NameMapItem ('/schema/definitions/([^/]+)/={0}' ),
175+ main . NameMapItem ('/schema/definitions/([^/]+)/={0}' ),
178176 ]
179177 # The virtual name is used for generated filepath identification
180178 # fname = f'taxi_config/variables/{name}.types.yaml'
@@ -193,13 +191,13 @@ def parse_variable(
193191 self ._defaults [name ] = self ._read_default (filepath )
194192 self .seen_includes [filepath ] = seen_includes
195193
196- def _collect_schemas (self ) -> list [ResolvedSchemas ]:
194+ def _collect_schemas (self ) -> list [front_types . ResolvedSchemas ]:
197195 schemas = []
198196 for def_schemas , _definitions in self ._definitions .values ():
199197 schemas .append (def_schemas )
200198 return schemas
201199
202- def _collect_types (self ) -> dict [str , types .CppType ]:
200+ def _collect_types (self ) -> dict [str , cpp_types .CppType ]:
203201 types = {}
204202 for _def_schemas , definitions in self ._definitions .values ():
205203 types .update (definitions )
@@ -213,15 +211,15 @@ def _generate_types(
213211 name_map ,
214212 fname : str ,
215213 include_dirs : list [str ],
216- ) -> tuple [ResolvedSchemas , dict [str , types .CppType ], set [str ]]:
217- schemas = read_schemas (
214+ ) -> tuple [front_types . ResolvedSchemas , dict [str , cpp_types .CppType ], set [str ]]:
215+ schemas = main . read_schemas (
218216 erase_path_prefix = erase_prefix ,
219217 filepaths = [filepath ],
220218 name_map = name_map ,
221- file_map = [NameMapItem (escape_re_pattern (filepath ) + '=' + fname )],
219+ file_map = [main . NameMapItem (escape_re_pattern (filepath ) + '=' + fname )],
222220 dependencies = self ._collect_schemas (),
223221 )
224- cpp_name_func = generate_cpp_name_func (
222+ cpp_name_func = main . generate_cpp_name_func (
225223 name_map = name_map ,
226224 erase_prefix = erase_prefix ,
227225 )
@@ -273,7 +271,7 @@ def _jinja(self) -> jinja2.Environment:
273271
274272 def create_aliases (
275273 self ,
276- types : dict [str , types .CppType ],
274+ types : dict [str , cpp_types .CppType ],
277275 ) -> list [tuple [str , str ]]:
278276 return []
279277
0 commit comments