示例#1
0
    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)
示例#2
0
 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)
示例#3
0
 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)