Ejemplo n.º 1
0
 def test_pack_args(self, parameter_type, args, kwargs,
                    expected_value_string):
     self.assertEqual(
         str(
             function_utils.pack_args(parameter_type, args, kwargs,
                                      NoopIngestContextForTest())),
         expected_value_string)
Ejemplo n.º 2
0
 def __call__(self, *args, **kwargs):
   if not isinstance(self._comp.type_signature,
                     computation_types.FunctionType):
     raise SyntaxError(
         'Function-like invocation is only supported for values of functional '
         'types, but the value being invoked is of type {} that does not '
         'support invocation.'.format(self._comp.type_signature))
   if args or kwargs:
     args = [to_value(x, None, self._context_stack) for x in args]
     kwargs = {
         k: to_value(v, None, self._context_stack) for k, v in kwargs.items()
     }
     arg = function_utils.pack_args(self._comp.type_signature.parameter, args,
                                    kwargs, self._context_stack.current)
     arg = ValueImpl.get_comp(to_value(arg, None, self._context_stack))
   else:
     arg = None
   return ValueImpl(building_blocks.Call(self._comp, arg), self._context_stack)