def generate_output(stripped_file_content): first_input_file_name = os.path.splitext(os.path.basename(sys.argv[1]))[0] output_file_name = subs.new_class_name(first_input_file_name) + '.h' with open(output_file_name, 'w') as f: print('Writing output file: %s\n' % output_file_name) map(lambda block: write_lines(f, block), create_header(stripped_file_content, output_file_name)) map(lambda (block, log): write_lines(f, block, log, line_joint = '\\\n'), create_body(stripped_file_content))
def create_c_macro_def(classes): def remove_duplicates(seq): seen = set() return [x for x in seq if x not in seen and not seen.add(x)] argument_list = remove_duplicates( subs.arguments_for(classes) + map(subs.new_class_name, classes)) return '#define ' + subs.new_class_name( classes[0]).upper() + '_%s(' + ', '.join(argument_list) + ')'
def generate_output(stripped_file_content): first_input_file_name = os.path.splitext(os.path.basename(sys.argv[1]))[0] output_file_name = subs.new_class_name(first_input_file_name) + '.h' with open(output_file_name, 'w') as f: print('Writing output file: %s\n' % output_file_name) map(lambda block: write_lines(f, block), create_header(stripped_file_content, output_file_name)) map(lambda (block, log): write_lines(f, block, log, line_joint='\\\n'), create_body(stripped_file_content))
def create_implementation(decl_type, cls, category): if (decl_type != 'interface') or category: return None return replace(impl.imp_block, [(r'new_class', subs.new_class_name(cls)), (r'original_class', cls)])
def create_declaration_header(decl_type, cls, category, superclass, protocols): yield "@" + decl_type + ' ' + subs.new_class_name(cls) if superclass: yield " : " + cls if category: yield " (" + category + ")" if protocols: yield " <" + ', '.join(protocols) + '>'
def create_c_macro_def(classes): def remove_duplicates(seq): seen = set(); return [x for x in seq if x not in seen and not seen.add(x)] argument_list = remove_duplicates(subs.arguments_for(classes) + map(subs.new_class_name, classes)) return '#define ' + subs.new_class_name(classes[0]).upper() + '_%s(' + ', '.join(argument_list) + ')'