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