def getFreeVariableMemberAccessChains(pyAstNode, isClassContext=None, getPositions=False): pyAstNode = PyAstUtil.getRootInContext(pyAstNode, isClassContext) vis = _FreeVariableMemberAccessChainsVisitor() vis.visit(pyAstNode) return vis.getFreeVariablesMemeberAccessChains(getPositions)
def getFreeVariableMemberAccessChains(pyAstNode, isClassContext=None, getPositions=False, exclude_predicate=None): pyAstNode = PyAstUtil.getRootInContext(pyAstNode, isClassContext) vis = _FreeVariableMemberAccessChainsVisitor(exclude_predicate) vis.visit(pyAstNode) return vis.getFreeVariablesMemeberAccessChains(getPositions)
def getFreeVariableMemberAccessChains(pyAstNode, isClassContext=None, getPositions=False, exclude_predicate=None): pyAstNode = PyAstUtil.getRootInContext(pyAstNode, isClassContext) vis = _FreeVariableMemberAccessChainsTransvisitor(exclude_predicate) vis.visit(pyAstNode) return vis.getFreeVariablesMemberAccessChains(getPositions)
def getFreeVariables(pyAstNode, isClassContext=None, getPositions=False): pyAstNode = PyAstUtil.getRootInContext(pyAstNode, isClassContext) freeVarsVisitor = _FreeVarsVisitor() freeVarsVisitor.visit(pyAstNode) return freeVarsVisitor.getFreeVars(getPositions=getPositions)
def replaceUsesWithCalls(pyAstNode, names, isClassContext): pyAstNode = PyAstUtil.getRootInContext(pyAstNode, isClassContext) vis = _NameToNameCallTransformer(names) return ast.fix_missing_locations(vis.visit(pyAstNode))
def collapseFreeVariableMemberAccessChains(pyAstNode, chain_to_name, isClassContext=None): pyAstNode = PyAstUtil.getRootInContext(pyAstNode, isClassContext) vis = _FreeVariableMemberAccessChainsCollapsingTransformer(chain_to_name) return ast.fix_missing_locations(vis.visit(pyAstNode))