private static bool CheckParameter(
     ParameterSyntax parameter,
     ExpressionSyntax expression,
     IParameterSymbol parameterSymbol)
 {
     return(!parameterSymbol.IsRefOrOut() &&
            !parameterSymbol.IsParams &&
            string.Equals(
                parameter.Identifier.ValueText,
                (expression as IdentifierNameSyntax)?.Identifier.ValueText,
                StringComparison.Ordinal));
 }
Example #2
0
 private static bool CheckParameter(
     ParameterSyntax parameter,
     ArgumentSyntax argument,
     IParameterSymbol parameterSymbol,
     SemanticModel semanticModel,
     CancellationToken cancellationToken)
 {
     return(!parameterSymbol.IsRefOrOut() &&
            !parameterSymbol.IsParams &&
            string.Equals(
                parameter.Identifier.ValueText,
                (argument.Expression as IdentifierNameSyntax)?.Identifier.ValueText,
                StringComparison.Ordinal) &&
            semanticModel.GetDeclaredSymbol(parameter, cancellationToken)?.Type.Equals(parameterSymbol.Type) == true);
 }
        private static EqualsValueClauseSyntax GenerateEqualsValueClause(
            IParameterSymbol parameter,
            bool isExplicit,
            bool seenOptional)
        {
            if (!parameter.IsParams && !isExplicit && !parameter.IsRefOrOut())
            {
                if (parameter.HasExplicitDefaultValue || seenOptional)
                {
                    var defaultValue = parameter.HasExplicitDefaultValue ? parameter.ExplicitDefaultValue : null;
                    if (defaultValue is DateTime)
                    {
                        return(null);
                    }

                    return(SyntaxFactory.EqualsValueClause(GenerateEqualsValueClauseWorker(parameter, defaultValue)));
                }
            }

            return(null);
        }
Example #4
0
        private static EqualsValueClauseSyntax GenerateEqualsValueClause(
            IParameterSymbol parameter,
            bool isExplicit,
            bool seenOptional)
        {
            if (!parameter.IsParams && !isExplicit && !parameter.IsRefOrOut())
            {
                if (parameter.HasExplicitDefaultValue || seenOptional)
                {
                    var defaultValue = parameter.HasExplicitDefaultValue ? parameter.ExplicitDefaultValue : null;
                    if (defaultValue is DateTime)
                    {
                        return null;
                    }

                    return SyntaxFactory.EqualsValueClause(GenerateEqualsValueClauseWorker(parameter, defaultValue));
                }
            }

            return null;
        }
 private bool ParametersAreEquivalent(IParameterSymbol x, IParameterSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol> equivalentTypesWithDifferingAssemblies)
 {
     return
         x.IsRefOrOut() == y.IsRefOrOut() &&
         x.Name == y.Name &&
         AreEquivalent(x.Type, y.Type, equivalentTypesWithDifferingAssemblies) &&
         AreEquivalent(x.ContainingSymbol, y.ContainingSymbol, equivalentTypesWithDifferingAssemblies);
 }