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;
321 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\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\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
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\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
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;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\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 };
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.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\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\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
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\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
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;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\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 };
Microsoft.CodeAnalysis.AnalyzerUtilities (44)
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\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\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\Analysis\PointsToAnalysis\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\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (3)
758&& (a.Parameter.RefKind == RefKind.None 759|| a.Parameter.RefKind == RefKind.Ref 760|| a.Parameter.RefKind == RefKind.In));
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\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
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\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
Microsoft.CodeAnalysis.CodeStyle (15)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
965methodSymbol.Parameters[0].RefKind == RefKind.None &&
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
558switch (unusedParameter.RefKind) 622if (symbol is IParameterSymbol { RefKind: not 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\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
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\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
Microsoft.CodeAnalysis.CodeStyle.Fixes (17)
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;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\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 };
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)
299builder.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)
4588GeneratesParameterAttribute(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\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
965methodSymbol.Parameters[0].RefKind == RefKind.None &&
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
558switch (unusedParameter.RefKind) 622if (symbol is IParameterSymbol { RefKind: not 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.ResxSourceGenerator (17)
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\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
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\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
164switch (argumentOperation.Parameter?.RefKind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
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\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
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;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\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 };
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.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\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\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
456if (parameter.RefKind is RefKind.Ref or RefKind.Out)
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\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (2)
50AreRefKindsEquivalent(x.RefKind, y.RefKind, distinguishRefFromOut) &&
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;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\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 };
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)
1129member.Parameters[0].RefKind is not RefKind.None) 2321TypeRef parameterTypeRef = parameterInfo.RefKind == RefKind.Out 2326int currentArgsIndex = parameterInfo.RefKind == RefKind.Out ? -1 : argsIndex++; 2337RefKind = parameterInfo.RefKind,