mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
66 lines
1.3 KiB
Plaintext
66 lines
1.3 KiB
Plaintext
{
|
|
a()
|
|
c()
|
|
function a() {
|
|
let x := 42
|
|
sstore(x,x)
|
|
b()
|
|
function b() {}
|
|
}
|
|
function c() {
|
|
let x := 21
|
|
mstore(x,x)
|
|
b()
|
|
function b() {}
|
|
}
|
|
}
|
|
// ----
|
|
// digraph CFG {
|
|
// nodesep=0.7;
|
|
// node[shape=box];
|
|
//
|
|
// Entry [label="Entry"];
|
|
// Entry -> Block0;
|
|
// Block0 [label="\
|
|
// a: [ RET[a] ] => [ ]\l\
|
|
// c: [ RET[c] ] => [ ]\l\
|
|
// "];
|
|
// Block0Exit [label="MainExit"];
|
|
// Block0 -> Block0Exit;
|
|
//
|
|
// FunctionEntry_a_1 [label="function a()"];
|
|
// FunctionEntry_a_1 -> Block1;
|
|
// Block1 [label="\
|
|
// Assignment(x): [ 0x2a ] => [ x ]\l\
|
|
// sstore: [ x x ] => [ ]\l\
|
|
// b: [ RET[b] ] => [ ]\l\
|
|
// "];
|
|
// Block1Exit [label="FunctionReturn[a]"];
|
|
// Block1 -> Block1Exit;
|
|
//
|
|
// FunctionEntry_b_2 [label="function b()"];
|
|
// FunctionEntry_b_2 -> Block2;
|
|
// Block2 [label="\
|
|
// "];
|
|
// Block2Exit [label="FunctionReturn[b]"];
|
|
// Block2 -> Block2Exit;
|
|
//
|
|
// FunctionEntry_c_3 [label="function c()"];
|
|
// FunctionEntry_c_3 -> Block3;
|
|
// Block3 [label="\
|
|
// Assignment(x): [ 0x15 ] => [ x ]\l\
|
|
// mstore: [ x x ] => [ ]\l\
|
|
// b: [ RET[b] ] => [ ]\l\
|
|
// "];
|
|
// Block3Exit [label="FunctionReturn[c]"];
|
|
// Block3 -> Block3Exit;
|
|
//
|
|
// FunctionEntry_b_4 [label="function b()"];
|
|
// FunctionEntry_b_4 -> Block4;
|
|
// Block4 [label="\
|
|
// "];
|
|
// Block4Exit [label="FunctionReturn[b]"];
|
|
// Block4 -> Block4Exit;
|
|
//
|
|
// }
|