def check(self, context: Context): resultType = self.resolveAndCheck(context) context = context.newChildContext() if self.resultName is not None: context.registerValue(Variable(self.resultName, resultType)) self.andThen.check(context, VoidType.instance) return VoidType.instance
def interpret(self, context: Context): resultType = self.resolveAndCheck(context) resultValue = super().interpret(context) context = context.newChildContext() if self.resultName is not None: context.registerValue(Variable(self.resultName, resultType)) context.setValue(self.resultName, resultValue) self.andThen.interpret(context) return None