Closed LxLeChat closed 3 years ago
J'ai ajouté 2 propriétés aux objets :
J'ai du changer dans ma classe utility la création des noeuds, l'ajout de ces 2 propriétés. Seul soucis c'est que ces propriétés ne sont pas "protégés", puisque on ne passe pas par le constructeur pour remplir ces champs ... du coup on peut modifier ces propriétés ce qui m embete un peu ! Je pourrais créer un override des constructeur sur chaque classe ... à voir !
en tout cas l'ajout de ces 2 propriétés permettrait de correctement nommé le graph !
bon j'ai fit un truc un peu à l'arrache... Je vais pas modifier les constructeurs pour l'instant car c'est long à faire.
en tout cas maintenat on obtient ça:
ou ça:
qu'en penses tu @LaurentDardenne ?
maintenant je me dis, est ce qu'il ne faudrait pas pouvoir sortir des fichiers par graph ???
quand on fait un :dir *.ps1 | get-flo... | new-flo...
on veut tet pouvoir sauvegarder ces fichiers non ?
hummm après réexamen de mon code, je vais positionné ces propriétés au niveau de l'objet Tree
... comme ça pas besoin de polluer les nodes.
Edit
J'ai aijouté une méthode GetTree
à la classe de base Node qui me permet à partir de n'importe ou dans l'arbre de retourner l'objet tree
qui lui contiendra l'origine scriptblock
ou file
, et le fileinfo
dans le deuxième cas.
Du coup j'ai aussi ajouté deux constructeurs à ma classe tree
, pour gérer ces 2 sources différentes
Du coup on peut aussi faire ça maintenant :
$x = Get-FLowChartNode -Path C:\temp\laurent.ps1
$tree = $x.GetTree()
$tree = $x[1].Children[1].Children[0].Children[1].Children[1].Children[0].GetTree()
#ça retournera la même chose
Nodes Ast
----- ---
{CodeNode, ForeachNode, CodeNode} [CmdletBinding()]…
$tree.NodesOrigin
File
$tree.FileInfo
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 15/05/2021 11:01 3408 laurent.ps1
Bon enfait si on le fait sur le tableau ça retourne autant de fois qu'il y a de node de niveau 0 mais ça spas grave :) L'idée était de pouvoir accéder à l'arbre depuis n'importe ou, et de ne pas stocker l'origine et le fileInfo sur les nodes !
bon je crois que je vais merger cette feature ... !
hummm... pour l'instant le nom des digraph généré c'est ça ...
ne vaudrait il pas le coup de:
?! Je ne sais pas si les nom des digraph peuvent contenir des espaces ou des characteres spéciaux...