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