25 references to RefKindExtensions
Microsoft.CodeAnalysis.CSharp (25)
CodeGen\CodeGenerator_HasHome.cs (3)
125else if (localRefKind == RefKindExtensions.StrictIn) 154else if (dupRefKind == RefKindExtensions.StrictIn) 181if (!IsAnyReadOnly(addressKind) && right.RefKind is (RefKind.RefReadOnly or RefKindExtensions.StrictIn))
CodeGen\EmitExpression.cs (6)
735Debug.Assert(refKind is RefKind.In or RefKind.Ref or RefKind.Out or RefKindExtensions.StrictIn); 759Debug.Assert(refKind is RefKind.Ref or RefKind.Out or RefKindExtensions.StrictIn); 762return refKind == RefKindExtensions.StrictIn ? AddressKind.ReadOnlyStrict : AddressKind.Writeable; 1006RefKind.In => argRefKind == RefKindExtensions.StrictIn, 1007RefKind.RefReadOnlyParameter => argRefKind is RefKind.In or RefKindExtensions.StrictIn, 3170return refKind is RefKind.RefReadOnly or RefKindExtensions.StrictIn or RefKind.RefReadOnlyParameter ? AddressKind.ReadOnlyStrict : AddressKind.Writeable;
CodeGen\Optimizer.cs (1)
985if (localSymbol.RefKind is RefKind.RefReadOnly or RefKindExtensions.StrictIn &&
FlowAnalysis\AbstractFlowPass.cs (1)
1555case RefKindExtensions.StrictIn:
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
252return new BoundRefAccess(syntax, RefKindExtensions.StrictIn, rewrittenRight, rewrittenRight.Type);
Lowering\LocalRewriter\LocalRewriter_Call.cs (5)
1030return RefKindExtensions.StrictIn; 1058case RefKindExtensions.StrictIn: 1059Debug.Assert(refKind != RefKindExtensions.StrictIn); 1380return initialArgRefKind == RefKind.None ? RefKind.In : RefKindExtensions.StrictIn; 1586? (argRefKind == RefKind.None ? RefKind.In : RefKindExtensions.StrictIn)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
728var call = _factory.New(constructor, arguments: [temp], argumentRefKinds: [asReadOnlySpan ? RefKindExtensions.StrictIn : RefKind.Ref]);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
759collectionTempRefKind = enumeratorInfo.InlineArraySpanType == WellKnownType.System_Span_T ? RefKind.Ref : RefKindExtensions.StrictIn;
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (1)
332possiblyRefCapturedReceiver = _factory.StoreToTemp(possiblyRefCapturedReceiver, out var refCapture, createSpan.Parameters[0].RefKind == RefKind.In ? RefKindExtensions.StrictIn : RefKind.Ref);
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
535argumentRefKindsOpt: [readOnlySpanCtorRefParamChar.Parameters[0].RefKind == RefKind.Ref ? RefKind.Ref : RefKindExtensions.StrictIn],
Lowering\StateMachineRewriter\RefInitializationHoister.cs (2)
241Debug.Assert(refKind is RefKindExtensions.StrictIn or RefKind.Ref or RefKind.Out); 262Debug.Assert(refKind is RefKindExtensions.StrictIn or RefKind.Ref or RefKind.In);
Lowering\SyntheticBoundNodeFactory.cs (2)
938RefKind.In or RefKind.RefReadOnlyParameter when useStrictArgumentRefKinds => RefKindExtensions.StrictIn, 1707case RefKindExtensions.StrictIn: