1 implementation of IParameterReferenceOperation
Microsoft.CodeAnalysis (1)
182 references to IParameterReferenceOperation
ConfigurationSchemaGenerator (1)
GenerateDocumentationAndConfigFiles (6)
ILLink.RoslynAnalyzer (2)
Microsoft.Analyzers.Extra (6)
Microsoft.AspNetCore.App.Analyzers (4)
Microsoft.CodeAnalysis (5)
Microsoft.CodeAnalysis.Analyzers (11)
Microsoft.CodeAnalysis.AnalyzerUtilities (8)
Microsoft.CodeAnalysis.CodeStyle (6)
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
Microsoft.CodeAnalysis.CSharp (1)
Microsoft.CodeAnalysis.CSharp.CodeStyle (2)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (10)
Microsoft.CodeAnalysis.CSharp.Features (11)
Microsoft.CodeAnalysis.CSharp.Workspaces (1)
Microsoft.CodeAnalysis.Features (9)
Microsoft.CodeAnalysis.NetAnalyzers (73)
Microsoft.NetCore.Analyzers\Runtime\UseExceptionThrowHelpers.cs (26)
190IsParameterNullCheck(condition.Condition, out IParameterReferenceOperation? nullCheckParameter) &&
208IsNullOrEmptyCheck(stringIsNullOrEmpty, stringLength, stringEmpty, condition.Condition, out IParameterReferenceOperation? nullOrEmptyCheckParameter) &&
237if (IsNegativeAndOrZeroComparison(condition.Condition, out IParameterReferenceOperation? aooreParameter, out string? methodName))
268static bool AvoidComparing(IParameterReferenceOperation p) =>
365/// <summary>Gets the <see cref="IParameterReferenceOperation"/> being null checked by the condition, or else null.</summary>
366private static bool IsParameterNullCheck(IOperation condition, [NotNullWhen(true)] out IParameterReferenceOperation? parameterReference)
374parameterReference = isPattern.Value as IParameterReferenceOperation;
381parameterReference = equalsOp.LeftOperand.WalkDownConversion() as IParameterReferenceOperation;
386parameterReference = equalsOp.RightOperand.WalkDownConversion() as IParameterReferenceOperation;
393/// <summary>Gets the string <see cref="IParameterReferenceOperation"/> being checked by the condition for being null or empty, or else null.</summary>
394private static bool IsNullOrEmptyCheck(ISymbol stringIsNullOrEmpty, ISymbol stringLength, ISymbol stringEmpty, IOperation condition, [NotNullWhen(true)] out IParameterReferenceOperation? parameterReference)
401arg.Value is IParameterReferenceOperation parameterReferenceOperation)
408IsParameterNullCheck(orOp.LeftOperand, out IParameterReferenceOperation? nullCheckParameter) &&
436left is IParameterReferenceOperation parameterReferenceOperation &&
447propertyReferenceOperation.Instance is IParameterReferenceOperation referencedParameter &&
451/// <summary>Gets the <see cref="IParameterReferenceOperation"/> being compared for being negative and/or zero.</summary>
452private static bool IsNegativeAndOrZeroComparison(IOperation condition, [NotNullWhen(true)] out IParameterReferenceOperation? parameterReferenceOperation, [NotNullWhen(true)] out string? methodName)
463parameterReferenceOperation = patternOperation.Value as IParameterReferenceOperation;
480parameterReferenceOperation = binaryOperation.RightOperand as IParameterReferenceOperation;
488parameterReferenceOperation = binaryOperation.LeftOperand as IParameterReferenceOperation;
495if (binaryOperation.LeftOperand is IParameterReferenceOperation leftOperandParameterReference &&
508if (binaryOperation.RightOperand is IParameterReferenceOperation rightOperationParameterReference &&
527/// <summary>Gets the <see cref="IParameterReferenceOperation"/> being compared to another expression.</summary>
528private static bool IsGreaterLessEqualThanComparison(IOperation condition, [NotNullWhen(true)] out IParameterReferenceOperation? parameterReferenceOperation, [NotNullWhen(true)] out string? methodName, [NotNullWhen(true)] out SyntaxNode? other)
542if (binaryOperation.LeftOperand is IParameterReferenceOperation leftParameter)
564if (binaryOperation.RightOperand is IParameterReferenceOperation rightParameter)
Microsoft.CodeAnalysis.ResxSourceGenerator (5)
Microsoft.CodeAnalysis.Workspaces (5)
Microsoft.Extensions.Configuration.Binder.SourceGeneration (1)
Roslyn.Diagnostics.Analyzers (10)
Roslyn.Diagnostics.CSharp.Analyzers (3)