def generate_function(tpl_folder_path, max_parameter_count=0, return_probability=30, method_name=None): if not method_name: method_name = ObjcGenerator.generate_function_name(0, 2, 3, 50) parameters = [] if max_parameter_count > 0: parameter_count = random.randint(0, max_parameter_count) for i in range(parameter_count): parameter = ObjcGenerator.generate_parameter() if i > 0: parameter.prev = ObjcGenerator.get_random_parameter_prev( ) + parameter.name parameters.append(parameter) if random.randint(0, 100) <= return_probability: return_type = CType(RandomGenerater.generate_objc_type()) else: return_type = CType(None) return ObjcMethod(method_name, parameters, return_type, tpl_folder_path)
def generate_parameter(param_name=None, param_type=None): if not param_name: param_name = ObjcGenerator.generate_function_name(0, 0) if not param_type: param_type = CType(RandomGenerater.generate_objc_type()) return CParameter(param_name, param_type)
def generate_field(tpl_folder_path, field_name=None, field_type=None): if not field_name: field_name = ObjcGenerator.generate_field_name(2, 3) if not field_type: field_type = CType(RandomGenerater.generate_objc_type()) return CField(field_name, field_type, tpl_folder_path)