| 104 | */ |
| 105 | |
| 106 | static void import_base_rules( module_t * class_, OBJECT * base ) |
| 107 | { |
| 108 | OBJECT * module_name = class_module_name( base ); |
| 109 | module_t * base_module = bindmodule( module_name ); |
| 110 | LIST * imported; |
| 111 | struct import_base_data d; |
| 112 | d.base_name = base; |
| 113 | d.base_module = base_module; |
| 114 | d.class_module = class_; |
| 115 | object_free( module_name ); |
| 116 | |
| 117 | if ( base_module->rules ) |
| 118 | hashenumerate( base_module->rules, import_base_rule, &d ); |
| 119 | |
| 120 | imported = imported_modules( base_module ); |
| 121 | import_module( imported, class_ ); |
| 122 | list_free( imported ); |
| 123 | } |
| 124 | |
| 125 | |
| 126 | OBJECT * make_class_module( LIST * xname, LIST * bases, FRAME * frame ) |
no test coverage detected