@@ -17,7 +17,7 @@ namespace mdresgen
17
17
class IconThing
18
18
{
19
19
public void Run ( )
20
- {
20
+ {
21
21
Console . WriteLine ( "Downloading icon data..." ) ;
22
22
23
23
//var nameDataPairs = GetNameDataPairs(GetSourceData()).ToList();
@@ -57,15 +57,52 @@ private void UpdateEnum(string sourceFile)
57
57
var sourceText = SourceText . From ( new FileStream ( sourceFile , FileMode . Open ) ) ;
58
58
var syntaxTree = CSharpSyntaxTree . ParseText ( sourceText ) ;
59
59
60
+ var newSyntaxTree = CSharpSyntaxTree . ParseText ( "Red, Green, Blue" ) ;
61
+ var syntaxNodes = newSyntaxTree . GetRoot ( ) . ChildNodes ( ) . ToList ( ) ;
62
+
60
63
var enumDeclarationSyntax = syntaxTree . GetRoot ( ) . ChildNodes ( )
61
64
//should be the root name space
62
65
. Single ( )
63
66
. ChildNodes ( ) . OfType < EnumDeclarationSyntax > ( )
64
67
. 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();
65
104
66
- var enumMemberDeclarationSyntax = enumDeclarationSyntax . ChildNodes ( ) . OfType < EnumMemberDeclarationSyntax > ( ) . Single ( ) ;
67
105
68
-
69
106
70
107
71
108
}
0 commit comments