Binder\Binder_Expressions.cs (9)
425FieldSymbol field,
1850FieldSymbol possibleField = null;
1864possibleField = lookupResult.SingleSymbolOrDefault as FieldSymbol;
1928(this.ContainingMember() is FieldSymbol || (object)primaryCtor == this.ContainingMember()) ||
1991return BindFieldAccess(node, receiver, (FieldSymbol)symbol, diagnostics, resultKind, indexed, hasErrors: isError);
5014var fieldSymbol = ((BoundFieldAccess)boundMember).FieldSymbol;
7105resultType = ((FieldSymbol)symbolOpt).GetFieldType(this.FieldsBeingBound).Type;
7257result = BindFieldAccess(node, left, (FieldSymbol)symbol, diagnostics, lookupResult.Kind, indexed, hasErrors: wasError);
7431FieldSymbol fieldSymbol,
FlowAnalysis\DefiniteAssignment.cs (35)
87private PooledHashSet<FieldSymbol>? _implicitlyInitializedFieldsOpt;
89private void AddImplicitlyInitializedField(FieldSymbol field)
93(_implicitlyInitializedFieldsOpt ??= PooledHashSet<FieldSymbol>.GetInstance()).Add(field);
357case (FieldSymbol or PropertySymbol) and { IsStatic: false, ContainingSymbol: SourceMemberContainerTypeSymbol { PrimaryConstructor: { } primaryConstructor } }:
475foreach (var field in _emptyStructTypeCache.GetStructInstanceFields(parameter.Type))
525out ImmutableArray<FieldSymbol> implicitlyInitializedFieldsOpt,
603(DiagnosticBag, ImmutableArray<FieldSymbol> implicitlyInitializedFieldsOpt) analyze(bool strictAnalysis)
606ImmutableArray<FieldSymbol> implicitlyInitializedFieldsOpt = default;
622var builder = ArrayBuilder<FieldSymbol>.GetInstance(implicitlyInitializedFields.Count);
623foreach (var field in implicitlyInitializedFields)
753_sourceAssembly.NoteFieldAccess((FieldSymbol)variable.OriginalDefinition,
789FieldSymbol associatedField = eventAccess.EventSymbol.AssociatedField;
828var field = (FieldSymbol)variable.OriginalDefinition;
935var field = fieldAccess.FieldSymbol.OriginalDefinition;
957FieldSymbol associatedField = eventAccess.EventSymbol.AssociatedField;
962var field = associatedField.OriginalDefinition;
1031var fieldSymbol = fieldAccess.FieldSymbol;
1090protected bool MayRequireTracking(BoundExpression receiverOpt, FieldSymbol fieldSymbol)
1187addDiagnosticForStructField(slot, (FieldSymbol)symbol);
1220foreach (var field in _emptyStructTypeCache.GetStructInstanceFields(thisParameter.ContainingType))
1256void addDiagnosticForStructField(int fieldSlot, FieldSymbol fieldSymbol)
1282AddImplicitlyInitializedField((FieldSymbol)fieldIdentifier.Symbol);
1307protected virtual void CheckAssigned(BoundExpression expr, FieldSymbol fieldSymbol, SyntaxNode node)
1423var fieldSymbol = fieldAccess.FieldSymbol;
1580foreach (var field in _emptyStructTypeCache.GetStructInstanceFields(structType))
1618foreach (var field in _emptyStructTypeCache.GetStructInstanceFields(type))
1653foreach (var field in _emptyStructTypeCache.GetStructInstanceFields(type))
1911if (member.Symbol is FieldSymbol field)
2440var symbol = field.FieldSymbol;
2448FieldSymbol associatedField = @event.EventSymbol.AssociatedField;
2493FieldSymbol field = (FieldSymbol)symbol;
2581FieldSymbol associatedField = node.EventSymbol.AssociatedField;
2613_sourceAssembly.NoteFieldAccess((FieldSymbol)node.MemberSymbol.OriginalDefinition, read: false, write: true);
FlowAnalysis\NullableWalker.cs (18)
689FieldSymbol? field;
693case FieldSymbol f:
886case FieldSymbol { IsConst: true }:
888case FieldSymbol { AssociatedSymbol: PropertySymbol prop }:
1021if (requiredMember is FieldSymbol)
1901var fieldSymbol = fieldAccess.FieldSymbol;
2078primaryConstructor.GetCapturedParameters().TryGetValue(parameter, out FieldSymbol? field))
2535foreach (var field in _emptyStructTypeCache.GetStructInstanceFields(targetType))
3391(FieldSymbol { ContainingType: { IsTupleType: true }, TupleElementIndex: var oi } originalField, FieldSymbol { ContainingType: { IsTupleType: true }, TupleElementIndex: var ui } updatedField) =>
7632tupleType.GetMembers(NamedTypeSymbol.ValueTupleRestFieldName).FirstOrDefault() is FieldSymbol restField)
7639void trackState(BoundExpression value, FieldSymbol field, TypeWithState valueType)
7697void trackConvertedValue(FieldSymbol targetField, Conversion conversion, FieldSymbol valueField)
9043case BoundFieldAccess { ExpressionSymbol: FieldSymbol { AssociatedSymbol: PropertySymbol autoProperty } } fieldAccess:
9046case BoundFieldAccess { ExpressionSymbol: FieldSymbol { AssociatedSymbol: EventSymbol @event } } fieldAccess:
9161private static FlowAnalysisAnnotations GetFieldAnnotations(FieldSymbol field)
9177var annotations = memberSymbol switch { PropertySymbol prop => prop.GetFlowAnalysisAnnotations(), FieldSymbol field => GetFieldAnnotations(field), _ => FlowAnalysisAnnotations.None };
Generated\BoundNodes.xml.Generated.cs (32)
296public BoundFieldEqualsValue(SyntaxNode syntax, FieldSymbol field, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
307public FieldSymbol Field { get; }
312public BoundFieldEqualsValue Update(FieldSymbol field, ImmutableArray<LocalSymbol> locals, BoundExpression value)
2292public BoundLocalId(SyntaxNode syntax, LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors)
2303public BoundLocalId(SyntaxNode syntax, LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type)
2316public FieldSymbol? HoistedField { get; }
2321public BoundLocalId Update(LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type)
2335public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors)
2346public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
2359public FieldSymbol? HoistedField { get; }
2364public BoundParameterId Update(ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
2639public BoundFieldInfo(SyntaxNode syntax, FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type, bool hasErrors)
2650public BoundFieldInfo(SyntaxNode syntax, FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type)
2662public FieldSymbol Field { get; }
2668public BoundFieldInfo Update(FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type)
5331public BoundDagFieldEvaluation(SyntaxNode syntax, FieldSymbol field, BoundDagTemp input, bool hasErrors = false)
5341public FieldSymbol Field { get; }
5346public BoundDagFieldEvaluation Update(FieldSymbol field, BoundDagTemp input)
6988public BoundFieldAccess(SyntaxNode syntax, BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt, LookupResultKind resultKind, bool isByValue, bool isDeclaration, TypeSymbol type, bool hasErrors = false)
7005public FieldSymbol FieldSymbol { get; }
7014public BoundFieldAccess Update(BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt, LookupResultKind resultKind, bool isByValue, bool isDeclaration, TypeSymbol type)
7028public BoundHoistedFieldAccess(SyntaxNode syntax, FieldSymbol fieldSymbol, TypeSymbol type, bool hasErrors)
7038public BoundHoistedFieldAccess(SyntaxNode syntax, FieldSymbol fieldSymbol, TypeSymbol type)
7049public FieldSymbol FieldSymbol { get; }
7054public BoundHoistedFieldAccess Update(FieldSymbol fieldSymbol, TypeSymbol type)
11796FieldSymbol field = GetUpdatedSymbol(node, node.Field);
12573FieldSymbol? hoistedField = GetUpdatedSymbol(node, node.HoistedField);
12591FieldSymbol? hoistedField = GetUpdatedSymbol(node, node.HoistedField);
12698FieldSymbol field = GetUpdatedSymbol(node, node.Field);
13215FieldSymbol field = GetUpdatedSymbol(node, node.Field);
13895FieldSymbol fieldSymbol = GetUpdatedSymbol(node, node.FieldSymbol);
13913FieldSymbol fieldSymbol = GetUpdatedSymbol(node, node.FieldSymbol);
Symbols\Compilation_WellKnownMembers.cs (13)
242internal static Symbol? GetRuntimeMember(NamedTypeSymbol declaringType, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt)
248internal static Symbol? GetRuntimeMember(ImmutableArray<Symbol> members, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt)
342if (!comparer.MatchFieldSignature((FieldSymbol)member, descriptor.Signature))
692var ignoreSymbolStoreDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__IgnoreSymbolStoreSequencePoints);
708var defaultDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__Default);
714var disableOptimizationsDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__DisableOptimizations);
726var enableEncDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__EnableEditAndContinue);
1033internal class SpecialMembersSignatureComparer : SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol>
1057protected override TypeSymbol GetFieldType(FieldSymbol field)