Binder\Binder_Expressions.cs (28)
474FieldSymbol field,
1483FieldSymbol? field = null;
1500IsPropertyWithBackingField(property, out FieldSymbol? backingField):
1539internal static bool IsPropertyWithBackingField(PEPropertySymbol property, [NotNullWhen(true)] out FieldSymbol? backingField)
1542property.ContainingType.GetMembers(GeneratedNames.MakeBackingFieldName(property.Name)) is [FieldSymbol candidateField] &&
2118(this.ContainingMember() is FieldSymbol || (object)primaryCtor == this.ContainingMember()) ||
2207return BindFieldAccess(node, receiver, (FieldSymbol)symbol, diagnostics, resultKind, indexed, hasErrors: isError);
2278FieldSymbol possibleField = null;
2292possibleField = lookupResult.SingleSymbolOrDefault as FieldSymbol;
6089var fieldSymbol = ((BoundFieldAccess)boundMember).FieldSymbol;
7749var fieldSymbol = (FieldSymbol)leftSymbol;
8584resultType = ((FieldSymbol)symbolOpt).GetFieldType(this.FieldsBeingBound).Type;
8747result = BindFieldAccess(node, left, (FieldSymbol)symbol, diagnostics, lookupResult.Kind, indexed, hasErrors: wasError);
9804FieldSymbol fieldSymbol,
9930private TypeSymbol GetAdjustedTypeForEnumMemberReference(FieldSymbol fieldSymbol, TypeSymbol fieldType)
9991Debug.Assert(propertySymbol.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) == CallerUnsafeMode.None ||
9992(propertySymbol.GetMethod is null || propertySymbol.GetMethod.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) == propertySymbol.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty)) ||
9993(propertySymbol.SetMethod is null || propertySymbol.SetMethod.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) == propertySymbol.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty)));
10079Debug.Assert(eventSymbol.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) == CallerUnsafeMode.None ||
10080(eventSymbol.AddMethod is null || eventSymbol.AddMethod.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) == eventSymbol.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty)) ||
10081(eventSymbol.RemoveMethod is null || eventSymbol.RemoveMethod.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) == eventSymbol.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty)));
10354expr.Type.HasInlineArrayAttribute(out int length) && expr.Type.TryGetPossiblyUnsupportedByLanguageInlineArrayElementField() is FieldSymbol elementField)
10423BoundExpression bindInlineArrayElementAccess(ExpressionSyntax node, BoundExpression expr, int length, AnalyzedArguments analyzedArguments, BoundExpression convertedIndex, WellKnownType indexOrRangeWellknownType, FieldSymbol elementField, BindingDiagnosticBag diagnostics)
FlowAnalysis\NullableWalker.cs (19)
776FieldSymbol? field;
780case FieldSymbol f:
871case FieldSymbol { OriginalDefinition: SynthesizedPrimaryConstructorParameterBackingFieldSymbol }:
874case FieldSymbol { IsConst: true }:
876case FieldSymbol { AssociatedSymbol: SourcePropertySymbolBase { UsesFieldKeyword: false } prop }:
981var prop = symbolToInitialize as PropertySymbol ?? (symbolToInitialize as FieldSymbol)?.AssociatedSymbol as PropertySymbol;
1037if (requiredMember is FieldSymbol)
2075case FieldSymbol:
2096var fieldSymbol = fieldAccess.FieldSymbol;
2273primaryConstructor.GetCapturedParameters().TryGetValue(parameter, out FieldSymbol? field))
2749foreach (var field in _emptyStructTypeCache.GetStructInstanceFields(targetType))
3842(FieldSymbol { ContainingType: { IsTupleType: true }, TupleElementIndex: var oi } originalField, FieldSymbol { ContainingType: { IsTupleType: true }, TupleElementIndex: var ui } updatedField) =>
9465tupleType.GetMembers(NamedTypeSymbol.ValueTupleRestFieldName).FirstOrDefault() is FieldSymbol restField)
9472void trackState(BoundExpression value, FieldSymbol field, TypeWithState valueType)
9531void trackConvertedValue(FieldSymbol targetField, Conversion conversion, FieldSymbol valueField)
11350private static FlowAnalysisAnnotations GetFieldAnnotations(FieldSymbol field)
11366var annotations = memberSymbol switch { PropertySymbol prop => prop.GetFlowAnalysisAnnotations(), FieldSymbol field => GetFieldAnnotations(field), _ => FlowAnalysisAnnotations.None };
Generated\BoundNodes.xml.Generated.cs (39)
295public BoundFieldEqualsValue(SyntaxNode syntax, FieldSymbol field, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
306public FieldSymbol Field { get; }
311public BoundFieldEqualsValue Update(FieldSymbol field, ImmutableArray<LocalSymbol> locals, BoundExpression value)
2380public BoundLocalId(SyntaxNode syntax, LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors)
2391public BoundLocalId(SyntaxNode syntax, LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type)
2404public FieldSymbol? HoistedField { get; }
2409public BoundLocalId Update(LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type)
2423public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors)
2434public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
2447public FieldSymbol? HoistedField { get; }
2452public BoundParameterId Update(ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
2797public BoundFieldInfo(SyntaxNode syntax, FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type, bool hasErrors)
2808public BoundFieldInfo(SyntaxNode syntax, FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type)
2820public FieldSymbol Field { get; }
2826public BoundFieldInfo Update(FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type)
5485public BoundDagFieldEvaluation(SyntaxNode syntax, FieldSymbol field, BoundDagTemp input, bool hasErrors = false)
5495public FieldSymbol Field { get; }
5500public BoundDagFieldEvaluation Update(FieldSymbol field, BoundDagTemp input)
7374public BoundFieldAccess(SyntaxNode syntax, BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt, LookupResultKind resultKind, bool isByValue, bool isDeclaration, TypeSymbol type, bool hasErrors = false)
7391public FieldSymbol FieldSymbol { get; }
7400public BoundFieldAccess Update(BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt, LookupResultKind resultKind, bool isByValue, bool isDeclaration, TypeSymbol type)
7414public BoundHoistedFieldAccess(SyntaxNode syntax, FieldSymbol fieldSymbol, TypeSymbol type, bool hasErrors)
7424public BoundHoistedFieldAccess(SyntaxNode syntax, FieldSymbol fieldSymbol, TypeSymbol type)
7435public FieldSymbol FieldSymbol { get; }
7440public BoundHoistedFieldAccess Update(FieldSymbol fieldSymbol, TypeSymbol type)
11103FieldSymbol field = this.VisitFieldSymbol(node.Field);
11490FieldSymbol? hoistedField = this.VisitFieldSymbol(node.HoistedField);
11497FieldSymbol? hoistedField = this.VisitFieldSymbol(node.HoistedField);
11550FieldSymbol field = this.VisitFieldSymbol(node.Field);
12023FieldSymbol field = this.VisitFieldSymbol(node.Field);
12376FieldSymbol fieldSymbol = this.VisitFieldSymbol(node.FieldSymbol);
12383FieldSymbol fieldSymbol = this.VisitFieldSymbol(node.FieldSymbol);
12717FieldSymbol field = GetUpdatedSymbol(node, node.Field);
13512FieldSymbol? hoistedField = GetUpdatedSymbol(node, node.HoistedField);
13530FieldSymbol? hoistedField = GetUpdatedSymbol(node, node.HoistedField);
13661FieldSymbol field = GetUpdatedSymbol(node, node.Field);
14176FieldSymbol field = GetUpdatedSymbol(node, node.Field);
14908FieldSymbol fieldSymbol = GetUpdatedSymbol(node, node.FieldSymbol);
14926FieldSymbol fieldSymbol = GetUpdatedSymbol(node, node.FieldSymbol);
Symbols\Compilation_WellKnownMembers.cs (13)
251internal static Symbol? GetRuntimeMember(NamedTypeSymbol declaringType, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt)
257internal static Symbol? GetRuntimeMember(ImmutableArray<Symbol> members, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt)
351if (!comparer.MatchFieldSignature((FieldSymbol)member, descriptor.Signature))
762var ignoreSymbolStoreDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__IgnoreSymbolStoreSequencePoints);
778var defaultDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__Default);
784var disableOptimizationsDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__DisableOptimizations);
796var enableEncDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__EnableEditAndContinue);
1103internal class SpecialMembersSignatureComparer : SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol>
1127protected override TypeSymbol GetFieldType(FieldSymbol field)
Symbols\NamedTypeSymbol.cs (4)
451internal void GetAllExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity, LookupOptions options, ConsList<FieldSymbol> fieldsBeingBound)
482void doGetExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity, LookupOptions options, ref PooledHashSet<MethodSymbol>? implementationsToShadow, ConsList<FieldSymbol> fieldsBeingBound)
519static bool extensionMemberMatches(Symbol member, string? name, string? alternativeName, int arity, LookupOptions options, ConsList<FieldSymbol> fieldsBeingBound)
1922internal virtual FieldSymbol FixedElementField