def blockOperation(self, frame):
        # variables bound in the enclosing context of the with-block frame.
        boundVariables = {}
        boundVariables.update(frame.f_globals)
        boundVariables.update(frame.f_locals)

        unboundLocals = []
        for var in frame.f_code.co_varnames:
            if frame.f_locals not in var:
                unboundLocals.append(var)
        unboundLocals = sorted(unboundLocals)

        withBlock = PyforaWithBlock.PyforaWithBlock(
            lineNumber=self.lineNumber,
            sourceText=self.sourceText,
            boundVariables=boundVariables,
            sourceFileName=self.sourceFileName,
            unboundLocals=unboundLocals
            )

        f_proxy = self.executor.define(withBlock).resultWithWakeup()

        if self.compileOnly:
            f_proxy.triggerCompilation().resultWithWakeup()
            return {}

        f_result_proxy = f_proxy().resultWithWakeup()

        try:
            tuple_of_proxies = f_result_proxy.toTupleOfProxies().resultWithWakeup()
        except Exceptions.ComputationError as e:
            self.traceAndException = (e.trace, e.remoteException)
            return {}

        proxy_trace = tuple_of_proxies[1]
        trace = proxy_trace.toLocal().resultWithWakeup()

        if isinstance(trace, tuple):
            self.traceAndException = (trace, tuple_of_proxies[2].toLocal().resultWithWakeup())

        proxy_dict = tuple_of_proxies[0]

        dict_of_proxies = proxy_dict.toDictOfAssignedVarsToProxyValues().resultWithWakeup()

        return dict_of_proxies
dataset/ETHPy150Open ufora/ufora/packages/python/pyfora/WithBlockExecutor.py/WithBlockExecutor.blockOperation/swapped operands of `not in`