Ejemplo n.º 1
0
 def _call_eager(self, expr: E.Apply, arguments: List[V.Base]) -> V.Base:
     arr = arguments[0]
     assert isinstance(arr, V.Array)
     for arg in arr.value:
         if not isinstance(arg, V.Null):
             return arg
     raise Error.NullValue(expr)
Ejemplo n.º 2
0
 def eval(self, env: Env.Values) -> V.Base:
     ""
     try:
         if self.condition.eval(env).expect(T.Boolean()).value:
             ans = self.consequent.eval(env)
         else:
             ans = self.alternative.eval(env)
         return ans
     except ReferenceError:
         raise Error.NullValue(self) from None