Esempio n. 1
0
 private bool IsExceptionToTheRule(LiteralExpressionSyntax literalExpression) =>
 NotConsideredAsMagicNumbers.Contains(literalExpression.Token.ValueText) ||
 // It's ok to use magic numbers as part of a variable declaration
 literalExpression.FirstAncestorOrSelf <VariableDeclarationSyntax>() != null ||
 // It's ok to use magic numbers as part of a parameter declaration
 literalExpression.FirstAncestorOrSelf <ParameterSyntax>() != null ||
 // It's ok to use magic numbers in the GetHashCode method. Note that I am only checking the method name of the sake of simplicity
 literalExpression.FirstAncestorOrSelf <MethodDeclarationSyntax>()?.Identifier.ValueText == nameof(object.GetHashCode) ||
 // It's ok to use magic numbers in pragma directives
 literalExpression.FirstAncestorOrSelf <PragmaWarningDirectiveTriviaSyntax>() != null;
Esempio n. 2
0
        // Inside property we consider magic numbers as exceptions in the following cases:
        //   - A {get; set;} = MAGIC_NUMBER
        //   - A { get { return MAGIC_NUMBER; } }
        private static bool IsInsideProperty(LiteralExpressionSyntax literalExpression)
        {
            if (literalExpression.FirstAncestorOrSelf <PropertyDeclarationSyntax>() == null)
            {
                return(false);
            }
            var parent = literalExpression.Parent;

            return(parent is ReturnStatementSyntax || parent is EqualsValueClauseSyntax);
        }
 private bool IsMatchingMethodParameterName(LiteralExpressionSyntax literalExpression) =>
 literalExpression.FirstAncestorOrSelf <BaseMethodDeclarationSyntax>()
 ?.ParameterList
 ?.Parameters
 .Any(p => p.Identifier.ValueText == literalExpression.Token.ValueText)
 ?? false;
 protected string GetAssignedVariableName(LiteralExpressionSyntax stringLiteral) => stringLiteral.FirstAncestorOrSelf <SyntaxNode>(IsVariableIdentifier)?.ToString();
 private static string GetAssignedVariableName(LiteralExpressionSyntax stringLiteral) =>
 stringLiteral.FirstAncestorOrSelf <SyntaxNode>(IsVariableIdentifier)?.ToString().ToUpperInvariant();