using System; using CTA.Rules.Actions.ActionHelpers; using Microsoft.CodeAnalysis.VisualBasic.Syntax; using Microsoft.CodeAnalysis.Editing; namespace CTA.Rules.Update.VisualBasic { /// /// List of actions that can run on Element Accesses /// public class ElementAccessActions { public Func GetAddCommentAction(string comment) { MemberAccessExpressionSyntax AddComment(SyntaxGenerator syntaxGenerator, MemberAccessExpressionSyntax node) { return (MemberAccessExpressionSyntax)CommentHelper.AddVBComment(node, comment); } return AddComment; } public Func GetReplaceElementAccessAction(string newExpression) { MemberAccessExpressionSyntax ReplaceElement(SyntaxGenerator syntaxGenerator, MemberAccessExpressionSyntax node) { var addCommentFunc = GetAddCommentAction($"Replace with {newExpression}"); return addCommentFunc(syntaxGenerator, node); } return ReplaceElement; } } }