src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateDeconstructMethodService.State.cs (1)
76refKind: RefKind.None,
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.State.cs (1)
255refKind: RefKind.None,
src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.cs (4)
153document, state, generateProperty: false, isReadonly: false, isConstant: true, refKind: RefKind.None));
167document, state, generateProperty: false, isReadonly: true, isConstant: false, refKind: RefKind.None));
181document, state, generateProperty: false, isReadonly: false, isConstant: false, refKind: RefKind.None));
266return RefKind.None;
src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.GenerateParameterCodeAction.cs (1)
44RefKind.None,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (1)
300refKind: RefKind.None,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
56refKind: RefKind.None,
Binder\Binder.ValueChecks.cs (66)
53Method is { RefKind: not RefKind.None, ReturnType: { } returnType } &&
386if (indexerAccess.Indexer.RefKind != RefKind.None)
1034(localSymbol.RefKind == RefKind.None && !localSymbol.IsWritableVariable))
1042if (localSymbol.RefKind == RefKind.None)
1074if (localSymbol.RefKind == RefKind.None)
1120else if (parameterSymbol.RefKind == RefKind.None && RequiresRefAssignableVariable(valueKind))
1126Debug.Assert(parameterSymbol.RefKind != RefKind.None || !RequiresRefAssignableVariable(valueKind));
1130if (parameterSymbol.RefKind == RefKind.None &&
1134Debug.Assert(backingField.RefKind == RefKind.None);
1139Debug.Assert(backingField.RefKind == RefKind.None);
1241{ RefKind: RefKind.None } => CurrentMethodScope,
1276Debug.Assert(parameterSymbol.RefKind == RefKind.None || isRefScoped || refSafeToEscape == ReturnOnlyScope);
1326if ((fieldSymbol.RefKind == RefKind.None ? RequiresAssignableVariable(valueKind) : RequiresRefAssignableVariable(valueKind)) &&
1338case RefKind.None:
1363case RefKind.None:
1466if (fieldSymbol.RefKind != RefKind.None)
1490if (fieldSymbol.RefKind != RefKind.None)
1626if (RequiresVariable(valueKind) && methodSymbol.RefKind == RefKind.None)
1672propertySymbol.RefKind == RefKind.None)
1702var requiresSet = RequiresAssignableVariable(valueKind) && propertySymbol.RefKind == RefKind.None;
1771var requiresGet = !RequiresAssignmentOnly(valueKind) || propertySymbol.RefKind != RefKind.None;
2063(param is { RefKind: not RefKind.None, Type: { } type } && type.IsRefLikeOrAllowsRefLikeType())) &&
2155var valid = effectiveRefKind != RefKind.None && isRefEscape ?
2224(param is { RefKind: not RefKind.None, Type: { } type } && type.IsRefLikeOrAllowsRefLikeType())) &&
2325var refKind = parameter?.RefKind ?? RefKind.None;
2330if (refKind == RefKind.None &&
2388return new EscapeArgument(parameter: null, receiver, RefKind.None);
2391var refKind = RefKind.None;
2418var refKind = argRefKindsOpt.IsDefault ? RefKind.None : argRefKindsOpt[argIndex];
2596if (refKind != RefKind.None)
2616if (parameter.RefKind != RefKind.None && GetParameterRefEscapeLevel(parameter) is { } refEscapeLevel)
2685if (parameter.RefKind != RefKind.None)
2992if (_underlyingParameter.RefKind is not RefKind.None and var underlyingRefKind)
2999return RefKind.None;
3212Debug.Assert(field.RefKind == RefKind.None ? RequiresAssignableVariable(kind) : RequiresRefAssignableVariable(kind));
3409if (methodSymbol.RefKind == RefKind.None)
3431if (methodSymbol.RefKind == RefKind.None)
3492if (methodSymbol.RefKind == RefKind.None)
3519Debug.Assert(GetInlineArrayAccessEquivalentSignatureMethod(elementAccess, out _, out _).RefKind == RefKind.None);
3527Debug.Assert(equivalentSignatureMethod.RefKind != RefKind.None);
3571conversion.Conversion.Method.RefKind == RefKind.None));
3578unaryMethod.RefKind == RefKind.None));
3585binaryMethod.RefKind == RefKind.None));
3591logicalOperator.LogicalOperator.RefKind == RefKind.None));
3598compoundMethod.RefKind == RefKind.None));
3726if (methodSymbol.RefKind == RefKind.None)
3752if (indexerSymbol.RefKind == RefKind.None)
3783if (indexerSymbol.RefKind == RefKind.None)
3809if (methodSymbol.RefKind == RefKind.None)
3840Debug.Assert(GetInlineArrayAccessEquivalentSignatureMethod(elementAccess, out _, out _).RefKind == RefKind.None);
3848Debug.Assert(equivalentSignatureMethod.RefKind != RefKind.None);
3870if (signature.RefKind == RefKind.None)
3894if (propertySymbol.RefKind == RefKind.None)
3941conversion.Conversion.Method.RefKind == RefKind.None);
3948unaryMethod.RefKind == RefKind.None));
3955binaryMethod.RefKind == RefKind.None));
3961logicalOperator.LogicalOperator.RefKind == RefKind.None));
3968compoundMethod.RefKind == RefKind.None));
4526if (constructMethod is not { Parameters: [{ RefKind: RefKind.None } parameter] })
4661var accessorKind = property.RefKind == RefKind.None ? AccessorKind.Set : AccessorKind.Get;
5434resultRefKind = RefKind.None;
5435parameterRefKind = RefKind.None;
5448resultRefKind = RefKind.None;
5509RefKind.None,
5731return !((CodeGenerator.IsStackLocal(local, stackLocalsOpt) && local.RefKind == RefKind.None) ||
5853Debug.Assert(field.RefKind == RefKind.None);
Binder\Binder_Query.cs (3)
696return lambdaBodyBinder.CreateBlockFromExpression(node, ImmutableArray<LocalSymbol>.Empty, RefKind.None, construction, null, d);
776return this.CreateBlockFromExpression(expression, locals, RefKind.None, result, expression, diagnostics);
818new AnonymousTypeField(fieldName, fieldValue.Syntax.Location, TypeWithAnnotations.Create(TypeOrError(fieldValue)), RefKind.None, ScopedKind.None);
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (22)
111return MakeDynamicOperation(binderConstruction, null, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), null, resultType);
147return MakeDynamicOperation(binderConstruction, null, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), null, resultType);
190return MakeDynamicOperation(binderConstruction, null, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), null, resultType);
228receiverRefKind = RefKind.None;
292return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), loweredHandler, resultType);
329return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, loweredArguments, refKinds, null, resultType);
356return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, loweredArguments, refKinds, null, type);
391return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), null, resultType);
432return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), loweredRight, AssemblySymbol.DynamicType);
458return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, loweredArguments, refKinds, null, resultType);
516return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, ImmutableArray<BoundExpression>.Empty, default(ImmutableArray<RefKind>), null, resultType);
547return RefKind.None;
555return hasHome ? RefKind.Ref : RefKind.None;
564RefKind receiverRefKind = RefKind.None,
571Debug.Assert(!receiverIsStaticType || receiverRefKind == RefKind.None);
586refKinds.IsDefault ? RefKind.None : refKinds[i],
592infos[j++] = GetArgumentInfo(argumentInfoFactory, loweredRight, NoName, RefKind.None, isStaticType: false);
736bool hasByRefs = receiverRefKind != RefKind.None || !refKinds.IsDefaultOrEmpty;
776byRefs[j++] = RefKind.None;
794return refKind == RefKind.None ? RefKind.None : RefKind.Ref;
817Debug.Assert(refKind == RefKind.None || refKind == RefKind.Ref || refKind == RefKind.Out, "unexpected refKind in dynamic");
Lowering\SpillSequenceSpiller.cs (24)
305RefKind refKind = RefKind.None,
317Debug.Assert(refKind == RefKind.None);
324Debug.Assert(refKind == RefKind.None);
337if (refKind != RefKind.None || expression.Type?.IsRefLikeOrAllowsRefLikeType() == true)
380if (refKind != RefKind.None || expression.Type.IsReferenceType)
388if (refKind != RefKind.None)
397if (local.LocalSymbol.SynthesizedKind == SynthesizedLocalKind.Spill || refKind != RefKind.None)
410if (refKind != RefKind.None || fieldSymbol.IsReadOnly)
417if (refKind == RefKind.None) goto default;
419var receiver = Spill(builder, field.ReceiverOpt, fieldSymbol.ContainingType.IsValueType ? refKind : RefKind.None);
437if (refKind != RefKind.None)
482if (refKind == RefKind.None &&
489[Spill(builder, objectCreationExpression.Arguments[0], argRefKinds.IsDefault ? RefKind.None : argRefKinds[0])],
550Left: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.None } referenceTypeClone },
554Value: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.None } } referenceTypeReceiver
634var refKind = refKinds.IsDefault ? RefKind.None : refKinds[i];
892expression = Spill(leftBuilder, expression, RefKind.None);
939expression = Spill(leftBuilder, expression, RefKind.None);
1034Debug.Assert(refKind == RefKind.None || !receiver.Type.IsReferenceType);
1038if (refKind != RefKind.None &&
1073var result = RefKind.None;
1286if (receiver.Type.IsReferenceType || receiver.Type.IsValueType || receiverRefKind == RefKind.None)
1289receiver = Spill(receiverBuilder, receiver, RefKind.None);
1306var clone = _F.SynthesizedLocal(receiver.Type, _F.Syntax, refKind: RefKind.None, kind: SynthesizedLocalKind.Spill);
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (12)
307if (local.RefKind != RefKind.None)
570BoundExpression expression = HoistExpression(array.Expression, awaitSyntaxOpt, syntaxOffset, RefKind.None, sideEffects, hoistedFields, ref needsSacrificialEvaluation);
574indices.Add(HoistExpression(index, awaitSyntaxOpt, syntaxOffset, RefKind.None, sideEffects, hoistedFields, ref needsSacrificialEvaluation));
587if (refKind != RefKind.None || field.FieldSymbol.IsReadOnly) return expr;
591if (refKind == RefKind.None)
599isFieldOfStruct ? refKind : RefKind.None, sideEffects, hoistedFields, ref needsSacrificialEvaluation);
621if (refKind != RefKind.None && refKind != RefKind.In)
624Debug.Assert(call.Method.RefKind != RefKind.None);
628refKind = RefKind.None;
639if (refKind != RefKind.None && refKind != RefKind.RefReadOnly)
646refKind = RefKind.None;
655if (refKind != RefKind.None)
Symbols\Source\SourceDelegateMethodSymbol.cs (8)
217: base(delegateType, voidType, syntax, MethodKind.Constructor, RefKind.None, DeclarationModifiers.Public)
220SynthesizedParameterSymbol.Create(this, objectType, 0, RefKind.None, "object"),
221SynthesizedParameterSymbol.Create(this, intPtrType, 1, RefKind.None, "method")));
355: base((SourceNamedTypeSymbol)invoke.ContainingType, iAsyncResultType, syntax, MethodKind.Ordinary, RefKind.None, DeclarationModifiers.Virtual | DeclarationModifiers.Public)
365parameters.Add(SynthesizedParameterSymbol.Create(this, asyncCallbackType, paramCount, RefKind.None, GetUniqueParameterName(parameters, "callback")));
366parameters.Add(SynthesizedParameterSymbol.Create(this, objectType, paramCount + 1, RefKind.None, GetUniqueParameterName(parameters, "object")));
402if (p.RefKind != RefKind.None)
409parameters.Add(SynthesizedParameterSymbol.Create(this, iAsyncResultType, ordinal++, RefKind.None, GetUniqueParameterName(parameters, "result")));
Symbols\Source\SourceMemberContainerSymbol.cs (14)
3902if (methodParam.RefKind != RefKind.None)
3925methodParams[0].RefKind == RefKind.None &&
4252RefKind.None,
4298RefKind.None
4300RefKind.None,
4347RefKind.None)),
4348RefKind.None,
4403RefKind.None,
4482RefKind.None,
4575RefKind.None,
4606RefKind.None,
4672RefKind.None
4674RefKind.None,
4882var modifiers = SourceMemberFieldSymbol.MakeModifiers(this, fieldSyntax.Declaration.Variables[0].Identifier, fieldSyntax.Modifiers, isRefField: refKind != RefKind.None, diagnostics, out modifierErrors);
Symbols\Synthesized\Records\SynthesizedPrimaryConstructor.cs (1)
43RefKind.None,
Symbols\Synthesized\Records\SynthesizedRecordEqualityContractProperty.cs (1)
39RefKind.None,
Symbols\Synthesized\Records\SynthesizedRecordPropertySymbol.cs (1)
37RefKind.None,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (1)
138RefKind.None => [],
InitializeParameter\CSharpInitializeMemberFromPrimaryConstructorParameterCodeRefactoringProvider.cs (1)
254RefKind.None,
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (1)
870RefKind.None,
GenerateType\AbstractGenerateTypeService.GenerateNamedType.cs (1)
50RefKind.None,
InitializeParameter\AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs (1)
346RefKind.None,
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateDeconstructMethodService.State.cs (1)
76refKind: RefKind.None,
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.State.cs (1)
255refKind: RefKind.None,
src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.cs (4)
153document, state, generateProperty: false, isReadonly: false, isConstant: true, refKind: RefKind.None));
167document, state, generateProperty: false, isReadonly: true, isConstant: false, refKind: RefKind.None));
181document, state, generateProperty: false, isReadonly: false, isConstant: false, refKind: RefKind.None));
266return RefKind.None;
src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.GenerateParameterCodeAction.cs (1)
44RefKind.None,