Binder\Binder_Expressions.cs (18)
474FieldSymbol field,
1480FieldSymbol? field = null;
1497IsPropertyWithBackingField(property, out FieldSymbol? backingField):
1536internal static bool IsPropertyWithBackingField(PEPropertySymbol property, [NotNullWhen(true)] out FieldSymbol? backingField)
1539property.ContainingType.GetMembers(GeneratedNames.MakeBackingFieldName(property.Name)) is [FieldSymbol candidateField] &&
2115(this.ContainingMember() is FieldSymbol || (object)primaryCtor == this.ContainingMember()) ||
2204return BindFieldAccess(node, receiver, (FieldSymbol)symbol, diagnostics, resultKind, indexed, hasErrors: isError);
2275FieldSymbol possibleField = null;
2289possibleField = lookupResult.SingleSymbolOrDefault as FieldSymbol;
6095var fieldSymbol = ((BoundFieldAccess)boundMember).FieldSymbol;
7736var fieldSymbol = (FieldSymbol)leftSymbol;
8571resultType = ((FieldSymbol)symbolOpt).GetFieldType(this.FieldsBeingBound).Type;
8745result = BindFieldAccess(node, left, (FieldSymbol)symbol, diagnostics, lookupResult.Kind, indexed, hasErrors: wasError);
9128FieldSymbol fieldSymbol,
9254private TypeSymbol GetAdjustedTypeForEnumMemberReference(FieldSymbol fieldSymbol, TypeSymbol fieldType)
9673expr.Type.HasInlineArrayAttribute(out int length) && expr.Type.TryGetPossiblyUnsupportedByLanguageInlineArrayElementField() is FieldSymbol elementField)
9742BoundExpression bindInlineArrayElementAccess(ExpressionSyntax node, BoundExpression expr, int length, AnalyzedArguments analyzedArguments, BoundExpression convertedIndex, WellKnownType indexOrRangeWellknownType, FieldSymbol elementField, BindingDiagnosticBag diagnostics)
FlowAnalysis\NullableWalker.cs (19)
759FieldSymbol? field;
763case FieldSymbol f:
854case FieldSymbol { OriginalDefinition: SynthesizedPrimaryConstructorParameterBackingFieldSymbol }:
857case FieldSymbol { IsConst: true }:
859case FieldSymbol { AssociatedSymbol: SourcePropertySymbolBase { UsesFieldKeyword: false } prop }:
964var prop = symbolToInitialize as PropertySymbol ?? (symbolToInitialize as FieldSymbol)?.AssociatedSymbol as PropertySymbol;
1020if (requiredMember is FieldSymbol)
2051case FieldSymbol:
2072var fieldSymbol = fieldAccess.FieldSymbol;
2249primaryConstructor.GetCapturedParameters().TryGetValue(parameter, out FieldSymbol? field))
2725foreach (var field in _emptyStructTypeCache.GetStructInstanceFields(targetType))
3811(FieldSymbol { ContainingType: { IsTupleType: true }, TupleElementIndex: var oi } originalField, FieldSymbol { ContainingType: { IsTupleType: true }, TupleElementIndex: var ui } updatedField) =>
9415tupleType.GetMembers(NamedTypeSymbol.ValueTupleRestFieldName).FirstOrDefault() is FieldSymbol restField)
9422void trackState(BoundExpression value, FieldSymbol field, TypeWithState valueType)
9481void trackConvertedValue(FieldSymbol targetField, Conversion conversion, FieldSymbol valueField)
11283private static FlowAnalysisAnnotations GetFieldAnnotations(FieldSymbol field)
11299var 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)
2385public BoundLocalId(SyntaxNode syntax, LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors)
2396public BoundLocalId(SyntaxNode syntax, LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type)
2409public FieldSymbol? HoistedField { get; }
2414public BoundLocalId Update(LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type)
2428public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors)
2439public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
2452public FieldSymbol? HoistedField { get; }
2457public BoundParameterId Update(ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
2802public BoundFieldInfo(SyntaxNode syntax, FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type, bool hasErrors)
2813public BoundFieldInfo(SyntaxNode syntax, FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type)
2825public FieldSymbol Field { get; }
2831public BoundFieldInfo Update(FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type)
5504public BoundDagFieldEvaluation(SyntaxNode syntax, FieldSymbol field, BoundDagTemp input, bool hasErrors = false)
5514public FieldSymbol Field { get; }
5519public BoundDagFieldEvaluation Update(FieldSymbol field, BoundDagTemp input)
7393public BoundFieldAccess(SyntaxNode syntax, BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt, LookupResultKind resultKind, bool isByValue, bool isDeclaration, TypeSymbol type, bool hasErrors = false)
7410public FieldSymbol FieldSymbol { get; }
7419public BoundFieldAccess Update(BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt, LookupResultKind resultKind, bool isByValue, bool isDeclaration, TypeSymbol type)
7433public BoundHoistedFieldAccess(SyntaxNode syntax, FieldSymbol fieldSymbol, TypeSymbol type, bool hasErrors)
7443public BoundHoistedFieldAccess(SyntaxNode syntax, FieldSymbol fieldSymbol, TypeSymbol type)
7454public FieldSymbol FieldSymbol { get; }
7459public BoundHoistedFieldAccess Update(FieldSymbol fieldSymbol, TypeSymbol type)
11112FieldSymbol field = this.VisitFieldSymbol(node.Field);
11498FieldSymbol? hoistedField = this.VisitFieldSymbol(node.HoistedField);
11505FieldSymbol? hoistedField = this.VisitFieldSymbol(node.HoistedField);
11558FieldSymbol field = this.VisitFieldSymbol(node.Field);
12029FieldSymbol field = this.VisitFieldSymbol(node.Field);
12382FieldSymbol fieldSymbol = this.VisitFieldSymbol(node.FieldSymbol);
12389FieldSymbol fieldSymbol = this.VisitFieldSymbol(node.FieldSymbol);
12723FieldSymbol field = GetUpdatedSymbol(node, node.Field);
13513FieldSymbol? hoistedField = GetUpdatedSymbol(node, node.HoistedField);
13531FieldSymbol? hoistedField = GetUpdatedSymbol(node, node.HoistedField);
13662FieldSymbol field = GetUpdatedSymbol(node, node.Field);
14177FieldSymbol field = GetUpdatedSymbol(node, node.Field);
14909FieldSymbol fieldSymbol = GetUpdatedSymbol(node, node.FieldSymbol);
14927FieldSymbol 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))
750var ignoreSymbolStoreDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__IgnoreSymbolStoreSequencePoints);
766var defaultDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__Default);
772var disableOptimizationsDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__DisableOptimizations);
784var enableEncDebuggingMode = (FieldSymbol?)GetWellKnownTypeMember(WellKnownMember.System_Diagnostics_DebuggableAttribute_DebuggingModes__EnableEditAndContinue);
1091internal class SpecialMembersSignatureComparer : SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol>
1115protected override TypeSymbol GetFieldType(FieldSymbol field)
Symbols\NamedTypeSymbol.cs (4)
407internal void GetAllExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity, LookupOptions options, ConsList<FieldSymbol> fieldsBeingBound)
438void doGetExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity, LookupOptions options, ref PooledHashSet<MethodSymbol>? implementationsToShadow, ConsList<FieldSymbol> fieldsBeingBound)
475static bool extensionMemberMatches(Symbol member, string? name, string? alternativeName, int arity, LookupOptions options, ConsList<FieldSymbol> fieldsBeingBound)
1779internal virtual FieldSymbol FixedElementField