Skip to content

Exit KeyWord and Try #24

@LxLeChat

Description

@LxLeChat

(pour une meilleur visualisation, copier le dot sur https://dreampuf.github.io/GraphvizOnline )
Il serait peut-être interessant de créer une méthode qui va chercher les exit keyword en fin de graph ...
En effet voila 2 exemples de graph
Dans le 1° les edge vers le end sont contenu dans le subgraph du try

digraph NewGraph {
    compound="true";
    label="Script: BASIC_EXAMPLE_1.PS1";
"START"->"32c0da13-d2b3-473c-8005-dfa4f3a2a1ac"
"End_32c0da13-d2b3-473c-8005-dfa4f3a2a1ac"->"END"
subgraph cluster703a3c8091fe {
    label="TRY";
    "703a3c8091fe" [label="";style="invis";shape="point";]
    "32c0da13-d2b3-473c-8005-dfa4f3a2a1ac" [shape="point";]
    "End_32c0da13-d2b3-473c-8005-dfa4f3a2a1ac" [shape="point";]
    "32c0da13-d2b3-473c-8005-dfa4f3a2a1ac"->"524763d7-7ce5-455b-a240-77018c3e5ba7"
    "End_6fc2c99b-ac0d-418f-b53f-f0beda9f5a26"->"End_32c0da13-d2b3-473c-8005-dfa4f3a2a1ac" [label="LoopEnded";]
    "524763d7-7ce5-455b-a240-77018c3e5ba7" [shape="parallelogram";label="For ( $i -lt $array.Count )";]
    "End_524763d7-7ce5-455b-a240-77018c3e5ba7" [shape="diamond";label="If $i -lt $array.Count";]
    "End_524763d7-7ce5-455b-a240-77018c3e5ba7"->"524763d7-7ce5-455b-a240-77018c3e5ba7" [label="$i++";]
    "524763d7-7ce5-455b-a240-77018c3e5ba7"->"67fabe9b-6e43-461c-8cae-ca54e5698791"
    "67fabe9b-6e43-461c-8cae-ca54e5698791" [shape="diamond";label="If ( $i -eq 2 )";]
    "End_67fabe9b-6e43-461c-8cae-ca54e5698791" [shape="point";]
    "67fabe9b-6e43-461c-8cae-ca54e5698791"->"03622594-beec-4872-90f7-fa8ca3218d0f" [label="True";]
    "67fabe9b-6e43-461c-8cae-ca54e5698791"->"429d50cf-c5dd-4b4d-9e28-eac9886221b4" [label="False";]
    "03622594-beec-4872-90f7-fa8ca3218d0f" [shape="ellipse";label="Exit";]
    "03622594-beec-4872-90f7-fa8ca3218d0f"->"END"
    "429d50cf-c5dd-4b4d-9e28-eac9886221b4" [shape="diamond";label="ElseIf ( $i -eq 3 ) From If ( $i -eq 2 )";]
    "429d50cf-c5dd-4b4d-9e28-eac9886221b4"->"End_67fabe9b-6e43-461c-8cae-ca54e5698791" [label="False";]
    "429d50cf-c5dd-4b4d-9e28-eac9886221b4"->"24cae86f-e34e-4a70-a73a-784e41ea6a71" [label="True";]
    "24cae86f-e34e-4a70-a73a-784e41ea6a71" [shape="";label="ProcessBlock";]
    "24cae86f-e34e-4a70-a73a-784e41ea6a71"->"ce26fcd6-ab5a-45e5-8a09-45cba282a36f"
    "ce26fcd6-ab5a-45e5-8a09-45cba282a36f" [shape="ellipse";label="Exit";]
    "ce26fcd6-ab5a-45e5-8a09-45cba282a36f"->"END"
    "End_67fabe9b-6e43-461c-8cae-ca54e5698791"->"End_524763d7-7ce5-455b-a240-77018c3e5ba7"
    "End_524763d7-7ce5-455b-a240-77018c3e5ba7"->"6fc2c99b-ac0d-418f-b53f-f0beda9f5a26" [label="LoopEnded Prout";]
    "6fc2c99b-ac0d-418f-b53f-f0beda9f5a26" [shape="parallelogram";label="Foreach ( $item in $collection )";]
    "End_6fc2c99b-ac0d-418f-b53f-f0beda9f5a26" [label="Next $collection";]
    "End_6fc2c99b-ac0d-418f-b53f-f0beda9f5a26"->"6fc2c99b-ac0d-418f-b53f-f0beda9f5a26" [label="Loop";]
    "6fc2c99b-ac0d-418f-b53f-f0beda9f5a26"->"b2bec687-5273-480e-ae7a-2753b5cf6728"
    "b2bec687-5273-480e-ae7a-2753b5cf6728" [shape="";label="ProcessBlock";]
    "b2bec687-5273-480e-ae7a-2753b5cf6728"->"End_6fc2c99b-ac0d-418f-b53f-f0beda9f5a26"
}

"6fa275e4-d3b8-4159-a938-1062f8c83c89" [shape="invhouse";label="Catch";]
"6fa275e4-d3b8-4159-a938-1062f8c83c89"->"9313bb40-a406-4511-9c93-30e796a153fa"
"9313bb40-a406-4511-9c93-30e796a153fa" [shape="ellipse";label="Exit";]
"9313bb40-a406-4511-9c93-30e796a153fa"->"END"
"32c0da13-d2b3-473c-8005-dfa4f3a2a1ac"->"6fa275e4-d3b8-4159-a938-1062f8c83c89" [label="Content Throws";]
}

Dans le 2° les edge vers le end sont à l exterieur, ce qui donne un meilleur rendu

digraph NewGraph {
    compound="true";
    label="Script: BASIC_EXAMPLE_1.PS1";
"START"->"059da34d-c965-4678-86db-bd064d91a3f7"

subgraph clusteraa1255f91e5d {
    label="TRY";
    "aa1255f91e5d" [label="";style="invis";shape="point";]
    "059da34d-c965-4678-86db-bd064d91a3f7" [shape="point";]
    "End_059da34d-c965-4678-86db-bd064d91a3f7" [shape="point";]
    "059da34d-c965-4678-86db-bd064d91a3f7"->"5e8042da-e8ab-4518-84a8-8dd52e0ba1e8"
    "End_0cd95f96-2cc7-4cbc-a127-932550423e4e"->"End_059da34d-c965-4678-86db-bd064d91a3f7" [label="LoopEnded";]
    "5e8042da-e8ab-4518-84a8-8dd52e0ba1e8" [shape="parallelogram";label="For ( $i -lt $array.Count )";]
    "End_5e8042da-e8ab-4518-84a8-8dd52e0ba1e8" [shape="diamond";label="If $i -lt $array.Count";]
    "End_5e8042da-e8ab-4518-84a8-8dd52e0ba1e8"->"5e8042da-e8ab-4518-84a8-8dd52e0ba1e8" [label="$i++";]
    "5e8042da-e8ab-4518-84a8-8dd52e0ba1e8"->"d3cbdd36-b6be-45cd-8526-f180a970cec2"
    "d3cbdd36-b6be-45cd-8526-f180a970cec2" [shape="diamond";label="If ( $i -eq 2 )";]
    "End_d3cbdd36-b6be-45cd-8526-f180a970cec2" [shape="point";]
    "d3cbdd36-b6be-45cd-8526-f180a970cec2"->"f9063000-5988-4472-8b03-9835b1830e12" [label="True";]
    "d3cbdd36-b6be-45cd-8526-f180a970cec2"->"e9b02708-8163-4391-a553-8f9165cbf55e" [label="False";]
    "f9063000-5988-4472-8b03-9835b1830e12" [shape="ellipse";label="Exit";]

    "e9b02708-8163-4391-a553-8f9165cbf55e" [shape="diamond";label="ElseIf ( $i -eq 3 )";]
    "e9b02708-8163-4391-a553-8f9165cbf55e"->"End_d3cbdd36-b6be-45cd-8526-f180a970cec2" [label="False";]
    "e9b02708-8163-4391-a553-8f9165cbf55e"->"cff3a90a-20cb-4568-92cd-678626b5054a" [label="True";]
    "cff3a90a-20cb-4568-92cd-678626b5054a" [shape="";label="ProcessBlock";]
    "cff3a90a-20cb-4568-92cd-678626b5054a"->"ce5fc5ab-b6ac-4642-b833-4813a95f5db3"
    "ce5fc5ab-b6ac-4642-b833-4813a95f5db3" [shape="ellipse";label="Exit";]

    "End_d3cbdd36-b6be-45cd-8526-f180a970cec2"->"End_5e8042da-e8ab-4518-84a8-8dd52e0ba1e8"
    "End_5e8042da-e8ab-4518-84a8-8dd52e0ba1e8"->"0cd95f96-2cc7-4cbc-a127-932550423e4e" [label="LoopEnded Prout";]
    "0cd95f96-2cc7-4cbc-a127-932550423e4e" [shape="parallelogram";label="Foreach ( $item in $collection )";]
    "End_0cd95f96-2cc7-4cbc-a127-932550423e4e" [label="Next $collection";]
    "End_0cd95f96-2cc7-4cbc-a127-932550423e4e"->"0cd95f96-2cc7-4cbc-a127-932550423e4e" [label="Loop";]
    "0cd95f96-2cc7-4cbc-a127-932550423e4e"->"023f5947-8633-4eee-b607-22bfed277ad7"
    "023f5947-8633-4eee-b607-22bfed277ad7" [shape="";label="ProcessBlock";]
    "023f5947-8633-4eee-b607-22bfed277ad7"->"End_0cd95f96-2cc7-4cbc-a127-932550423e4e"
}

"dbfc58be-009d-4d71-b214-e305d14a5a1d" [shape="invhouse";label="Catch";]
"dbfc58be-009d-4d71-b214-e305d14a5a1d"->"25f7e89c-9c37-471a-809f-155e2eeb59dc"
"25f7e89c-9c37-471a-809f-155e2eeb59dc" [shape="ellipse";label="Exit";]

"059da34d-c965-4678-86db-bd064d91a3f7"->"dbfc58be-009d-4d71-b214-e305d14a5a1d" [label="Content Throws";]
"25f7e89c-9c37-471a-809f-155e2eeb59dc"->"END"
"End_059da34d-c965-4678-86db-bd064d91a3f7"->"END"
"ce5fc5ab-b6ac-4642-b833-4813a95f5db3"->"END"
"f9063000-5988-4472-8b03-9835b1830e12"->"END"
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions