| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/python3/dist-packages/pythran/analyses/ |
Upload File : |
""" Gathers variables that have value modification in the given node. """
from pythran.passmanager import NodeAnalysis
import gast as ast
class IsAssigned(NodeAnalysis):
"""
Gather variable that change in given node.
It doesn't check constness as it is use for integer so we don't care about
arguments effects as it is use by value.
"""
def __init__(self):
""" Basic initialiser. """
self.result = list()
super(IsAssigned, self).__init__()
def visit_Name(self, node):
""" Stored variable have new value. """
if isinstance(node.ctx, ast.Store):
self.result.append(node)
def visit_Tuple(self, node):
if isinstance(node.ctx, ast.Store):
def rec(n):
if isinstance(n, ast.Name):
self.result.append(n)
elif isinstance(n, ast.Tuple):
for elt in n.elts:
rec(elt)
rec(node)