public static void ReplaceRangeNodes(this SyntaxEditor editor, SelectionResult selectionResult, IEnumerable <SyntaxNode> nodes) { var firstStatement = selectionResult.FirstStatement(); var firstNodeToInsert = nodes.First(); editor.ReplaceNode(firstStatement, firstNodeToInsert); foreach (var statementSyntax in selectionResult.OtherThanFirstStatements()) { editor.RemoveNode(statementSyntax); } var otherNodes = nodes.Skip(1); if (!otherNodes.Any()) { return; } editor.InsertAfter(firstStatement, otherNodes); }
public CodeGenerator(SemanticDocument semanticDocument, AnalyzerResult analyzerResult, SelectionResult selectionResult, string methodName) { _semanticDocument = semanticDocument; _analyzerResult = analyzerResult; _selectionResult = selectionResult; _methodName = methodName; }