Exemple #1
0
def is_unknown(t):
    """Return True if this is an ~unknown."""
    if isinstance(t, (pytd.ClassType, pytd.NamedType, pytd.Class, StrictType)):
        return escape.is_unknown(t.name)
    elif isinstance(t, str):
        return escape.is_unknown(t)
    else:
        return False
Exemple #2
0
 def test_arg_unknowns(self):
     # test that even with --quick, we still generate ~unknowns for parameters.
     ty = self.Infer("""
   def f(x):
     return 42
 """,
                     quick=True,
                     show_library_calls=True)
     f = ty.Lookup("f")
     self.assertEqual(len(f.signatures), 1)
     s = f.signatures[0]
     self.assertEqual(len(s.params), 1)
     p = s.params[0]
     self.assertTrue(escape.is_unknown(p.type.name))
     # Lookup that a class with same _unknown_ name as the param type exists.
     _ = ty.Lookup(p.type.name)
Exemple #3
0
 def VisitClassType(self, node):
     if escape.is_unknown(node.name):
         return pytd.ClassType(
             self.cls_to_canonical_name[self.name_to_cls[node.name]], None)
     else:
         return node