Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
}
'''
modules = {}
if 'modules' in tree:
for module_name, sub_tree in tree['modules'].items():
full_name = prefix + module_name
new_prefix = full_name + peru.scope.SCOPE_SEPARATOR
module_scope = scope_tree_to_scope(sub_tree, new_prefix)
modules[module_name] = DummyModule(full_name, module_scope)
rules = {}
if 'rules' in tree:
for rule_name in tree['rules']:
full_name = prefix + rule_name
rules[rule_name] = DummyRule(full_name)
return peru.scope.Scope(modules, rules)
def _parse_toplevel(blob, name_prefix):
modules = _extract_modules(blob, name_prefix)
rules = _extract_named_rules(blob, name_prefix)
imports = _extract_multimap_field(blob, 'imports')
if blob:
raise ParserError("Unknown toplevel fields: " + ", ".join(blob.keys()))
return Scope(modules, rules), imports