private static bool OutSideOfDeclarationSideWithSameName(LiteralExpressionSyntax stringLiteral)
        {
            var variableDeclaration = stringLiteral.FirstAncestorOfType<VariableDeclaratorSyntax>();
            if (variableDeclaration != null)
            {
                return !string.Equals(variableDeclaration.Identifier.ValueText, stringLiteral.Token.ValueText, StringComparison.Ordinal);
            }

            var propertyDeclaration = stringLiteral.FirstAncestorOfType<PropertyDeclarationSyntax>();
            var outSideOfAccessors = null == stringLiteral.FirstAncestorOfType<AccessorListSyntax>();
            if (!outSideOfAccessors) return true;
            return !string.Equals(propertyDeclaration?.Identifier.ValueText, stringLiteral.Token.ValueText, StringComparison.Ordinal);
        }
        private static string GetParameterNameThatMatchStringLiteral(LiteralExpressionSyntax stringLiteral)
        {
            var ancestorThatMightHaveParameters = stringLiteral.FirstAncestorOfType(typeof(AttributeListSyntax), typeof(MethodDeclarationSyntax), typeof(ConstructorDeclarationSyntax), typeof(IndexerDeclarationSyntax));
            var parameterName = string.Empty;

            if (ancestorThatMightHaveParameters != null)
            {
                var parameters = new SeparatedSyntaxList <ParameterSyntax>();
                switch (ancestorThatMightHaveParameters.Kind())
                {
                case SyntaxKind.MethodDeclaration:
                case SyntaxKind.ConstructorDeclaration:
                    var method = (BaseMethodDeclarationSyntax)ancestorThatMightHaveParameters;
                    parameters = method.ParameterList.Parameters;
                    break;

                case SyntaxKind.IndexerDeclaration:
                    var indexer = (IndexerDeclarationSyntax)ancestorThatMightHaveParameters;
                    parameters = indexer.ParameterList.Parameters;
                    break;

                case SyntaxKind.AttributeList:
                    break;
                }
                parameterName = GetParameterWithIdentifierEqualToStringLiteral(stringLiteral, parameters)?.Identifier.Text;
            }
            return(parameterName);
        }
 private static string GetParameterNameThatMatchStringLiteral(LiteralExpressionSyntax stringLiteral)
 {
     var ancestorThatMightHaveParameters = stringLiteral.FirstAncestorOfType(typeof(AttributeListSyntax), typeof(MethodDeclarationSyntax), typeof(ConstructorDeclarationSyntax), typeof(IndexerDeclarationSyntax));
     var parameterName = string.Empty;
     if (ancestorThatMightHaveParameters != null)
     {
         var parameters = new SeparatedSyntaxList<ParameterSyntax>();
         switch (ancestorThatMightHaveParameters.Kind())
         {
             case SyntaxKind.MethodDeclaration:
             case SyntaxKind.ConstructorDeclaration:
                 var method = (BaseMethodDeclarationSyntax)ancestorThatMightHaveParameters;
                 parameters = method.ParameterList.Parameters;
                 break;
             case SyntaxKind.IndexerDeclaration:
                 var indexer = (IndexerDeclarationSyntax)ancestorThatMightHaveParameters;
                 parameters = indexer.ParameterList.Parameters;
                 break;
             case SyntaxKind.AttributeList:
                 break;
         }
         parameterName = GetParameterWithIdentifierEqualToStringLiteral(stringLiteral, parameters)?.Identifier.Text;
     }
     return parameterName;
 }
        private static bool OutSideOfDeclarationSideWithSameName(LiteralExpressionSyntax stringLiteral)
        {
            var variableDeclaration = stringLiteral.FirstAncestorOfType <VariableDeclaratorSyntax>();

            if (variableDeclaration != null)
            {
                return(!string.Equals(variableDeclaration.Identifier.ValueText, stringLiteral.Token.ValueText, StringComparison.Ordinal));
            }

            var propertyDeclaration = stringLiteral.FirstAncestorOfType <PropertyDeclarationSyntax>();
            var outSideOfAccessors  = null == stringLiteral.FirstAncestorOfType <AccessorListSyntax>();

            if (!outSideOfAccessors)
            {
                return(true);
            }
            return(!string.Equals(propertyDeclaration?.Identifier.ValueText, stringLiteral.Token.ValueText, StringComparison.Ordinal));
        }