Transition to new pass/poset setup

This commit is contained in:
Nathan Braswell
2018-08-26 21:45:38 -04:00
parent 1cae1b1504
commit 87bc88cde4
5 changed files with 103 additions and 108 deletions

View File

@@ -177,22 +177,22 @@ obj c_generator (Object) {
match (*node) {
ast_node::function(backing) generate_function_definition(node)
ast_node::type_def(backing) {
type_poset.add_vertex(node)
type_poset.add_job(node)
backing.variables.for_each(fun(i: *ast_node) {
var var_type = get_ast_type(i->declaration_statement.identifier)
if (!var_type->indirection && var_type->type_def)
type_poset.add_relationship(node, var_type->type_def)
type_poset.add_open_dep(node, var_type->type_def)
})
}
}
})
}
ast_node::type_def(backing) {
type_poset.add_vertex(child)
type_poset.add_job(child)
backing.variables.for_each(fun(i: *ast_node) {
var var_type = get_ast_type(i->declaration_statement.identifier)
if (!var_type->indirection && var_type->type_def)
type_poset.add_relationship(child, var_type->type_def)
type_poset.add_open_dep(child, var_type->type_def)
})
}
ast_node::adt_def(backing) error("ADT remaining!")