/** ** \file object/tasks.cc ** \brief Object module related tasks' implementation. */ #include #include #include #include #include #define DEFINE_TASKS 1 #include #undef DEFINE_TASKS namespace object::tasks { void object_parse() {} // FIXME DONE: Some code was deleted here. void object_bind() { task_error() << bind_obj(ast::tasks::the_program.get()) << &misc::error::exit_on_error; } void object_types_compute() { task_error() << ::object::types_check(*ast::tasks::the_program) << &misc::error::exit_on_error; } static std::unique_ptr class_names; void object_rename() { class_names.reset(::object::rename(*ast::tasks::the_program)); } void object_desugar() { astclone::apply(::object::desugar, ast::tasks::the_program, *class_names.get()); } void raw_object_desugar() { astclone::apply(::object::raw_desugar, ast::tasks::the_program, *class_names.get()); } } // namespace object::tasks