17 overrides of RefKind
Microsoft.CodeAnalysis.CSharp (16)
Lowering\ClosureConversion\LambdaCapturedVariable.cs (1)
119public override RefKind RefKind => RefKind.None;
Lowering\StateMachineRewriter\StateMachineFieldSymbol.cs (1)
62public override RefKind RefKind => RefKind.None;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.FieldSymbol.cs (1)
35public override RefKind RefKind => RefKind.None;
Symbols\Metadata\PE\PEFieldSymbol.cs (1)
375public override RefKind RefKind
Symbols\Retargeting\RetargetingFieldSymbol.cs (1)
73public override RefKind RefKind => _underlyingField.RefKind;
Symbols\Source\GlobalExpressionVariable.cs (1)
67public sealed override RefKind RefKind => RefKind.None;
Symbols\Source\SourceEnumConstantSymbol.cs (1)
59public sealed override RefKind RefKind => RefKind.None;
Symbols\Source\SourceMemberFieldSymbol.cs (1)
417public sealed override RefKind RefKind => GetTypeAndRefKind(ConsList<FieldSymbol>.Empty).RefKind;
Symbols\SubstitutedFieldSymbol.cs (1)
106public override RefKind RefKind => _underlyingField.RefKind;
Symbols\Synthesized\Records\SynthesizedPrimaryConstructorParameterBackingFieldSymbol.cs (1)
45public override RefKind RefKind => RefKind.None;
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (1)
112public override RefKind RefKind => _property.RefKind;
Symbols\Synthesized\SynthesizedEnumValueFieldSymbol.cs (1)
29public override RefKind RefKind => RefKind.None;
Symbols\Synthesized\SynthesizedFieldSymbol.cs (1)
36public override RefKind RefKind => RefKind.None;
Symbols\Synthesized\SynthesizedLambdaCacheFieldSymbol.cs (1)
36public override RefKind RefKind => RefKind.None;
Symbols\Tuples\TupleErrorFieldSymbol.cs (1)
157public override RefKind RefKind => RefKind.None;
Symbols\Tuples\TupleFieldSymbol.cs (1)
124public sealed override RefKind RefKind => _underlyingField.RefKind;
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
Symbols\DisplayClassVariable.cs (1)
219public override RefKind RefKind => RefKind.None;
45 references to RefKind
Microsoft.CodeAnalysis.CSharp (39)
Binder\Binder.ValueChecks.cs (13)
942Debug.Assert(backingField.RefKind == RefKind.None); 947Debug.Assert(backingField.RefKind == RefKind.None); 1135if ((fieldSymbol.RefKind == RefKind.None ? RequiresAssignableVariable(valueKind) : RequiresRefAssignableVariable(valueKind)) && 1145switch (fieldSymbol.RefKind) 1155throw ExceptionUtilities.UnexpectedValue(fieldSymbol.RefKind); 1170switch (fieldSymbol.RefKind) 1179throw ExceptionUtilities.UnexpectedValue(fieldSymbol.RefKind); 1275if (fieldSymbol.RefKind != RefKind.None) 1299if (fieldSymbol.RefKind != RefKind.None) 2821Debug.Assert(field.RefKind == RefKind.None ? RequiresAssignableVariable(kind) : RequiresRefAssignableVariable(kind)); 4730if (field.RefKind is RefKind.Ref) 4753if (field.RefKind == RefKind.RefReadOnly) 4758Debug.Assert(field.RefKind == RefKind.None);
Binder\Binder_Expressions.cs (2)
439BoundExpression result = initializerBinder.BindVariableOrAutoPropInitializerValue(initializerOpt, field.RefKind, 7523fieldSymbol.RefKind != RefKind.None)
Binder\RefSafetyAnalysis.cs (1)
258ValidateEscape(value, CallingMethodScope, isByRef: field.RefKind != RefKind.None, _diagnostics);
BoundTree\BoundExpressionExtensions.cs (2)
31return ((BoundFieldAccess)node).FieldSymbol.RefKind; 52FieldSymbol f => f.RefKind,
CodeGen\EmitAddress.cs (2)
551field.RefKind == RefKind.None ? 555_builder.EmitOpCode(field.RefKind == RefKind.None ? ILOpCode.Ldflda : ILOpCode.Ldfld);
CodeGen\EmitExpression.cs (5)
1092if (!field.IsVolatile && !field.IsStatic && fieldAccess.ReceiverOpt.Type.IsVerifierValue() && field.RefKind == RefKind.None) 1104if (field.RefKind != RefKind.None) 1261if (field.IsStatic || field.RefKind != RefKind.None) 2565if (left.FieldSymbol.RefKind != RefKind.None && 3064if (field.RefKind != RefKind.None && !refAssign)
CodeGen\EmitStatement.cs (1)
1134Debug.Assert(left.FieldSymbol.RefKind == RefKind.None);
Emitter\Model\FieldSymbolAdapter.cs (1)
53bool Cci.IFieldReference.IsByReference => AdaptedFieldSymbol.RefKind != RefKind.None;
Emitter\Model\SpecializedFieldReference.cs (1)
80bool Cci.IFieldReference.IsByReference => _underlyingField.RefKind != RefKind.None;
FlowAnalysis\FlowAnalysisPass.cs (1)
120if (field.RefKind == RefKind.None)
Lowering\InitializerRewriter.cs (1)
106isRef: field.RefKind != RefKind.None)
Symbols\BaseTypeAnalysis.cs (1)
180if (field.RefKind != RefKind.None)
Symbols\FieldSymbol.cs (1)
356if (DeriveUseSiteInfoFromType(ref result, this.TypeWithAnnotations, RefKind == RefKind.None ? AllowedRequiredModifierType.System_Runtime_CompilerServices_Volatile : AllowedRequiredModifierType.None) ||
Symbols\Metadata\PE\MemberRefMetadataDecoder.cs (1)
183(field.RefKind != RefKind.None) == fieldInfo.IsByRef &&
Symbols\PublicModel\FieldSymbol.cs (1)
34RefKind IFieldSymbol.RefKind => _underlying.RefKind;
Symbols\Retargeting\RetargetingFieldSymbol.cs (1)
73public override RefKind RefKind => _underlyingField.RefKind;
Symbols\Source\FieldSymbolWithAttributesAndModifiers.cs (1)
392if (this.RefKind == RefKind.RefReadOnly)
Symbols\Source\SourceFieldSymbol.cs (1)
138if (RefKind == RefKind.RefReadOnly)
Symbols\SubstitutedFieldSymbol.cs (1)
106public override RefKind RefKind => _underlyingField.RefKind;
Symbols\Tuples\TupleFieldSymbol.cs (1)
124public sealed override RefKind RefKind => _underlyingField.RefKind;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (6)
Semantics\RefFieldTests.cs (4)
2106Assert.Equal(expectedRefKind, field.RefKind); 11645Assert.Equal(RefKind.None, f.RefKind); 12084Assert.Equal(RefKind.None, f.RefKind); 12491Assert.Equal(RefKind.None, f.RefKind);
Semantics\RefLocalsAndReturnsTests.cs (2)
4867Assert.Equal(RefKind.None, f.RefKind); 4906Assert.Equal(RefKind.None, f.RefKind);