Skip to content

Commit

Permalink
[GH-138] - code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
tpodolak committed Mar 22, 2020
1 parent 36acc01 commit ebec1fc
Show file tree
Hide file tree
Showing 5 changed files with 160 additions and 151 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@ namespace NSubstitute.Analyzers.CSharp.CodeRefactoringProviders
[ExportCodeRefactoringProvider(LanguageNames.CSharp)]
internal sealed class IntroduceSubstituteCodeRefactoringProvider : AbstractIntroduceSubstituteCodeRefactoringProvider<ObjectCreationExpressionSyntax, ArgumentListSyntax, ArgumentSyntax>
{
protected override int ReadonlySubstituteDeclarationContainerRawKind { get; } = (int)SyntaxKind.ClassDeclaration;

protected override int LocalSubstituteDeclarationContainerRawKind { get; } = (int)SyntaxKind.Block;

protected override IReadOnlyList<ArgumentSyntax> GetArgumentSyntaxNodes(ArgumentListSyntax argumentListSyntax, TextSpan span)
{
return argumentListSyntax.Arguments;
Expand All @@ -37,6 +33,23 @@ protected override ObjectCreationExpressionSyntax UpdateObjectCreationExpression
return objectCreationExpressionSyntax.WithArgumentList(updatedArgumentList);
}

protected override SyntaxNode FindSiblingNodeForLocalSubstitute(ObjectCreationExpressionSyntax creationExpression)
{
var container = creationExpression.Ancestors()
.FirstOrDefault(ancestor => ancestor.Kind() == SyntaxKind.Block);

return container?.ChildNodes().FirstOrDefault();
}

protected override SyntaxNode FindSiblingNodeForReadonlySubstitute(SyntaxNode creationExpression)
{
var typeDeclarationSyntax = creationExpression.Ancestors()
.OfType<TypeDeclarationSyntax>()
.FirstOrDefault();

return typeDeclarationSyntax?.Members.FirstOrDefault();
}

private static ArgumentListSyntax UpdateArgumentListTrivia(
ArgumentListSyntax originalArgumentList,
ArgumentListSyntax updatedArgumentList)
Expand Down
Loading

0 comments on commit ebec1fc

Please sign in to comment.