Files
Software-Analysis/Assignment-3 Reformated/LCA_JP1_0_0$CFGVisitor.class

99 lines
9.3 KiB
Plaintext
Raw Normal View History

2025-10-28 22:22:05 -06:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>E<01>
 *japa/parser/ast/visitor/VoidVisitorAdapter<init>()V&org/jgrapht/graph/DefaultDirectedGraph
CFGGraph/CFGEdge
  (Ljava/lang/Class;)V  LCA_JP1_0_0$CFGVisitorcurrCFGLorg/jgrapht/Graph;java/util/HashMap
  constantValuesLjava/util/Map;CFGGraph/CFGNode
 !"&japa/parser/ast/body/MethodDeclarationgetName()Ljava/lang/String;$ %&makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String;
( )(Ljava/lang/String;)V + ,- entryNodeLCFGGraph/CFGNode;$ 0 1-exitNode 345 67org/jgrapht/Graph addVertex(Ljava/lang/Object;)Z 9:; <=java/lang/SystemoutLjava/io/PrintStream;$
@AB C)java/io/PrintStreamprintln E F- currentBlock
H IJgetBody"()Ljapa/parser/ast/stmt/BlockStmt;
L MNvisitBlockStmt#(Ljapa/parser/ast/stmt/BlockStmt;)VP
R STaddEdge9(LCFGGraph/CFGNode;LCFGGraph/CFGNode;Ljava/lang/String;)V
V W)printCFG
YZ[ \]japa/parser/ast/stmt/BlockStmtgetStmts()Ljava/util/List; _`a bcjava/util/Listiterator()Ljava/util/Iterator; efg hijava/util/IteratorhasNext()Z ek lmnext()Ljava/lang/Object;ojapa/parser/ast/stmt/Statement
q rsvisitStatement#(Ljapa/parser/ast/stmt/Statement;)Vu#japa/parser/ast/stmt/ExpressionStmt
w xyvisitExpressionStmt((Ljapa/parser/ast/stmt/ExpressionStmt;)V{japa/parser/ast/stmt/IfStmt
} ~ visitIfStmt (Ljapa/parser/ast/stmt/IfStmt;)V<00>japa/parser/ast/stmt/ForStmt
<00> <00><00> visitForStmt!(Ljapa/parser/ast/stmt/ForStmt;)V<00>japa/parser/ast/stmt/WhileStmt
<00> <00><00>visitWhileStmt#(Ljapa/parser/ast/stmt/WhileStmt;)V<00>japa/parser/ast/stmt/ReturnStmt
<00> <00><00>visitReturnStmt$(Ljapa/parser/ast/stmt/ReturnStmt;)V
n<00> <00>"toString
<00><00><00> <00>"java/lang/Stringtrim
t<00><00>=
<00><00> <00><00>contains(Ljava/lang/CharSequence;)Z<00>==
<00><00> <00><00>split'(Ljava/lang/String;)[Ljava/lang/String;<00>;
<00><00> <00><00>replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;<00>\s+
<00><00><00> <00><00>java/lang/IntegerparseInt(Ljava/lang/String;)I
<00><00> <00><00>valueOf(I)Ljava/lang/Integer; <00><00><00> <00><00> java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;<00>java/lang/NumberFormatException <00><00> <00><00>remove&(Ljava/lang/Object;)Ljava/lang/Object;<00>java/lang/Exception
z<00> <00><00> getCondition#()Ljapa/parser/ast/expr/Expression;
<00><00><00>japa/parser/ast/expr/Expression
<00> <00>&evaluateCondition<00>TRUE<00>FALSE<00> %<00>8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;<00>MERGE_IF
z<00> <00><00> getThenStmt"()Ljapa/parser/ast/stmt/Statement;<00>java/util/HashSet 3<00> <00><00>outgoingEdgesOf#(Ljava/lang/Object;)Ljava/util/Set;
<00><00> <00>(Ljava/util/Collection;)V <00>`<00> java/util/Set 3<00> <00><00> getEdgeTarget 3<00> <00>7
removeEdge<00>T
z<00> <00><00> getElseStmt
<00> <00>"getLabel<00>F<00>!=<00>>=<00><=>< <00> 7 containsKey <00>  <00>get
<00>  7equals
<00>
<00> intValue()I$
<00> ]getInit _ iisEmpty
<00> <00>
getComparetrue$ EXIT_FOR
<00>" I<00>
<00>$ %] getUpdate
<00><00>
<00>( <00>)&(Ljava/lang/Object;)Ljava/lang/String;$,
EXIT_WHILE
<00>"
<00>/ 0<00>getExpr$$
4 5'(LCFGGraph/CFGNode;LCFGGraph/CFGNode;)V
<00>7 8length
: ;)setLabel 3= S>9(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z@"java/lang/IllegalArgumentExceptionBCFG
@D E)printG:
@I C 3K LM vertexSet()Ljava/util/Set;Ojava/util/ArrayList
N<00>RLCA_JP1_0_0$CFGVisitor$1
QT U(LLCA_JP1_0_0$CFGVisitor;)V
WXY Z[java/util/Collectionssort)(Ljava/util/List;Ljava/util/Comparator;)V] _node
a bgetID
@d Ee(I)Vg:
<00>j ledge n; pjava/lang/Void
r stvisit;(Ljapa/parser/ast/body/MethodDeclaration;Ljava/lang/Void;)V Signature9Lorg/jgrapht/Graph<LCFGGraph/CFGNode;LCFGGraph/CFGEdge;>;6Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;CodeLineNumberTable StackMapTable|[Ljava/lang/String;=(Ljapa/parser/ast/body/MethodDeclaration;Ljava/lang/Object;)VMethodParameters>Ljapa/parser/ast/visitor/VoidVisitorAdapter<Ljava/lang/Void;>;
SourceFileLCA_JP1_0_0.javaNestHost<01> LCA_JP1_0_0BootstrapMethods<01>ENTRY_<01>EXIT_<01>CFG Building Root: <01>if ()<01> [ALWAYS ]<01>for ()<01> while ()<01> <01>return<01>
<01><01><01> %<01>$java/lang/invoke/StringConcatFactory<00>(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClasses
CFGVisitor<01>%java/lang/invoke/MethodHandles$Lookup<01>java/lang/invoke/MethodHandlesLookup uvF-,-1-uw x*<2A><01>y%stx <00>*<2A>Y <09> <0B>*<2A>Y<><16>*<2A>Y+<2B><1D>#<00>'<27>**<2A>Y+<2B><1D>.<00>'<27>/*<2A>*<2A>*<2A>2W*<2A>*<2A>/<2F>2W<>8+<2B><1D>><00>?**<2A>*<2A>D+<2B>GN-<2D>*-<2D>K*<2A>D<>*<2A>D*<2A>/<2F>**<2A>D*<2A>/O<>Q*+<2B><1D>U<>y>. /2,3@5N6\8k:s=x>|?<00>C<00>D<00>H<00>Iz <02><00>YMNxr/+<2B>XM,<2C><04>,<2C>^N-<2D>d<00>-<2D>j<00>n:*<04>p<><70><EFBFBD><EFBFBD>yLM
O%P+Q.Rz<03>
_<>e<>rsx<00><00>+<2B>t<>*+<2B>t<>v<><00>+<2B>z<>*+<2B>z<>|<7C>u+<2B><00><>*+<2B><00><><00><>c+<2B><00><>*+<2B><00><><00><>Q+<2B><00><>*+<2B><00><><00><>?+<2B>Y<>*+<2B>Y<>K<>-<2D>Y+<2B><00><><00><>'M*<2A>,<2C>2W**<2A>D,O<>Q*,<2C>D<>yFUVWX$Y+Z6[=\H]O^Z_a`lc{d<00>e<00>f<00>hz )xyxj
<00><>Y+<2B><00><><00><>'M*<2A>,<2C>2W**<2A>D,O<>Q*,<2C>D+<2B><00><><00>N-<12><><00><>x-<12><><00><>o-<12><><00>:<04><05>[2<><00>:2<><00><12>O<><00><><00>:<12><><00>:<07>d2:<06><00>6 *<2A> <09><00><><00>W<>: *<2A><08><00>W<>:<04><00><00><00><00>D<00><00><00>yRlmn%o*r2sDvLwSx\yo|x}<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>z?<04><00> t<00>{<00><00>{<00><00><> t<00>B<00>~x<02><01>+<2B>Ƕ<00>M*,<2C><00>N-Ѷ<00>6-Ӷ<00>6<05>Y,-<2D><00><00>':*<2A><06>2W**<2A>DO<>Q<>Yط':*<2A><07>2W:*<06>D+<2B><00>:  <09> * <09>p*<2A>D:

<EFBFBD>
<08> *
O<>Q<04>i<><00>Y*<2A><08><00><00><00>:  <0B><00>:  <0C>d<00>B <0C>j<00> : *<2A> <0A><00><00>:<07>*<2A> <0A><00>W*<12><>Q<><06><><EFBFBD>*<08>D+<2B><00>:  <0B><00>* <0B>p*<2A>D:  <0C> <08> * O<>Q<05>t<><00>Y*<2A><08><00><00><00>:  <0A><00>:<0E>d<00>J<0E>j<00> :*<2A><0F><00><00>:<07>$<0F><00><>*<2A><0F><00>W*<12><>Q<><06><><EFBFBD><EFBFBD> *<12><>Q<> *<12><>Q*<07>D<>y<00>0<00><00><00><00><00>.<00>:<00>F<00>Q<00>]<00>a<00>g<00>m<00>r<00>x<00>~<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00> <00><00><00><00>(<00>2<00>7<00>K<00>j<00>z<00><01><00><01><00><01><00><01><00><01><00><01><00><01><00><01><00><01><00><01><00>zV <0A>x
z<00><00>n<00><1B>!<00>e<>E<><02>2n<1B>!<00>e<>M<><02>  <00>&x<02> <01><06><00>Y<12>SY<12>SY<12>SY<12>SYSYSM,N-<2D>66<04>x-2:+<06><00><>c+<06><00>:<07><05>Z2<><00>:2<><00>: :
: *<2A><08><00>*<2A><08><00><00>:
<EFBFBD><08><00><><00>:
<EFBFBD>: *<2A> <09><00>*<2A> <09><00><00>: <0B> <09><00><><00>: <0B>: 
<EFBFBD><00> <0B><00>6 <12><>
<EFBFBD>
 <0B> 6 <0C><00><12><>
<EFBFBD>
 <0B> <0A><04>6 <0C><00><00>
<EFBFBD>
<EFBFBD> <0B><0E><04>6 <0C>d<02>
<EFBFBD>
<EFBFBD> <0B><0E><04>6 <0C>B<12><>
<EFBFBD>
<EFBFBD> <0B><0E><04>6 <0C>!<12><>
<EFBFBD>
<EFBFBD> <0B><0E><04>6  <0C>ѧӺ<00><> <09><01><><EFBFBD><EFBFBD>MO<><00><00><00><00><00><00><00><00><01><01><00><01><01><01><00>y~<00>&<00><<00>E<00>M<00>T<00>]<00>f<00>i<00>l<00>z<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00> /Q r
<01> <01><01><00><01><01><01>z<00><1E>/<00>{{<00>] <00>{{<00>{<00><00><00><00>L<00> L<00><01>"@@@@@ A<00><><00>{{<00>{<00><02><00>B<00><00><00>x@U+<2B>M,<2C>V,<2C><00>M,<2C>^N-<2D>d<00>=-<2D>j<00><00>:<04>Y<04>˷':*<2A><05>2W**<2A>DO<>Q*<05>D<><44><EFBFBD>+<2B>N-<2D>
-<2D>˧:<04>Y<04><00>':*<2A><05>2W**<2A>DO<>Q<>Y<1F>':*<2A><06>2W::+<2B>!:  <09>*<05>D* <09>p*<2A>D:+<2B>#:

<EFBFBD>[
<EFBFBD><00>Q
<EFBFBD>^:  <0B>d<00>> <0B>j<00><00>: <0C>Y <0C>˷': *<2A> <0A>2W**<2A>D O<>Q* <0A>D<><44><EFBFBD>**<2A>DO<>Q*<12><>Q*<06>D<>y<00>"-;GS Y!\%a&q'<00>(<00>)<00>+<00>,<00>/<00>2<00>3<00>4<00>5<00>6<00>7<00>;<00><<00>= >?#@/A5B8FDJNLTMzI<07>_e<>B<><00>B<00><>e
<00>_<00><00>n<00>_e<>D<00><00>x<00>t<>Y+<2B>&<26>'<27>*<00>'M*<2A>,<2C>2W**<2A>D,O<>Q<>Y+<2B>'N*<2A>-<2D>2W,:*,<2C>D+<2B>-:<05> *<05>p**<2A>DO<>Q*-<12><>Q*-<2D>D<>y:QRS*U5V@XC[H\N]S^Ybefnhsiz<01>Y<00>n<00><00>x<00>Q+<2B>.M,<2C>,<2C>˺1<00>O<>2N<>Y-<2D>':*<2A><04>2W**<2A>DO<>Q**<2A>/O<>Q*<01>D<>y"lmn'o3p?qKrPsz <02><00>A<00>STx<00>9+<2B>,<2C><04><> Y+,<2C>3:-<2D>-<2D>6<> -<2D>9*<2A>+,<04><W<>:<05>%36?y"v xyz%~3<01>68<01>z<00> P?W)x<01> <1D>8A<>C<>8+<2B>C<>8F<>C<>8<>H*<2A><0E>JM<>NY,<2C>PN-<2D>QY*<2A>S<>V-<2D>^:<04>d<00><00><04>j<00>:<05>8\<5C>C<>8^<5E>C<>8<05>`<60>c<>8f<>C<>8<05>h<>C<>8i<>C*<2A><05><00>:<06><00>:<07>d<00>`<07>j<00> :*<2A><08><00><00>: <08><00>:

<EFBFBD>O:
<EFBFBD>8k<>C<>8
<EFBFBD>C<>8i<>C<>8 <09>`<60>c<>8m<>C<><43><EFBFBD><EFBFBD>8<>H<><48>-<2D>yv<01> <01><01><01><01>)<01>2<01>><01>\<01>e<01>n<01>y<01><00><01><00><01><00><01><00><01><00><01><00><01><00><01><00><01><00><01><00><01><00><01><00><01><01><01><01><01><01>zE<05>F<00>_e<>e<00>e<>5 <00><>0<00><00>_e<00><00>As}x"
*+,<2C>o<>q<>y%~ u<01><01><01><01><01>8 <01><01><01><01><01><01><01><01><01><01><01><01><01><01><01><01><01><01><01><01><01>Q<01><01><01>