7 implementations of RefKind
GenerateDocumentationAndConfigFiles (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
23public RefKind RefKind { get; } = refKind;
Microsoft.CodeAnalysis.Analyzers (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
23public RefKind RefKind { get; } = refKind;
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
23public RefKind RefKind { get; } = refKind;
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\ParameterSymbol.cs (1)
59RefKind IParameterSymbol.RefKind => _underlying.RefKind;
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\ParameterSymbol.vb (1)
304Private ReadOnly Property IParameterSymbol_RefKind As RefKind Implements IParameterSymbol.RefKind, IParameterSymbolInternal.RefKind
Microsoft.CodeAnalysis.Workspaces (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
23public RefKind RefKind { get; } = refKind;
Roslyn.Diagnostics.Analyzers (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
23public RefKind RefKind { get; } = refKind;
376 references to RefKind
Aspire.Hosting.Integration.Analyzers (1)
AspireExportAnalyzer.cs (1)
568if (param.RefKind == RefKind.Out)
ConfigurationSchemaGenerator (2)
RuntimeSource\Configuration.Binder\ConfigurationBindingGenerator.Parser.cs (1)
704else if (parameter.RefKind is not RefKind.None)
RuntimeSource\Configuration.Binder\Specs\Members\ParameterSpec.cs (1)
16RefKind = parameter.RefKind;
GenerateDocumentationAndConfigFiles (29)
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (2)
113=> symbol is { RefKind: RefKind.Ref or RefKind.In or RefKind.RefReadOnlyParameter, ScopedKind: ScopedKind.ScopedRef } 114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\60c94c676d650713\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (6)
185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 500method.Parameters[0].RefKind == RefKind.Ref && 501method.Parameters[1].RefKind != RefKind.Ref && 512method.Parameters[0].RefKind == RefKind.Ref && 513method.Parameters[1].RefKind != RefKind.Ref && 514method.Parameters[2].RefKind != RefKind.Ref &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
164switch (argumentOperation.Parameter?.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
39/// equal <see cref="IParameterSymbol.RefKind"/>s.</item> 63/// the "same" <see cref="IParameterSymbol.RefKind"/>s.</item> 287refKinds[i], parameters[i].RefKind, distinguishRefFromOut: false))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
81_writeRefKind = p => WriteRefKind(p.RefKind);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
124var parameterRefKind = parameter.RefKind;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (1)
16switch (symbol.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
500if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
299refKind ?? parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
28parameter.RefKind, 43parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (4)
63return factory.Argument(parameter.RefKind, factory.IdentifierName(parameter.Name)); 290if (parameter.RefKind != RefKind.Out && 312if (parameter.RefKind != RefKind.Out && 350var refKind = parameter.RefKind;
ILLink.RoslynAnalyzer (5)
DynamicallyAccessedMembersAnalyzer.cs (1)
191if (parameter.GetDynamicallyAccessedMemberTypes() != DynamicallyAccessedMemberTypes.None && !parameter.Type.IsTypeInterestingForDataflow(isByRef: parameter.RefKind is not RefKind.None))
IOperationExtensions.cs (1)
138switch (argumentOperation.Parameter?.RefKind)
TrimAnalysis\FlowAnnotations.cs (1)
169bool isByRef = parameter.RefKind is not RefKind.None;
TrimAnalysis\ParameterProxy.cs (2)
27switch (ParameterSymbol!.RefKind) 34Debug.Fail($"Unexpected RefKind {ParameterSymbol!.RefKind} found on parameter {GetDisplayName()}");
Microsoft.AspNetCore.App.Analyzers (2)
src\aspnetcore\src\Shared\RoslynUtils\ParsabilityHelper.cs (2)
101methodSymbol.Parameters[1].RefKind == RefKind.Out; 112methodSymbol.Parameters[2].RefKind == RefKind.Out;
Microsoft.AspNetCore.Http.RequestDelegateGenerator (2)
src\aspnetcore\src\Shared\RoslynUtils\ParsabilityHelper.cs (2)
101methodSymbol.Parameters[1].RefKind == RefKind.Out; 112methodSymbol.Parameters[2].RefKind == RefKind.Out;
Microsoft.CodeAnalysis (4)
DiagnosticAnalyzer\SuppressMessageAttributeState.TargetSymbolResolver.cs (1)
796if ((symbol.RefKind == RefKind.None) == parameterInfo.IsRefOrOut)
DocumentationCommentId.cs (2)
507if (p.RefKind != RefKind.None) 1465if ((symbol.RefKind == RefKind.None) == parameterInfo.IsRefOrOut)
Operations\ControlFlowGraphBuilder.cs (1)
6858Debug.Assert(outParameterArgument is { Parameter: { RefKind: RefKind.Out, Type.SpecialType: SpecialType.System_Boolean } });
Microsoft.CodeAnalysis.Analyzers (29)
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (2)
113=> symbol is { RefKind: RefKind.Ref or RefKind.In or RefKind.RefReadOnlyParameter, ScopedKind: ScopedKind.ScopedRef } 114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\60c94c676d650713\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (6)
185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 500method.Parameters[0].RefKind == RefKind.Ref && 501method.Parameters[1].RefKind != RefKind.Ref && 512method.Parameters[0].RefKind == RefKind.Ref && 513method.Parameters[1].RefKind != RefKind.Ref && 514method.Parameters[2].RefKind != RefKind.Ref &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
164switch (argumentOperation.Parameter?.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
39/// equal <see cref="IParameterSymbol.RefKind"/>s.</item> 63/// the "same" <see cref="IParameterSymbol.RefKind"/>s.</item> 287refKinds[i], parameters[i].RefKind, distinguishRefFromOut: false))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
81_writeRefKind = p => WriteRefKind(p.RefKind);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
124var parameterRefKind = parameter.RefKind;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (1)
16switch (symbol.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
500if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
299refKind ?? parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
28parameter.RefKind, 43parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (4)
63return factory.Argument(parameter.RefKind, factory.IdentifierName(parameter.Name)); 290if (parameter.RefKind != RefKind.Out && 312if (parameter.RefKind != RefKind.Out && 350var refKind = parameter.RefKind;
Microsoft.CodeAnalysis.AnalyzerUtilities (44)
src\2e2796bccd1466f6\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (3)
758&& (a.Parameter.RefKind == RefKind.None 759|| a.Parameter.RefKind == RefKind.Ref 760|| a.Parameter.RefKind == RefKind.In));
src\60c94c676d650713\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
src\66dd3055a1c91c38\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (6)
186analysisEntity.Symbol is IParameterSymbol { RefKind: RefKind.Out }); 252if (parameter.RefKind is RefKind.Ref or RefKind.Out) 289Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 307if ((operation.Parameter?.RefKind is RefKind.Ref or RefKind.Out) && 319else if (operation.Parameter?.RefKind is RefKind.Ref or RefKind.Out) 321if (operation.Parameter.RefKind == RefKind.Ref)
src\a172c07bebba4cd8\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (5)
182Debug.Assert(parameter.RefKind != RefKind.None); 190Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 341operation.Parameter?.RefKind == RefKind.Out && 368if (operation.Parameter?.RefKind is RefKind.Out or RefKind.Ref) 379operation.Parameter.RefKind == RefKind.Out)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (6)
185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 500method.Parameters[0].RefKind == RefKind.Ref && 501method.Parameters[1].RefKind != RefKind.Ref && 512method.Parameters[0].RefKind == RefKind.Ref && 513method.Parameters[1].RefKind != RefKind.Ref && 514method.Parameters[2].RefKind != RefKind.Ref &&
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (1)
319Debug.Assert(operation.Parameter?.RefKind is RefKind.Ref or RefKind.Out);
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (1)
160operation.Parent is IArgumentOperation argument && argument.Parameter?.RefKind == RefKind.Out) &&
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\DefaultPointsToValueGenerator.cs (1)
32analysisEntity.Symbol is IParameterSymbol parameter && parameter.RefKind == RefKind.Out ||
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocationDataFlowOperationVisitor.cs (3)
44if (parameter.RefKind == RefKind.None) 69Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 75if (operation.Parameter.RefKind == RefKind.Ref)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AddressSharedEntitiesProvider.cs (1)
46if (parameter.RefKind != RefKind.None &&
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (3)
66Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 82Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 308if (parameter.RefKind != RefKind.None)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (3)
596if (parameter.RefKind == RefKind.None || DataFlowAnalysisContext.InterproceduralAnalysisData == null) 3120if (operation.Parameter?.RefKind is RefKind.Ref or RefKind.Out) 3123if (operation.Parameter.RefKind != RefKind.Out)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
164switch (argumentOperation.Parameter?.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
39/// equal <see cref="IParameterSymbol.RefKind"/>s.</item> 63/// the "same" <see cref="IParameterSymbol.RefKind"/>s.</item> 287refKinds[i], parameters[i].RefKind, distinguishRefFromOut: false))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
81_writeRefKind = p => WriteRefKind(p.RefKind);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
124var parameterRefKind = parameter.RefKind;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (1)
16switch (symbol.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
500if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None))
Microsoft.CodeAnalysis.CodeStyle (15)
src\60c94c676d650713\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
558switch (unusedParameter.RefKind) 622if (symbol is IParameterSymbol { RefKind: not RefKind.None } ||
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
965methodSymbol.Parameters[0].RefKind == RefKind.None &&
src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\SuppressMessageAttributeState.TargetSymbolResolver.cs (1)
796if ((symbol.RefKind == RefKind.None) == parameterInfo.IsRefOrOut)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
164switch (argumentOperation.Parameter?.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
39/// equal <see cref="IParameterSymbol.RefKind"/>s.</item> 63/// the "same" <see cref="IParameterSymbol.RefKind"/>s.</item> 287refKinds[i], parameters[i].RefKind, distinguishRefFromOut: false))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
81_writeRefKind = p => WriteRefKind(p.RefKind);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
124var parameterRefKind = parameter.RefKind;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (1)
16switch (symbol.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
500if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None))
Microsoft.CodeAnalysis.CodeStyle.Fixes (17)
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (2)
113=> symbol is { RefKind: RefKind.Ref or RefKind.In or RefKind.RefReadOnlyParameter, ScopedKind: ScopedKind.ScopedRef } 114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (1)
259ctorParameter.RefKind == _parameterRefKinds[i];
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\GenerateConstructorHelpers.cs (2)
45constructor.Parameters.SequenceEqual(parameters, (p1, p2) => p1.RefKind == p2.RefKind) &&
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.MethodSignatureInfo.cs (1)
32=> _methodSymbol.Parameters.SelectAsArray(p => p.RefKind);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.cs (1)
223parameter.RefKind is RefKind.Out ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
299refKind ?? parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
28parameter.RefKind, 43parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (4)
63return factory.Argument(parameter.RefKind, factory.IdentifierName(parameter.Name)); 290if (parameter.RefKind != RefKind.Out && 312if (parameter.RefKind != RefKind.Out && 350var refKind = parameter.RefKind;
Microsoft.CodeAnalysis.CSharp (4)
SymbolDisplay\SymbolDisplayVisitor.Members.cs (4)
642AddParameterRefKind(param.RefKind); 852symbol.RefKind != RefKind.Out && 859AddParameterRefKind(symbol.RefKind); 873symbol.RefKind == RefKind.None &&
Microsoft.CodeAnalysis.CSharp.CodeStyle (7)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (2)
168if (lambdaParameter.RefKind != invokedParameter.RefKind)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (1)
318if (primaryConstructor.Parameters.Any(static p => p.RefKind is RefKind.Ref or RefKind.Out))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ArgumentSyntaxExtensions.cs (2)
82parameter.RefKind != RefKind.Out) 88parameter.RefKind != RefKind.Ref)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
373ReducedFrom.Parameters: [{ RefKind: RefKind.Ref }, ..],
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
735if (castedSymbol is not IFieldSymbol and not ILocalSymbol and not IParameterSymbol and not IParameterSymbol { RefKind: RefKind.Ref })
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (4)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
114.WhereAsArray(p => p.RefKind == RefKind.Out);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (1)
105symbolAndCapture.symbol.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (1)
146=> GetParameterModifiers(ParameterIsScoped(parameter), parameter.RefKind, parameter.IsParams, forFunctionPointerReturnParameter);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
801if (parameter.RefKind == refKind)
Microsoft.CodeAnalysis.CSharp.Features (10)
CodeRefactorings\ConvertLocalFunctionToMethod\CSharpConvertLocalFunctionToMethodCodeRefactoringProvider.cs (1)
291=> CSharpSyntaxGenerator.Instance.Argument(shouldUseNamedArguments ? name : null, p.RefKind, name.ToIdentifierName());
Completion\CompletionProviders\CrefCompletionProvider.cs (1)
302builder.Append(p.RefKind switch
Completion\KeywordRecommenders\RefKeywordRecommender.cs (1)
106return parameter?.RefKind is RefKind.Ref or RefKind.RefReadOnlyParameter;
Completion\Providers\ContextVariableArgumentProvider.cs (1)
36switch (context.Parameter.RefKind)
Completion\Providers\OutVariableArgumentProvider.cs (1)
35if (context.Parameter.RefKind != RefKind.Out)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (2)
168if (lambdaParameter.RefKind != invokedParameter.RefKind)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (1)
318if (primaryConstructor.Parameters.Any(static p => p.RefKind is RefKind.Ref or RefKind.Out))
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
114.WhereAsArray(p => p.RefKind == RefKind.Out);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (1)
105symbolAndCapture.symbol.RefKind,
Microsoft.CodeAnalysis.CSharp.Workspaces (6)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ArgumentSyntaxExtensions.cs (2)
82parameter.RefKind != RefKind.Out) 88parameter.RefKind != RefKind.Ref)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
373ReducedFrom.Parameters: [{ RefKind: RefKind.Ref }, ..],
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
735if (castedSymbol is not IFieldSymbol and not ILocalSymbol and not IParameterSymbol and not IParameterSymbol { RefKind: RefKind.Ref })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (1)
146=> GetParameterModifiers(ParameterIsScoped(parameter), parameter.RefKind, parameter.IsParams, forFunctionPointerReturnParameter);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
801if (parameter.RefKind == refKind)
Microsoft.CodeAnalysis.Extensions.Package (4)
Symbols\IParameterSymbolExtensions.cs (1)
16switch (symbol.RefKind)
Symbols\ISymbolExtensions.cs (1)
500if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None))
Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
Microsoft.CodeAnalysis.Features (23)
AddConstructorParametersFromMembers\AddConstructorParametersFromMembersCodeRefactoringProvider.cs (1)
141refKind: t.parameter.RefKind,
AddConstructorParametersFromMembers\AddConstructorParametersFromMembersCodeRefactoringProvider.State.cs (1)
113return constructorParams.All(parameter => parameter.RefKind == RefKind.None) &&
Completion\Providers\AbstractContextVariableArgumentProvider.cs (1)
31|| context.Parameter.RefKind != RefKind.None;
Completion\Providers\AbstractPartialMethodCompletionProvider.cs (1)
74parameters: method.Parameters.SelectAsArray(p => CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type, p.Name)),
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (2)
4593GeneratesParameterAttribute(oldParameter.RefKind) != GeneratesParameterAttribute(newParameter.RefKind) ||
EditAndContinue\Utilities\Extensions.cs (1)
220static (param, constructor) => param.RefKind == RefKind.Out && param.Type.Equals(constructor.Parameters[param.Ordinal].Type, SymbolEqualityComparer.Default),
GenerateConstructors\AbstractGenerateConstructorsCodeRefactoringProvider.State.cs (1)
104where c.Parameters.All(p => p.RefKind == RefKind.None) && !c.Parameters.Any(static p => p.IsParams)
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (3)
352if (parameter.RefKind == RefKind.Out) 393if (parameter.RefKind == RefKind.Out) 431if (parameter.RefKind == RefKind.Out)
ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs (1)
137setMethod.Parameters is [{ RefKind: RefKind.None } parameter] &&
RQName\RQNodeBuilder.cs (2)
152if (parameter.RefKind == RefKind.Out) 156else if (parameter.RefKind == RefKind.Ref)
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
558switch (unusedParameter.RefKind) 622if (symbol is IParameterSymbol { RefKind: not RefKind.None } ||
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
965methodSymbol.Parameters[0].RefKind == RefKind.None &&
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (1)
259ctorParameter.RefKind == _parameterRefKinds[i];
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\GenerateConstructorHelpers.cs (2)
45constructor.Parameters.SequenceEqual(parameters, (p1, p2) => p1.RefKind == p2.RefKind) &&
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.MethodSignatureInfo.cs (1)
32=> _methodSymbol.Parameters.SelectAsArray(p => p.RefKind);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.cs (1)
223parameter.RefKind is RefKind.Out ||
src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\SuppressMessageAttributeState.TargetSymbolResolver.cs (1)
796if ((symbol.RefKind == RefKind.None) == parameterInfo.IsRefOrOut)
Microsoft.CodeAnalysis.NetAnalyzers (49)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\AvoidOutParameters.cs (2)
81parameterSymbol.RefKind == RefKind.Out || 83(parameterSymbol.RefKind == RefKind.Ref && parameterSymbol.HasAnyAttribute(outAttributeSymbol));
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\CancellationTokenParametersMustComeLast.cs (1)
124while (last >= 0 && methodSymbol.Parameters[last].RefKind != RefKind.None)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\DoNotPassTypesByReference.cs (1)
63if (parameterSymbol.RefKind == RefKind.Ref &&
Microsoft.CodeQuality.Analyzers\Maintainability\DoNotIgnoreMethodResults.cs (1)
338method.Parameters[1].RefKind != RefKind.None;
Microsoft.NetCore.Analyzers\InteropServices\DisableRuntimeMarshalling.cs (1)
170if (param.RefKind != RefKind.None)
Microsoft.NetCore.Analyzers\InteropServices\DoNotUseOutAttributeStringPInvokeParameters.cs (1)
63&& parameter.RefKind == RefKind.None
Microsoft.NetCore.Analyzers\Performance\PreferReadOnlySpanOverSpan.cs (2)
296argument.Parameter?.RefKind is RefKind.Ref or RefKind.Out) 425if (parameter.RefKind is RefKind.None &&
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.Collector.cs (1)
227if (arg.Parameter.RefKind is RefKind.Ref or RefKind.Out)
Microsoft.NetCore.Analyzers\Runtime\AvoidRedundantRegexIsMatchBeforeMatch.cs (1)
670argOp.Parameter.RefKind is RefKind.Ref or RefKind.Out)
src\0437c1690f5501bd\CopyAnalysis.CopyDataFlowOperationVisitor.cs (1)
319Debug.Assert(operation.Parameter?.RefKind is RefKind.Ref or RefKind.Out);
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (3)
756&& (a.Parameter.RefKind == RefKind.None 757|| a.Parameter.RefKind == RefKind.Ref 758|| a.Parameter.RefKind == RefKind.In));
src\9382845807600969\AbstractLocationDataFlowOperationVisitor.cs (3)
43if (parameter.RefKind == RefKind.None) 68Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 74if (operation.Parameter.RefKind == RefKind.Ref)
src\9382845807600969\AnalysisEntityDataFlowOperationVisitor.cs (3)
65Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 81Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 307if (parameter.RefKind != RefKind.None)
src\afc74d572e54ec72\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (5)
179Debug.Assert(parameter.RefKind != RefKind.None); 187Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 338operation.Parameter?.RefKind == RefKind.Out && 365if (operation.Parameter?.RefKind is RefKind.Out or RefKind.Ref) 376operation.Parameter.RefKind == RefKind.Out)
src\ffd9070534249528\DefaultPointsToValueGenerator.cs (1)
30analysisEntity.Symbol is IParameterSymbol parameter && parameter.RefKind == RefKind.Out ||
src\ffd9070534249528\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (6)
183analysisEntity.Symbol is IParameterSymbol { RefKind: RefKind.Out }); 249if (parameter.RefKind is RefKind.Ref or RefKind.Out) 286Debug.Assert(operation.Parameter!.RefKind is RefKind.Ref or RefKind.Out); 304if ((operation.Parameter?.RefKind is RefKind.Ref or RefKind.Out) && 316else if (operation.Parameter?.RefKind is RefKind.Ref or RefKind.Out) 318if (operation.Parameter.RefKind == RefKind.Ref)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IEnumerableOfIMethodSymbolExtensions.cs (4)
57if (!trailingOnly && candidateMethod.Parameters.First().Type.Equals(expectedParameterType) && candidateMethod.Parameters[0].RefKind == RefKind.None) 66if (!lastParameter.Type.Equals(expectedParameterType) || lastParameter.RefKind != RefKind.None) 77selectedOverload.Parameters[i].RefKind != candidateMethod.Parameters[j].RefKind)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (6)
253parameter.RefKind == RefKind.None; 669method.Parameters[0].RefKind == RefKind.Ref && 670method.Parameters[1].RefKind != RefKind.Ref && 681method.Parameters[0].RefKind == RefKind.Ref && 682method.Parameters[1].RefKind != RefKind.Ref && 683method.Parameters[2].RefKind != RefKind.Ref &&
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
1026return argumentOperation.Parameter?.RefKind switch
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (1)
159operation.Parent is IArgumentOperation argument && argument.Parameter?.RefKind == RefKind.Out) &&
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AddressSharedEntitiesProvider.cs (1)
44if (parameter.RefKind != RefKind.None &&
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (3)
593if (parameter.RefKind == RefKind.None || DataFlowAnalysisContext.InterproceduralAnalysisData == null) 3117if (operation.Parameter?.RefKind is RefKind.Ref or RefKind.Out) 3120if (operation.Parameter.RefKind != RefKind.Out)
Microsoft.CodeAnalysis.ResxSourceGenerator (17)
src\60c94c676d650713\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (6)
185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 500method.Parameters[0].RefKind == RefKind.Ref && 501method.Parameters[1].RefKind != RefKind.Ref && 512method.Parameters[0].RefKind == RefKind.Ref && 513method.Parameters[1].RefKind != RefKind.Ref && 514method.Parameters[2].RefKind != RefKind.Ref &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
164switch (argumentOperation.Parameter?.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
39/// equal <see cref="IParameterSymbol.RefKind"/>s.</item> 63/// the "same" <see cref="IParameterSymbol.RefKind"/>s.</item> 287refKinds[i], parameters[i].RefKind, distinguishRefFromOut: false))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
81_writeRefKind = p => WriteRefKind(p.RefKind);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
124var parameterRefKind = parameter.RefKind;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (1)
16switch (symbol.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
500if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None))
Microsoft.CodeAnalysis.VisualBasic (2)
SymbolDisplay\SymbolDisplayVisitor.Members.vb (1)
527If symbol.RefKind <> RefKind.None AndAlso IsExplicitByRefParameter(symbol) Then
Symbols\ParameterSymbol.vb (1)
304Private ReadOnly Property IParameterSymbol_RefKind As RefKind Implements IParameterSymbol.RefKind, IParameterSymbolInternal.RefKind
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (3)
287Return parameter IsNot Nothing AndAlso parameter.RefKind <> RefKind.None 302Return method.Parameters(index).RefKind <> RefKind.None 307Return prop.Parameters(index).RefKind <> RefKind.None
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ParenthesizedExpressionSyntaxExtensions.vb (1)
288parameter.RefKind <> RefKind.None Then
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\EventGenerator.vb (1)
194Return CodeGenerationSymbolFactory.CreateParameterSymbol(parameter.GetAttributes(), parameter.RefKind, isParams:=False, type:=parameter.Type, name:=parameter.Name, hasDefaultValue:=False)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (5)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (3)
287Return parameter IsNot Nothing AndAlso parameter.RefKind <> RefKind.None 302Return method.Parameters(index).RefKind <> RefKind.None 307Return prop.Parameters(index).RefKind <> RefKind.None
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ParenthesizedExpressionSyntaxExtensions.vb (1)
288parameter.RefKind <> RefKind.None Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\EventGenerator.vb (1)
194Return CodeGenerationSymbolFactory.CreateParameterSymbol(parameter.GetAttributes(), parameter.RefKind, isParams:=False, type:=parameter.Type, name:=parameter.Name, hasDefaultValue:=False)
Microsoft.CodeAnalysis.Workspaces (27)
Editing\SyntaxGenerator.cs (1)
329symbol.RefKind,
ReassignedVariable\AbstractReassignedVariableService.cs (2)
211symbolIsDefinitelyAssigned: parameter.RefKind != RefKind.Out, 235symbolIsDefinitelyAssigned: parameter.RefKind != RefKind.Out,
Rename\ConflictEngine\DeclarationConflictHelpers.cs (1)
113var refKind = distinguishRefKind ? parameter.RefKind : RefKind.None;
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (2)
113=> symbol is { RefKind: RefKind.Ref or RefKind.In or RefKind.RefReadOnlyParameter, ScopedKind: ScopedKind.ScopedRef } 114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\60c94c676d650713\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
164switch (argumentOperation.Parameter?.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
39/// equal <see cref="IParameterSymbol.RefKind"/>s.</item> 63/// the "same" <see cref="IParameterSymbol.RefKind"/>s.</item> 287refKinds[i], parameters[i].RefKind, distinguishRefFromOut: false))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
81_writeRefKind = p => WriteRefKind(p.RefKind);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
124var parameterRefKind = parameter.RefKind;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (1)
16switch (symbol.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
500if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
299refKind ?? parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
28parameter.RefKind, 43parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (4)
63return factory.Argument(parameter.RefKind, factory.IdentifierName(parameter.Name)); 290if (parameter.RefKind != RefKind.Out && 312if (parameter.RefKind != RefKind.Out && 350var refKind = parameter.RefKind;
Microsoft.Extensions.Configuration.Binder.SourceGeneration (2)
ConfigurationBindingGenerator.Parser.cs (1)
760else if (parameter.RefKind is not RefKind.None)
Specs\Members\ParameterSpec.cs (1)
16RefKind = parameter.RefKind;
Microsoft.Extensions.Logging.Generators (5)
LoggerMessageGenerator.Parser.cs (4)
376if (paramSymbol.RefKind == RefKind.In) 380else if (paramSymbol.RefKind == RefKind.Ref) 384else if (paramSymbol.RefKind == RefKind.Out) 393else if (paramSymbol.RefKind == (RefKind)4) // RefKind.RefReadOnlyParameter, added in Roslyn 4.8
LoggerMessageGenerator.Roslyn4.0.cs (1)
59m.Parameters[1].RefKind == RefKind.Ref) ?? false;
Microsoft.Extensions.Validation.ValidationsGenerator (2)
src\aspnetcore\src\Shared\RoslynUtils\ParsabilityHelper.cs (2)
101methodSymbol.Parameters[1].RefKind == RefKind.Out; 112methodSymbol.Parameters[2].RefKind == RefKind.Out;
Microsoft.Gen.Logging (4)
Parsing\Parser.cs (2)
544if (paramSymbol.RefKind == RefKind.In) 548else if (paramSymbol.RefKind != RefKind.None)
Parsing\Parser.TagProvider.cs (2)
99&& method.Parameters[0].RefKind == RefKind.None 100&& method.Parameters[1].RefKind == RefKind.None
Microsoft.Interop.SourceGeneration (3)
MarshallerShape.cs (2)
317&& m.Parameters[1].RefKind == RefKind.Out); 328&& m.Parameters[2].RefKind == RefKind.Out);
TypePositionInfo.cs (1)
91RefKind = paramSymbol.RefKind,
Roslyn.Diagnostics.Analyzers (33)
AbstractDoNotCopyValue.cs (4)
399var parameterRefKind = operation.Parameter.RefKind; 1103else if (returnedValue is IParameterReferenceOperation { Parameter.RefKind: RefKind.None }) 1424return parameter.RefKind is RefKind.In or RefKindEx.RefReadOnlyParameter ? parameter.RefKind : RefKind.Ref;
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (2)
113=> symbol is { RefKind: RefKind.Ref or RefKind.In or RefKind.RefReadOnlyParameter, ScopedKind: ScopedKind.ScopedRef } 114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\60c94c676d650713\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (6)
185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 500method.Parameters[0].RefKind == RefKind.Ref && 501method.Parameters[1].RefKind != RefKind.Ref && 512method.Parameters[0].RefKind == RefKind.Ref && 513method.Parameters[1].RefKind != RefKind.Ref && 514method.Parameters[2].RefKind != RefKind.Ref &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
164switch (argumentOperation.Parameter?.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
39/// equal <see cref="IParameterSymbol.RefKind"/>s.</item> 63/// the "same" <see cref="IParameterSymbol.RefKind"/>s.</item> 287refKinds[i], parameters[i].RefKind, distinguishRefFromOut: false))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
81_writeRefKind = p => WriteRefKind(p.RefKind);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
124var parameterRefKind = parameter.RefKind;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (1)
16switch (symbol.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
500if (symbol is IMethodSymbol method && method.Parameters.All(p => p.RefKind == RefKind.None))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
299refKind ?? parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
28parameter.RefKind, 43parameter.RefKind,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (4)
63return factory.Argument(parameter.RefKind, factory.IdentifierName(parameter.Name)); 290if (parameter.RefKind != RefKind.Out && 312if (parameter.RefKind != RefKind.Out && 350var refKind = parameter.RefKind;
Roslyn.Diagnostics.CSharp.Analyzers (6)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ArgumentSyntaxExtensions.cs (2)
82parameter.RefKind != RefKind.Out) 88parameter.RefKind != RefKind.Ref)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
373ReducedFrom.Parameters: [{ RefKind: RefKind.Ref }, ..],
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
735if (castedSymbol is not IFieldSymbol and not ILocalSymbol and not IParameterSymbol and not IParameterSymbol { RefKind: RefKind.Ref })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (1)
146=> GetParameterModifiers(ParameterIsScoped(parameter), parameter.RefKind, parameter.IsParams, forFunctionPointerReturnParameter);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
801if (parameter.RefKind == refKind)
Roslyn.Diagnostics.VisualBasic.Analyzers (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (3)
287Return parameter IsNot Nothing AndAlso parameter.RefKind <> RefKind.None 302Return method.Parameters(index).RefKind <> RefKind.None 307Return prop.Parameters(index).RefKind <> RefKind.None
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ParenthesizedExpressionSyntaxExtensions.vb (1)
288parameter.RefKind <> RefKind.None Then
System.Text.Json.SourceGeneration (4)
JsonSourceGenerator.Parser.cs (4)
1589member.Parameters[0].RefKind is not RefKind.None) 2791if (parameterInfo.RefKind == RefKind.Out) 2804int currentArgsIndex = parameterInfo.RefKind == RefKind.Out ? -1 : argsIndex++; 2815RefKind = parameterInfo.RefKind,