lambdaReturningObject.dot 3.5 KB
Newer Older
1 2 3 4 5 6 7
digraph lambdaReturningObject_kt {
    graph [nodesep=3]
    node [shape=box penwidth=2]
    edge [penwidth=2]

    subgraph cluster_0 {
        color=red
8 9
        0 [label="Enter class Out" style="filled" fillcolor=red];
        1 [label="Exit class Out" style="filled" fillcolor=red];
10
    }
11
    0 -> {1} [color=green];
12 13 14

    subgraph cluster_1 {
        color=red
15
        2 [label="Enter function bar" style="filled" fillcolor=red];
16 17
        subgraph cluster_2 {
            color=blue
18 19
            3 [label="Enter block"];
            4 [label="Exit block"];
20
        }
21
        5 [label="Exit function bar" style="filled" fillcolor=red];
22
    }
23 24
    2 -> {3};
    3 -> {4};
25
    4 -> {5};
26 27 28

    subgraph cluster_3 {
        color=red
29 30
        6 [label="Enter class IrTypeArgument" style="filled" fillcolor=red];
        7 [label="Exit class IrTypeArgument" style="filled" fillcolor=red];
31
    }
32
    6 -> {7} [color=green];
33 34 35

    subgraph cluster_4 {
        color=red
36
        8 [label="Enter function <init>" style="filled" fillcolor=red];
37 38
        9 [label="Delegated constructor call: super<R|kotlin/Any|>()"];
        10 [label="Exit function <init>" style="filled" fillcolor=red];
39
    }
40 41
    8 -> {9};
    9 -> {10};
42 43 44

    subgraph cluster_5 {
        color=red
45 46
        11 [label="Enter class IrStarProjectionImpl" style="filled" fillcolor=red];
        12 [label="Exit class IrStarProjectionImpl" style="filled" fillcolor=red];
47
    }
48
    11 -> {12} [color=green];
49 50 51

    subgraph cluster_6 {
        color=red
52
        13 [label="Enter function MyOut" style="filled" fillcolor=red];
53 54
        subgraph cluster_7 {
            color=blue
55 56 57 58 59 60
            14 [label="Enter block"];
            15 [label="Function call: R|kotlin/TODO|()"];
            16 [label="Stub" style="filled" fillcolor=gray];
            17 [label="Jump: ^MyOut R|kotlin/TODO|()" style="filled" fillcolor=gray];
            18 [label="Stub" style="filled" fillcolor=gray];
            19 [label="Exit block" style="filled" fillcolor=gray];
61
        }
62
        20 [label="Exit function MyOut" style="filled" fillcolor=red];
63
    }
64 65 66 67
    13 -> {14};
    14 -> {15};
    15 -> {20};
    15 -> {16} [style=dotted];
68
    16 -> {17} [style=dotted];
69 70
    17 -> {20 18} [style=dotted];
    18 -> {19} [style=dotted];
71 72 73 74 75 76 77
    19 -> {20} [style=dotted];

    subgraph cluster_8 {
        color=red
        21 [label="Enter function foo" style="filled" fillcolor=red];
        subgraph cluster_9 {
            color=blue
78 79
            22 [label="Enter block"];
            23 [label="Postponed enter to lambda"];
80 81 82 83 84
            subgraph cluster_10 {
                color=blue
                29 [label="Enter function anonymousFunction" style="filled" fillcolor=red];
                subgraph cluster_11 {
                    color=blue
85 86 87
                    30 [label="Enter block"];
                    31 [label="Access qualifier /IrStarProjectionImpl"];
                    32 [label="Exit block"];
88
                }
89
                33 [label="Exit function anonymousFunction" style="filled" fillcolor=red];
90
            }
91 92 93 94
            24 [label="Postponed exit from lambda"];
            25 [label="Function call: R|/MyOut|<R|IrStarProjectionImpl|>(...)"];
            26 [label="Function call: R|/bar|(...)"];
            27 [label="Exit block"];
95
        }
96
        28 [label="Exit function foo" style="filled" fillcolor=red];
97
    }
98 99 100 101
    21 -> {22};
    22 -> {23};
    23 -> {24 29};
    24 -> {25};
102 103 104
    25 -> {26};
    26 -> {27};
    27 -> {28};
105 106
    29 -> {30};
    30 -> {31};
107 108
    31 -> {32};
    32 -> {33};
109 110

}