private static SwitchSectionSyntax CreateNewSection(SwitchSectionSyntax section) { var expressionStatement = (ExpressionStatementSyntax)GetLastStatementBeforeBreakStatementOrDefault(section); var assignment = (AssignmentExpressionSyntax)expressionStatement.Expression; section = section.ReplaceNode(expressionStatement, ReturnStatement(assignment.Right).WithTriviaFrom(expressionStatement)); return(section.RemoveStatement(GetStatements(section).Last())); }
static SwitchSectionSyntax CreateNewSection(SwitchSectionSyntax section) { SyntaxList <StatementSyntax> statements = section.GetStatements(); if (statements.Last().IsKind(SyntaxKind.ThrowStatement)) { return(section); } var expressionStatement = (ExpressionStatementSyntax)statements.LastButOne(); var assignment = (AssignmentExpressionSyntax)expressionStatement.Expression; section = section.ReplaceNode(expressionStatement, ReturnStatement(assignment.Right).WithTriviaFrom(expressionStatement)); return(section.RemoveStatement(section.GetStatements().Last())); }