public override SyntaxNode VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) { node = base.VisitInterfaceDeclaration(node) as InterfaceDeclarationSyntax; var afterKeyword = node.Keyword.GetNextToken().Text; switch (afterKeyword) { case k_IFunctionalitySubscriber: if (node.TypeParameterList == null) { break; } if (node.DescendantNodes().OfType <PropertyDeclarationSyntax>().Where(x => x.Identifier.ValueText == k_Provider).Any()) { break; // provider property is already implemented } var propertyDeclaration = Template.Compile <PropertyDeclarationSyntax>(k_ProviderProperty); node = node.WithMembers(node.Members.Add(propertyDeclaration)); wasModified = true; break; } return(node); }
public static InterfaceDeclarationSyntax InsertMember(InterfaceDeclarationSyntax interfaceDeclaration, MemberDeclarationSyntax member) { if (interfaceDeclaration == null) { throw new ArgumentNullException(nameof(interfaceDeclaration)); } return(interfaceDeclaration.WithMembers(InsertMember(interfaceDeclaration.Members, member))); }
private static MemberDeclarationSyntax RemoveMember( InterfaceDeclarationSyntax interfaceDeclaration, MemberDeclarationSyntax member, int index) { MemberDeclarationSyntax newMember = RemoveSingleLineDocumentationComment(member); interfaceDeclaration = interfaceDeclaration .WithMembers(interfaceDeclaration.Members.Replace(member, newMember)); return(interfaceDeclaration .RemoveNode(interfaceDeclaration.Members[index], GetRemoveOptions(newMember))); }
public static MemberDeclarationSyntax RemoveMember( this InterfaceDeclarationSyntax declaration, MemberDeclarationSyntax member, int index) { MemberDeclarationSyntax newMember = member.RemoveSingleLineDocumentationComment(); declaration = declaration .WithMembers(declaration.Members.Replace(member, newMember)); return(declaration .RemoveNode(declaration.Members[index], MemberDeclarationRefactoring.GetRemoveOptions(newMember))); }
private InterfaceDeclarationSyntax SortInterfaceNode(InterfaceDeclarationSyntax interfaceDeclaration) { var membersOfInterface = interfaceDeclaration.Members.ToList(); var nodeData = membersOfInterface.ToDictionary(x => x, x => new CSharpSyntaxNodeData(x)); IComparer <MemberDeclarationSyntax> comparer = new NodeSorter(nodeData, sortingConfiguration); membersOfInterface.Sort(comparer); InterfaceDeclarationSyntax interfaceDeclarationNodeWithoutNodes = interfaceDeclaration.RemoveNodes(membersOfInterface, SyntaxRemoveOptions.KeepNoTrivia); InterfaceDeclarationSyntax finalInterfaceDeclarationNode = interfaceDeclarationNodeWithoutNodes.WithMembers(new SyntaxList <MemberDeclarationSyntax>(membersOfInterface)); return(finalInterfaceDeclarationNode); }
private static async Task <Document> ReorderInterfaceMembersAsync( Document document, InterfaceDeclarationSyntax interfaceDeclaration, CancellationToken cancellationToken) { SyntaxNode oldRoot = await document.GetSyntaxRootAsync(cancellationToken); InterfaceDeclarationSyntax newDeclaration = interfaceDeclaration .WithMembers(ProcessMemberDeclarations(interfaceDeclaration.Members)) .WithAdditionalAnnotations(Formatter.Annotation); SyntaxNode newRoot = oldRoot.ReplaceNode(interfaceDeclaration, newDeclaration); return(document.WithSyntaxRoot(newRoot)); }
public static InterfaceDeclarationSyntax RemoveMember(InterfaceDeclarationSyntax interfaceDeclaration, MemberDeclarationSyntax member) { if (interfaceDeclaration == null) { throw new ArgumentNullException(nameof(interfaceDeclaration)); } if (member == null) { throw new ArgumentNullException(nameof(member)); } int index = interfaceDeclaration.Members.IndexOf(member); MemberDeclarationSyntax newMember = RemoveSingleLineDocumentationComment(member); interfaceDeclaration = interfaceDeclaration.WithMembers(interfaceDeclaration.Members.ReplaceAt(index, newMember)); return(RemoveNode(interfaceDeclaration, f => f.Members, index, GetRemoveOptions(newMember))); }
public override SyntaxNode?VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) { var members = OrganizeMembers(node.Members); return(node.WithMembers(members)); }
public override SyntaxNode VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) { return(node.WithMembers(UnifyMembers())); }
public override SyntaxNode VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) { return(node.WithMembers(ReplaceMembers(node.Members))); }
public override SyntaxNode VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) { node = (InterfaceDeclarationSyntax)base.VisitInterfaceDeclaration(node); return(node.WithMembers(SortMembers(node.Members))); }