@@ -17,7 +17,7 @@ namespace mdresgen
1717 class IconThing
1818 {
1919 public void Run ( )
20- {
20+ {
2121 Console . WriteLine ( "Downloading icon data..." ) ;
2222
2323 //var nameDataPairs = GetNameDataPairs(GetSourceData()).ToList();
@@ -57,15 +57,52 @@ private void UpdateEnum(string sourceFile)
5757 var sourceText = SourceText . From ( new FileStream ( sourceFile , FileMode . Open ) ) ;
5858 var syntaxTree = CSharpSyntaxTree . ParseText ( sourceText ) ;
5959
60+ var newSyntaxTree = CSharpSyntaxTree . ParseText ( "Red, Green, Blue" ) ;
61+ var syntaxNodes = newSyntaxTree . GetRoot ( ) . ChildNodes ( ) . ToList ( ) ;
62+
6063 var enumDeclarationSyntax = syntaxTree . GetRoot ( ) . ChildNodes ( )
6164 //should be the root name space
6265 . Single ( )
6366 . ChildNodes ( ) . OfType < EnumDeclarationSyntax > ( )
6467 . Last ( ) ;
68+
69+
70+ var emptyEnumDeclarationSyntax = enumDeclarationSyntax . RemoveNodes ( enumDeclarationSyntax . ChildNodes ( ) . OfType < EnumMemberDeclarationSyntax > ( ) , SyntaxRemoveOptions . KeepNoTrivia ) ;
71+
72+ var generatedEnumDeclarationSyntax = emptyEnumDeclarationSyntax . AddMembers (
73+ SyntaxFactory . EnumMemberDeclaration ( "Aston" ) ,
74+ SyntaxFactory . EnumMemberDeclaration ( "Villa" ) ) ;
75+
76+ var generatedSyntaxTree = generatedEnumDeclarationSyntax . SyntaxTree ;
77+
78+ var rootSyntaxNode = enumDeclarationSyntax . SyntaxTree . GetRoot ( ) ;
79+ var replaceNode = rootSyntaxNode . ReplaceNode ( rootSyntaxNode . ChildNodes ( ) . Single ( ) , generatedSyntaxTree . GetRoot ( ) ) ;
80+
81+
82+
83+ var modifiedSyntaxTree = syntaxTree . GetRoot ( ) . ReplaceNode ( emptyEnumDeclarationSyntax , generatedEnumDeclarationSyntax ) ;
84+
85+
86+ var nodes = emptyEnumDeclarationSyntax . ChildNodes ( ) . ToList ( ) ;
87+ //emptyEnumDeclarationSyntax.InsertNodesAfter()
88+
89+
90+
91+ //emptyEnumDeclarationSyntax.AddMembers(new EnumMemberDeclarationSyntax(new CSharpSyntaxNode(new GreenNode(), ))
92+
93+ //enumDeclarationSyntax.ReplaceNodes(enumDeclarationSyntax.ChildNodes().OfType<EnumMemberDeclarationSyntax>(), ).ReplaceSyntax(enumDeclarationSyntax.SyntaxTree,)
94+
95+ // enumDeclarationSyntax.
96+
97+ // enumDeclarationSyntax.Re
98+
99+
100+
101+ //EnumMemberDeclarationSyntax.P
102+
103+ //var enumMemberDeclarationSyntax = enumDeclarationSyntax.ChildNodes().OfType<EnumMemberDeclarationSyntax>().Single();
65104
66- var enumMemberDeclarationSyntax = enumDeclarationSyntax . ChildNodes ( ) . OfType < EnumMemberDeclarationSyntax > ( ) . Single ( ) ;
67105
68-
69106
70107
71108 }
0 commit comments