public override MemberAccessExpressionSyntax CreateFixedContainer(MemberAccessExpressionSyntax container)
        {
            if (!TryGetMemberAccess(container, out MemberAccessExpressionSyntax memberAccess))
            {
                return(container);
            }

            if (!MemberAccessMigrationTable.TryGetFixExpression(memberAccess, out ExpressionSyntax fixExpression))
            {
                return(container);
            }

            if (memberAccess.Name is GenericNameSyntax genericName)
            {
                fixExpression = SyntaxFactory.ParseExpression($"{fixExpression}{genericName.TypeArgumentList}");
            }

            return(fixExpression as MemberAccessExpressionSyntax ?? container);
        }
        public override InvocationExpressionSyntax CreateFixedContainer(InvocationExpressionSyntax container)
        {
            if (!TryGetMemberAccess(container, out var memberAccess))
            {
                return(container);
            }

            if (!MemberAccessMigrationTable.TryGetFixExpression(memberAccess, out ExpressionSyntax fixExpression))
            {
                return(container);
            }

            var fixedInvocation = SyntaxFactory.InvocationExpression(
                SyntaxFactory.ParseExpression("Assert.That"),
                SyntaxFactory.ArgumentList(
                    SyntaxFactory.SeparatedList(
                        container.ArgumentList.Arguments.Insert(1, SyntaxFactory.Argument(fixExpression)))));

            return(fixedInvocation);
        }
Exemple #3
0
 private bool FindOldApiAndProposedFix(SyntaxNodeAnalysisContext context,
                                       NUnitFramework.Symbols nunit, MemberAccessExpressionSyntax memberAccess)
 {
     return(MemberAccessMigrationTable.TryGetFixExpression(memberAccess, out ExpressionSyntax _) &&
            DoesMemberAccessSymbolMatchNUnit(context, nunit, memberAccess));
 }