Skip to content

Commit

Permalink
Make Implement Interface use the rewriter
Browse files Browse the repository at this point in the history
  • Loading branch information
Hosch250 committed Mar 18, 2017
1 parent 90a0ae8 commit 3174f11
Show file tree
Hide file tree
Showing 3 changed files with 99 additions and 176 deletions.
Expand Up @@ -105,13 +105,15 @@ private void ImplementMissingMembers()
AddItems(nonImplementedMembers);
}

private void AddItems(List<Declaration> members)
private void AddItems(List<Declaration> missingMembers)
{
var module = _targetClass.QualifiedSelection.QualifiedName.Component.CodeModule;
{
var missingMembersText = members.Aggregate(string.Empty, (current, member) => current + Environment.NewLine + GetInterfaceMember(member));
module.InsertLines(module.CountOfDeclarationLines + 1, missingMembersText);
}
var missingMembersText = missingMembers.Aggregate(string.Empty,
(current, member) => current + Environment.NewLine + GetInterfaceMember(member));

var rewriter = _state.GetRewriter(_targetClass);
rewriter.InsertAfter(rewriter.TokenStream.Size, Environment.NewLine + missingMembersText);

rewriter.Rewrite();
}

private string GetInterfaceMember(Declaration member)
Expand Down
@@ -1,11 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using Antlr4.Runtime;
using Rubberduck.Common;
using Rubberduck.Parsing;
using Rubberduck.Parsing.Grammar;
using Rubberduck.Parsing.PostProcessing;
using Rubberduck.Parsing.Symbols;
Expand Down

0 comments on commit 3174f11

Please sign in to comment.