@@ -51,61 +51,22 @@ private static IEnumerable<Tuple<string, string>> GetNameDataPairs(string source
51
51
}
52
52
53
53
54
-
55
54
private void UpdateEnum ( string sourceFile )
56
55
{
57
56
var sourceText = SourceText . From ( new FileStream ( sourceFile , FileMode . Open ) ) ;
58
57
var syntaxTree = CSharpSyntaxTree . ParseText ( sourceText ) ;
59
58
60
- var newSyntaxTree = CSharpSyntaxTree . ParseText ( "Red, Green, Blue" ) ;
61
- var syntaxNodes = newSyntaxTree . GetRoot ( ) . ChildNodes ( ) . ToList ( ) ;
62
-
63
- var enumDeclarationSyntax = syntaxTree . GetRoot ( ) . ChildNodes ( )
64
- //should be the root name space
65
- . Single ( )
66
- . ChildNodes ( ) . OfType < EnumDeclarationSyntax > ( )
67
- . Last ( ) ;
68
-
59
+ var rootNode = syntaxTree . GetRoot ( ) ;
60
+ var namespaceDeclarationNode = rootNode . ChildNodes ( ) . Single ( ) ;
61
+ var enumDeclarationSyntaxNode = namespaceDeclarationNode . ChildNodes ( ) . OfType < EnumDeclarationSyntax > ( ) . Single ( ) ;
69
62
70
- var emptyEnumDeclarationSyntax = enumDeclarationSyntax . RemoveNodes ( enumDeclarationSyntax . ChildNodes ( ) . OfType < EnumMemberDeclarationSyntax > ( ) , SyntaxRemoveOptions . KeepNoTrivia ) ;
71
-
72
- var generatedEnumDeclarationSyntax = emptyEnumDeclarationSyntax . AddMembers (
63
+ var emptyEnumDeclarationSyntaxNode = enumDeclarationSyntaxNode . RemoveNodes ( enumDeclarationSyntaxNode . ChildNodes ( ) . OfType < EnumMemberDeclarationSyntax > ( ) , SyntaxRemoveOptions . KeepNoTrivia ) ;
64
+ var generatedEnumDeclarationSyntax = emptyEnumDeclarationSyntaxNode . AddMembers (
73
65
SyntaxFactory . EnumMemberDeclaration ( "Aston" ) ,
74
66
SyntaxFactory . EnumMemberDeclaration ( "Villa" ) ) ;
75
67
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();
104
-
105
-
106
-
107
-
108
- }
109
-
68
+ var generatedNamespaceDeclarationSyntaxNode = namespaceDeclarationNode . ReplaceNode ( enumDeclarationSyntaxNode , generatedEnumDeclarationSyntax ) ;
69
+ var generatedRootNode = rootNode . ReplaceNode ( namespaceDeclarationNode , generatedNamespaceDeclarationSyntaxNode ) ;
70
+ }
110
71
}
111
72
}
0 commit comments