Lib.Krakatau.ssa.graph.pyc Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of krakatau-lib Show documentation
Show all versions of krakatau-lib Show documentation
Assembler, disassebmler, decompiler and compiler tools library for Java.
?
?HRc @ s( d d l Z d d l Z d d l Z e j Z d d l m Z m Z m Z m Z m
Z
d d l m Z m Z d d l
m Z d d l m Z d d l m Z d d l m Z d d
l m Z m Z d d l m Z m Z m Z d e f d
? ? YZ d e f d ? ? YZ d ? Z d ? Z d ? Z d S( i????Ni ( t
blockmakert constraintst
variablegrapht objtypest subproc( t ssa_jumpst ssa_opsi ( t parseUnboundMethodDescriptor( t
graph_util( t opnames( t verifier_types( t
SSA_OBJECTt SSA_MONAD( t slots_tt
BasicBlockt verifierToSSATypet SSA_Variablec B s/ e Z d Z d
d d ? Z d ? Z d ? Z RS( t typet origint namet constt decltypet c C s1 | | _ | | _ | | _ d | _ d | _ d S( N( R R R t NoneR R ( t selft type_R R ( ( s9 /home/alex/projects/github/krakatau/Krakatau/ssa/graph.pyt __init__ s
c C s# | j r | j St t | ? j ? S( N( R t supert Variablet __str__( R ( ( s9 /home/alex/projects/github/krakatau/Krakatau/ssa/graph.pyR s c C s5 | j r | j n d t t | ? ? } d j | ? S( Nt @s Var {}( R t hext idt format( R R ( ( s9 /home/alex/projects/github/krakatau/Krakatau/ssa/graph.pyt __repr__ s (( s types origins names consts decltypeN( t __name__t
__module__t __slots__R R R R" ( ( ( s9 /home/alex/projects/github/krakatau/Krakatau/ssa/graph.pyR s t SSA_Graphc B s? e Z d \ Z Z Z d ? Z d ? Z d ? Z d ? Z d ? Z d ? Z
d ? Z d
? Z d ? Z
d ? Z d
? Z d ? Z d ? Z e j e j ? Z d ? Z d ? Z d ? Z d ? Z d ? Z d ? Z RS( i????i????i????c C s] i | _ | | _ | j | _ | j j | _ | j } t | j | j j | j ? \ } } g | D] } | j | i ? ^ qa } | j
t ? } t d | d | d g ? } | g | | _
t | j d g d t j | d ? ?} t d t f | f g ? | _ g | j
D] }
|
d k r|
^ q| _ | ` | j
t ? } g | d D] } | j | i ? ^ qI} t | j d g d t j | | g | ? ?}
t d | d g d | ? |
_ g |
_ | j
t ? | j
t ? g } } t | j d g d t j | | g | ? ?} t d | d g d | ? | _ g | _ | |
| | _ | _ | _ d | _! d S( Nt monadt localst stackt linest jumpi i (" t _internst codet class_t envt methodR t
descriptorR t statict makeVarFromVtypet makeVariableR R
t inputArgsR t entryKeyR t Gotot ODictt Falset successorStatesR t tempvarst sourceStatest returnKeyt Returnt inslotsR t
rethrowKeyt Rethrowt
entryBlockt returnBlockt rethrowBlockt blocks( R R- R0 t
inputTypest returnTypest vtt funcArgst funcInMonadt
entryslotst entrybt xt newmonadt newstackt returnbt rethrowb( ( s9 /home/alex/projects/github/krakatau/Krakatau/ssa/graph.pyR 5 s2 $%'+). ". c s? | j } t j | j g d ? ? } t t | ? ? } t t j j t t | ? ? ? | _ t
| j ? t
| ? k s{ t ? t | j ? t | ? k r?t
| j ? ? xF | j D]; } x2 | j
D]&