コード例 #1
0
ファイル: meet.py プロジェクト: khukri/mypy
                 return Instance(t.typ, args)
             else:
                 return NoneTyp()
         else:
             if is_subtype(t, self.s):
                 return t
             elif is_subtype(self.s, t):
                 # See also above comment.
                 return self.s
             else:
                 return NoneTyp()
     else:
         return self.default(self.s)
 
 Typ visit_callable(self, Callable t):
     if isinstance(self.s, Callable) and is_similar_callables(
                                                     t, (Callable)self.s):
         return combine_similar_callables(t, (Callable)self.s, self.basic)
     else:
         return self.default(self.s)
 
 Typ visit_tuple_type(self, TupleType t):
     if isinstance(self.s, TupleType) and (((TupleType)self.s).length() ==
                                           t.length()):
         Typ[] items = []
         for i in range(t.length()):
             items.append(self.meet(t.items[i],
                                    ((TupleType)self.s).items[i]))
         return TupleType(items)
     else:
         return self.default(self.s)
 
コード例 #2
0
ファイル: meet.py プロジェクト: khukri/mypy-py
 def visit_callable(self, t):
     if isinstance(self.s, Callable) and is_similar_callables(
                                                     t, self.s):
         return combine_similar_callables(t, self.s, self.basic)
     else:
         return self.default(self.s)