예제 #1
0
 def match(self, f: GeneratorFunction, i: int, a: GeneratorVariable):
     length = len(f.args)
     if i+1 < length:
         if is_string_array_type(self.type_manager.resolve_to_basic_type_remove_const(a.type)):
             a2 = f.args[i + 1]
             if is_integer_type(self.type_manager.resolve_to_basic_type_remove_const(a2.type)):
                 return True
     return False
예제 #2
0
    def match(self, f: GeneratorFunction, i: int, a: GeneratorVariable):
        if is_reference_type(a.type):
            if not is_const_type(a.type):
                return True
        t = self.type_manager.resolve_to_basic_type_remove_const(a.type)
        if is_string_type(t):
            return False  # in most of the case char * is a input string

        if is_pointer_type(t):
            base = pointer_base(t)
            if is_integer_type(base):
                return True
            if is_string_type(base):
                return True