def wrap_name(self) -> str: if self.class_object.wrap_name_filled: base_name = self.class_object.wrap_name.format( class_name=self.class_object.name, wrap_suffix=self.lifecycle_traits.suffix) if self.is_template: self.__create_wrap_template_name(get_template_name(base_name)) return self.cached_wrap_template_name else: return base_name if self.is_template: self.__create_wrap_template_name( get_template_name(self.name) + self.lifecycle_traits.suffix) return self.cached_wrap_template_name else: return self.name + self.lifecycle_traits.suffix
def __generate_snippet(self): if self.enum_generators or self.class_object.abstract: snippet_file_name = os.path.join( self.params.internal_snippets_folder, *get_template_name(self.implementation_name).split('::')) snippet_file_name += replace_template_to_filename( get_template_tail(self.implementation_name)) + '.h' snippet_file = FileGenerator(snippet_file_name) snippet_file.put_begin_cpp_comments(self.params) for enum_generator in self.enum_generators: enum_generator.generate_enum_definition(snippet_file) if self.class_object.abstract: snippet_file.put_line('') snippet_file.put_line('virtual ~{impl_name}() {{}}'.format( impl_name=get_template_name( self.implementation_name).split('::')[-1])) for method_generator in self.method_generators: method_generator.generate_snippet(snippet_file)
def __create_wrap_template_name(self): if not self.cached_wrap_template_name: name_prefix = get_template_name( self.name) + self.lifecycle_traits.suffix template_arguments = [ t_arg.wrap_return_type() for t_arg in self.template_argument_generators ] raw_name = '{name}<{template_arguments}>'.format( name=name_prefix, template_arguments=', '.join(template_arguments)) self.cached_wrap_template_name = format_type(raw_name)
def wrap_short_name(self) -> str: return get_template_name(self.wrap_name)