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)); }