Exemplo n.º 1
0
 def include_dependent_declaration_headers(self,
                                           file_generator: FileGenerator,
                                           file_cache: FileCache):
     parent_generator = self.enum_argument_generator.parent_generator
     if type(parent_generator) is NamespaceGenerator:
         header_to_include = file_cache.enums_header(
             parent_generator.full_name_array)
     else:
         header_to_include = file_cache.class_header_decl(
             parent_generator.full_name_array)
     file_generator.include_user_header(header_to_include)
Exemplo n.º 2
0
 def process_external_namespaces(namespaces: [object], external_namespaces: [object]):
     for cur_namespace in namespaces:
         external_namespace = TExternalNamespace()
         external_namespace.name = cur_namespace.name
         external_namespace.detach_method_name = new_params.detach_method_name
         external_namespace.get_raw_pointer_method_name = new_params.get_raw_pointer_method_name
         file_cache = FileCache(new_params)
         external_namespace.include = file_cache.namespace_header(cur_namespace.full_name_array)
         process_external_namespaces(cur_namespace.nested_namespaces, external_namespace.namespaces)
         for cur_class in cur_namespace.classes:
             external_class = TExternalClass()
             external_class.name = cur_class.name
             external_class.wrap_name = cur_class.wrap_name
             external_class.include_declaration = file_cache.class_header_decl(cur_class.full_name_array)
             external_class.include_definition = file_cache.class_header(cur_class.full_name_array)
             external_namespace.classes.append(external_class)
         external_namespaces.append(external_namespace)