def foldFunctionIR(extractor, func, vargs=(), kargs={}): newvargs = [arg.pyobj for arg in vargs] assert not kargs, kargs newkargs = {} result = applyFunction(func, newvargs, newkargs) return extractor.getObject(result)
def foldFunctionIR(extractor, func, vargs=(), kargs={}): newvargs = [arg.pyobj for arg in vargs] assert not kargs, kargs newkargs = {} result = applyFunction(func, newvargs, newkargs) return extractor.getObject(result)
def foldCallAST(extractor, node, func, args=(), kargs={}): assert not kargs, kargs for arg in args: if not existingConstant(arg): return node try: args = [arg.object.pyobj for arg in args] value = apply.applyFunction(func, args) obj = extractor.getObject(value) return ast.Existing(obj) except apply.ApplyError: pass return node
def foldCallAST(extractor, node, func, args=(), kargs={}): assert not kargs, kargs for arg in args: if not existingConstant(arg): return node try: args = [arg.object.pyobj for arg in args] value = apply.applyFunction(func, args) obj = extractor.getObject(value) return ast.Existing(obj) except apply.ApplyError: pass return node