MCPcopy Create free account
hub / github.com/scottrogowski/code2flow / make_file_group

Function make_file_group

code2flow/engine.py:333–363  ·  view source on GitHub ↗

Given an AST for the entire file, generate a file group complete with subgroups, nodes, etc. :param tree ast: :param filename str: :param extension str: :rtype: Group

(tree, filename, extension)

Source from the content-addressed store, hash-verified

331
332
333def make_file_group(tree, filename, extension):
334 """
335 Given an AST for the entire file, generate a file group complete with
336 subgroups, nodes, etc.
337
338 :param tree ast:
339 :param filename str:
340 :param extension str:
341
342 :rtype: Group
343 """
344 language = LANGUAGES[extension]
345
346 subgroup_trees, node_trees, body_trees = language.separate_namespaces(tree)
347 group_type = GROUP_TYPE.FILE
348 token = os.path.split(filename)[-1].rsplit('.' + extension, 1)[0]
349 line_number = 0
350 display_name = 'File'
351 import_tokens = language.file_import_tokens(filename)
352
353 file_group = Group(token, group_type, display_name, import_tokens,
354 line_number, parent=None)
355 for node_tree in node_trees:
356 for new_node in language.make_nodes(node_tree, parent=file_group):
357 file_group.add_node(new_node)
358
359 file_group.add_node(language.make_root_node(body_trees, parent=file_group), is_root=True)
360
361 for subgroup_tree in subgroup_trees:
362 file_group.add_subgroup(language.make_class_group(subgroup_tree, parent=file_group))
363 return file_group
364
365
366def _find_link_for_call(call, node_a, all_nodes):

Callers 1

map_itFunction · 0.85

Calls 8

add_nodeMethod · 0.95
add_subgroupMethod · 0.95
GroupClass · 0.85
separate_namespacesMethod · 0.45
file_import_tokensMethod · 0.45
make_nodesMethod · 0.45
make_root_nodeMethod · 0.45
make_class_groupMethod · 0.45

Tested by

no test coverage detected