11 implementations of IFieldSymbol
GenerateDocumentationAndConfigFiles (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (1)
20object constantValue) : CodeGenerationSymbol(containingType?.ContainingAssembly, containingType, attributes, accessibility, modifiers, name), IFieldSymbol
Microsoft.CodeAnalysis.Analyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (1)
20object constantValue) : CodeGenerationSymbol(containingType?.ContainingAssembly, containingType, attributes, accessibility, modifiers, name), IFieldSymbol
Microsoft.CodeAnalysis.BannedApiAnalyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (1)
20object constantValue) : CodeGenerationSymbol(containingType?.ContainingAssembly, containingType, attributes, accessibility, modifiers, name), IFieldSymbol
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (1)
20object constantValue) : CodeGenerationSymbol(containingType?.ContainingAssembly, containingType, attributes, accessibility, modifiers, name), IFieldSymbol
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\FieldSymbol.cs (1)
13internal sealed class FieldSymbol : Symbol, IFieldSymbol
Microsoft.CodeAnalysis.Features (1)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedFieldSymbol.cs (1)
14private sealed class WrappedFieldSymbol(IFieldSymbol fieldSymbol, IDocumentationCommentFormattingService docCommentFormattingService) : AbstractWrappedSymbol(fieldSymbol, canImplementImplicitly: false, docCommentFormattingService: docCommentFormattingService), IFieldSymbol
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (1)
20object constantValue) : CodeGenerationSymbol(containingType?.ContainingAssembly, containingType, attributes, accessibility, modifiers, name), IFieldSymbol
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\FieldSymbol.vb (1)
21Implements IFieldSymbol, IFieldSymbolInternal
Microsoft.CodeAnalysis.Workspaces (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (1)
20object constantValue) : CodeGenerationSymbol(containingType?.ContainingAssembly, containingType, attributes, accessibility, modifiers, name), IFieldSymbol
Roslyn.Diagnostics.Analyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (1)
20object constantValue) : CodeGenerationSymbol(containingType?.ContainingAssembly, containingType, attributes, accessibility, modifiers, name), IFieldSymbol
Text.Analyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (1)
20object constantValue) : CodeGenerationSymbol(containingType?.ContainingAssembly, containingType, attributes, accessibility, modifiers, name), IFieldSymbol
2258 references to IFieldSymbol
GenerateDocumentationAndConfigFiles (84)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (9)
50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 346IFieldSymbol field => CreateFieldDeclaration(field, codeGenerationDestination, info, cancellationToken), 364IFieldSymbol field => AddField(currentDestination, field, info, availableIndices, cancellationToken), 375var field = members.OfType<IFieldSymbol>().FirstOrDefault(); 401public Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
13internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)> 64var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 67var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 74List<(IFieldSymbol field, ulong value)> allFieldsAndValues, 75List<(IFieldSymbol field, ulong value)> usedFieldsAndValues) 125var zeroField = GetZeroField(allFieldsAndValues); 138IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType) 153private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 169List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 173foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 192foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 206int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (3)
102public static IFieldSymbol CreateFieldSymbol( 589internal static IFieldSymbol CreateFieldSymbol( 590IFieldSymbol field,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (1)
36public static Task<Document> AddFieldDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (3)
27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractNamedTypeSymbol.cs (1)
18public ImmutableArray<IFieldSymbol> TupleElements { get; protected set; }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (6)
13private static readonly ConditionalWeakTable<IFieldSymbol, CodeGenerationFieldInfo> s_fieldToInfoMap = new(); 30IFieldSymbol field, 39private static CodeGenerationFieldInfo GetInfo(IFieldSymbol field) 48public static bool GetIsUnsafe(IFieldSymbol field) 54public static bool GetIsWithEvents(IFieldSymbol field) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (2)
34public new IFieldSymbol OriginalDefinition 42public IFieldSymbol CorrespondingTupleField => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (1)
83IFieldSymbol field => field.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
501.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
152if (memberReference.Member is IFieldSymbol or IPropertySymbol)
ILLink.RoslynAnalyzer (31)
DataFlow\DynamicallyAccessedMembersBinder.cs (6)
69foreach (var f in typeDefinition.ApplyIncludeInherited(t => t.GetFieldsOnTypeHierarchy(filter: null, bindingFlags: BindingFlags.NonPublic | declaredOnlyFlags), withInherited)) 75foreach (var f in typeDefinition.GetFieldsOnTypeHierarchy(filter: null, bindingFlags: BindingFlags.Public | declaredOnlyFlags)) 209public static IEnumerable<IFieldSymbol> GetFieldsOnTypeHierarchy(this ITypeSymbol thisType, Func<IFieldSymbol, bool>? filter, BindingFlags? bindingFlags = BindingFlags.Default) 215foreach (var field in type.GetMembers().OfType<IFieldSymbol>())
DataFlow\LocalDataFlowVisitor.cs (4)
104Debug.Assert(OwningSymbol is IMethodSymbol or IFieldSymbol or IPropertySymbol, 132public abstract TValue GetFieldTargetValue(IFieldSymbol field, IFieldReferenceOperation fieldReferenceOperation, in TContext context); 206Debug.Assert(local.ContainingSymbol is IMethodSymbol or IFieldSymbol, // backing field for property initializers 751Debug.Assert(operation.Symbol.ContainingSymbol is IMethodSymbol or IFieldSymbol);
DataFlow\MethodBodyValue.cs (1)
23Debug.Assert(owningSymbol is (IMethodSymbol or IFieldSymbol or IPropertySymbol));
DynamicallyAccessedMembersAnalyzer.cs (1)
165if (member is IFieldSymbol field && field.GetDynamicallyAccessedMemberTypes() != DynamicallyAccessedMemberTypes.None && !field.Type.IsTypeInterestingForDataflow(isByRef: field.RefKind is not RefKind.None))
ISymbolExtensions.cs (1)
148case IFieldSymbol fieldSymbol:
RequiresISymbolExtensions.cs (1)
67if (member is IFieldSymbol field && !field.IsStatic)
TrimAnalysis\FieldValue.cs (2)
14public FieldValue(IFieldSymbol fieldSymbol) 21public readonly IFieldSymbol FieldSymbol;
TrimAnalysis\FlowAnnotations.cs (3)
43IFieldSymbol field => ShouldWarnWhenAccessedForReflection(field), 110private static bool ShouldWarnWhenAccessedForReflection(IFieldSymbol field) 115internal static DynamicallyAccessedMemberTypes GetFieldAnnotation(IFieldSymbol field)
TrimAnalysis\GenericArgumentDataFlow.cs (2)
31public static void ProcessGenericArgumentDataFlow(Location location, IFieldSymbol field, Action<Diagnostic> reportDiagnostic) 100public static bool RequiresGenericArgumentDataFlow(IFieldSymbol field)
TrimAnalysis\ReflectionAccessAnalyzer.cs (4)
37case IFieldSymbol field: 66foreach (var field in typeSymbol.GetFieldsOnTypeHierarchy(f => f.Name == name, bindingFlags)) 116Debug.Assert(member is IMethodSymbol or IFieldSymbol); 198private void GetDiagnosticsForField(Location location, IFieldSymbol fieldSymbol)
TrimAnalysis\TrimAnalysisFieldAccessPattern.cs (2)
15public IFieldSymbol Field { get; init; } 21IFieldSymbol field,
TrimAnalysis\TrimAnalysisGenericInstantiationPattern.cs (1)
63case IFieldSymbol field:
TrimAnalysis\TrimAnalysisVisitor.cs (3)
159var field = fieldRef.Field; 227public override MultiValue GetFieldTargetValue(IFieldSymbol field, IFieldReferenceOperation fieldReferenceOperation, in FeatureContext featureContext) 439private void ProcessGenericArgumentDataFlow(IFieldSymbol field, IOperation operation, in FeatureContext featureContext)
Metrics (50)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
Metrics.Legacy (50)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
Microsoft.Analyzers.Local (2)
ApiLifecycle\AssemblyAnalysis.cs (1)
247else if (member is IFieldSymbol fieldSym)
Utilities\SymbolExtensions.cs (1)
166if (symbol is IFieldSymbol fieldSymbol)
Microsoft.AspNetCore.App.Analyzers (1)
RouteEmbeddedLanguage\Infrastructure\RouteStringSyntaxDetector.cs (1)
303return symbol is IFieldSymbol or IPropertySymbol &&
Microsoft.AspNetCore.Components.Analyzers (2)
ComponentParameterAnalyzer.cs (1)
146.OfType<IFieldSymbol>()
InternalUsageAnalyzer.cs (1)
92case IFieldSymbol field:
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
InternalUsageAnalyzer.cs (1)
92case IFieldSymbol field:
Microsoft.AspNetCore.Mvc.Api.Analyzers (1)
AddResponseTypeAttributeCodeFixAction.cs (1)
155if (member is IFieldSymbol field &&
Microsoft.CodeAnalysis (26)
DiagnosticAnalyzer\AnalyzerExecutor.cs (1)
1181Debug.Assert(((IFieldSymbol)symbol).AssociatedSymbol == null);
DocumentationCommentId.cs (2)
357public override void VisitField(IFieldSymbol symbol) 429public override bool VisitField(IFieldSymbol symbol)
Generated\Operations.Generated.cs (6)
936IFieldSymbol Field { get; } 2352ImmutableArray<IFieldSymbol> InitializedFields { get; } 5345internal FieldReferenceOperation(IFieldSymbol field, bool isDeclaration, IOperation? instance, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5353public IFieldSymbol Field { get; } 7510internal FieldInitializerOperation(ImmutableArray<IFieldSymbol> initializedFields, ImmutableArray<ILocalSymbol> locals, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7515public ImmutableArray<IFieldSymbol> InitializedFields { get; }
Operations\ControlFlowGraphBuilder.cs (1)
7218foreach (IFieldSymbol fieldSymbol in operation.InitializedFields)
SymbolDisplay\AbstractSymbolDisplayVisitor.cs (5)
281((IFieldSymbol)usedFieldsAndValues[i].IdentityOpt!).Accept(this.NotFirstVisitor); 301((IFieldSymbol)zeroField.IdentityOpt).Accept(this.NotFirstVisitor); 321var field = (IFieldSymbol)member; 347((IFieldSymbol)match.IdentityOpt).Accept(this.NotFirstVisitor);
SymbolDisplay\AbstractSymbolDisplayVisitor_Minimal.cs (2)
105var fieldSymbol = symbol as IFieldSymbol;
Symbols\IFieldSymbol.cs (2)
106new IFieldSymbol OriginalDefinition { get; } 117IFieldSymbol? CorrespondingTupleField { get; }
Symbols\INamedTypeSymbol.cs (1)
186ImmutableArray<IFieldSymbol> TupleElements { get; }
Symbols\ISymbolExtensions.cs (3)
67internal static bool IsDefaultTupleElement(this IFieldSymbol field) 75internal static bool IsTupleElement(this IFieldSymbol field) 88internal static string? ProvidedTupleElementNameOrNull(this IFieldSymbol field)
Symbols\SymbolVisitor.cs (1)
48public virtual void VisitField(IFieldSymbol symbol)
Symbols\SymbolVisitor`1.cs (1)
51public virtual TResult? VisitField(IFieldSymbol symbol)
Symbols\SymbolVisitor`2.cs (1)
56public virtual TResult VisitField(IFieldSymbol symbol, TArgument argument)
Microsoft.CodeAnalysis.Analyzers (123)
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (15)
29using PooledFieldToCustomTagsConcurrentDictionary = PooledConcurrentDictionary<IFieldSymbol, ImmutableArray<string>>; 30using PooledFieldToResourceNameAndFileNameConcurrentDictionary = PooledConcurrentDictionary<IFieldSymbol, (string nameOfResource, string resourceFileName)>; 31using PooledLocalizabeStringsConcurrentDictionary = PooledConcurrentDictionary<INamedTypeSymbol, PooledConcurrentSet<(IFieldSymbol field, IArgumentOperation argument)>>; 296foreach (var field in fieldInitializer.InitializedFields) 334var localsToDescriptorsMap = PooledConcurrentDictionary<ILocalSymbol, PooledConcurrentSet<IFieldSymbol>>.GetInstance(SymbolEqualityComparer.Default); 336var fieldsUsedForCompilationEndReportDiagnostic = PooledConcurrentSet<IFieldSymbol>.GetInstance(SymbolEqualityComparer.Default); 395static void AddToLocalsToDescriptorsMap(ILocalSymbol local, IFieldSymbol field, PooledConcurrentDictionary<ILocalSymbol, PooledConcurrentSet<IFieldSymbol>> localsToDescriptorsMap) 400var set = PooledConcurrentSet<IFieldSymbol>.GetInstance(SymbolEqualityComparer.Default); 419foreach (var field in fields) 424foreach (var field in fieldsUsedForCompilationEndReportDiagnostic) 435void AnalyzeField(IFieldSymbol field) 835var builder = localizableStringsMap.GetOrAdd(containingType, _ => PooledConcurrentSet<(IFieldSymbol, IArgumentOperation)>.GetInstance()); 1101foreach (var field in fieldInitializerOperation.InitializedFields) 1199var analyzer = ((IFieldSymbol)operationAnalysisContext.ContainingSymbol).ContainingType.OriginalDefinition;
MetaAnalyzers\ReportDiagnosticAnalyzer.cs (12)
119private ImmutableDictionary<INamedTypeSymbol, ImmutableArray<IFieldSymbol>> _supportedDescriptorFieldsMap; 127_supportedDescriptorFieldsMap = ImmutableDictionary<INamedTypeSymbol, ImmutableArray<IFieldSymbol>>.Empty; 138ImmutableArray<IFieldSymbol> descriptorFields = GetSupportedDescriptors(symbolContext.Compilation, (INamedTypeSymbol)symbolContext.Symbol, symbolContext.CancellationToken); 145private ImmutableArray<IFieldSymbol> GetSupportedDescriptors(Compilation compilation, INamedTypeSymbol analyzer, CancellationToken cancellationToken) 147if (_supportedDescriptorFieldsMap.TryGetValue(analyzer, out ImmutableArray<IFieldSymbol> descriptorFields)) 179private ImmutableArray<IFieldSymbol> GetReferencedDescriptorFields(SyntaxNode syntax, SemanticModel semanticModel, CancellationToken cancellationToken) 181ImmutableArray<IFieldSymbol>.Builder builder = ImmutableArray.CreateBuilder<IFieldSymbol>(); 187var field = (IFieldSymbol)symbol; 190builder.Add((IFieldSymbol)symbol); 241ImmutableArray<IFieldSymbol> descriptorFields = GetReferencedDescriptorFields(diagnosticInitializer, semanticModel, symbolContext.CancellationToken);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (9)
50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 346IFieldSymbol field => CreateFieldDeclaration(field, codeGenerationDestination, info, cancellationToken), 364IFieldSymbol field => AddField(currentDestination, field, info, availableIndices, cancellationToken), 375var field = members.OfType<IFieldSymbol>().FirstOrDefault(); 401public Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
13internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)> 64var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 67var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 74List<(IFieldSymbol field, ulong value)> allFieldsAndValues, 75List<(IFieldSymbol field, ulong value)> usedFieldsAndValues) 125var zeroField = GetZeroField(allFieldsAndValues); 138IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType) 153private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 169List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 173foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 192foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 206int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (3)
102public static IFieldSymbol CreateFieldSymbol( 589internal static IFieldSymbol CreateFieldSymbol( 590IFieldSymbol field,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (1)
36public static Task<Document> AddFieldDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (3)
27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractNamedTypeSymbol.cs (1)
18public ImmutableArray<IFieldSymbol> TupleElements { get; protected set; }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (6)
13private static readonly ConditionalWeakTable<IFieldSymbol, CodeGenerationFieldInfo> s_fieldToInfoMap = new(); 30IFieldSymbol field, 39private static CodeGenerationFieldInfo GetInfo(IFieldSymbol field) 48public static bool GetIsUnsafe(IFieldSymbol field) 54public static bool GetIsWithEvents(IFieldSymbol field) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (2)
34public new IFieldSymbol OriginalDefinition 42public IFieldSymbol CorrespondingTupleField => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (1)
83IFieldSymbol field => field.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
501.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
152if (memberReference.Member is IFieldSymbol or IPropertySymbol)
Microsoft.CodeAnalysis.AnalyzerUtilities (68)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (2)
28private readonly Dictionary<IFieldSymbol, PointsToAbstractValue>? _trackedInstanceFieldLocations; 47public ImmutableDictionary<IFieldSymbol, PointsToAbstractValue> TrackedInstanceFieldPointsToMap
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (6)
46private ConcurrentDictionary<INamedTypeSymbol, ImmutableHashSet<IFieldSymbol>>? _lazyDisposableFieldsMap; 93Interlocked.CompareExchange(ref _lazyDisposableFieldsMap, new ConcurrentDictionary<INamedTypeSymbol, ImmutableHashSet<IFieldSymbol>>(), null); 180public ImmutableHashSet<IFieldSymbol> GetDisposableFields(INamedTypeSymbol namedType) 185if (_lazyDisposableFieldsMap.TryGetValue(namedType, out ImmutableHashSet<IFieldSymbol> disposableFields)) 192disposableFields = ImmutableHashSet<IFieldSymbol>.Empty; 197.OfType<IFieldSymbol>()
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisResult.cs (2)
16ImmutableDictionary<IFieldSymbol, PointsToAnalysis.PointsToAbstractValue>? trackedInstanceFieldPointsToMap) 22public ImmutableDictionary<IFieldSymbol, PointsToAnalysis.PointsToAbstractValue>? TrackedInstanceFieldPointsToMap { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntity.cs (1)
191IFieldSymbol fieldSymbol => fieldSymbol.HasConstantValue,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (3)
776Debug.Assert(tupleElementEntity.Symbol is IFieldSymbol field); 806return tupleElementEntity.Symbol is IFieldSymbol tupleElementField && 807childEntity.Symbol is IFieldSymbol childEntityField &&
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (4)
282symbol = fieldReference.Field.ContainingType.GetUnderlyingValueTupleTypeOrThis()?.GetMembers(name).OfType<IFieldSymbol>().FirstOrDefault() 375foreach (var field in tupleType.TupleElements) 378var mappedValueTupleField = underlyingValueTupleType.GetMembers(tupleFieldName).OfType<IFieldSymbol>().FirstOrDefault();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
Microsoft.CodeAnalysis.BannedApiAnalyzers (96)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (9)
50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 346IFieldSymbol field => CreateFieldDeclaration(field, codeGenerationDestination, info, cancellationToken), 364IFieldSymbol field => AddField(currentDestination, field, info, availableIndices, cancellationToken), 375var field = members.OfType<IFieldSymbol>().FirstOrDefault(); 401public Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
13internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)> 64var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 67var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 74List<(IFieldSymbol field, ulong value)> allFieldsAndValues, 75List<(IFieldSymbol field, ulong value)> usedFieldsAndValues) 125var zeroField = GetZeroField(allFieldsAndValues); 138IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType) 153private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 169List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 173foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 192foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 206int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (3)
102public static IFieldSymbol CreateFieldSymbol( 589internal static IFieldSymbol CreateFieldSymbol( 590IFieldSymbol field,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (1)
36public static Task<Document> AddFieldDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (3)
27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractNamedTypeSymbol.cs (1)
18public ImmutableArray<IFieldSymbol> TupleElements { get; protected set; }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (6)
13private static readonly ConditionalWeakTable<IFieldSymbol, CodeGenerationFieldInfo> s_fieldToInfoMap = new(); 30IFieldSymbol field, 39private static CodeGenerationFieldInfo GetInfo(IFieldSymbol field) 48public static bool GetIsUnsafe(IFieldSymbol field) 54public static bool GetIsWithEvents(IFieldSymbol field) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (2)
34public new IFieldSymbol OriginalDefinition 42public IFieldSymbol CorrespondingTupleField => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (1)
83IFieldSymbol field => field.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
501.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
152if (memberReference.Member is IFieldSymbol or IPropertySymbol)
Microsoft.CodeAnalysis.CodeStyle (83)
src\Analyzers\Core\Analyzers\MakeFieldReadonly\AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (13)
42var fieldStateMap = new ConcurrentDictionary<IFieldSymbol, (bool isCandidate, bool written)>(); 88var field = (IFieldSymbol)symbolContext.Symbol; 108var field = fieldReference.Field; 120if (member is IFieldSymbol field && fieldStateMap.TryRemove(field.OriginalDefinition, out var value)) 144if (member is IFieldSymbol field && 160bool IsCandidateField(IFieldSymbol symbol) 191static bool IsDataContractSerializable(IFieldSymbol symbol, INamedTypeSymbol? dataContractAttribute, INamedTypeSymbol? dataMemberAttribute) 201(bool isCandidate, bool written) TryGetOrInitializeFieldState(IFieldSymbol fieldSymbol, AnalyzerOptions options, CancellationToken cancellationToken) 215IFieldSymbol field, 234private static Location GetDiagnosticLocation(IFieldSymbol field) 272var field = fieldReference.Field; 308private static CodeStyleOption2<bool> GetCodeStyleOption(IFieldSymbol field, AnalyzerOptions options, out Location diagnosticLocation)
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchStatementHelpers.cs (1)
158if (member is not IFieldSymbol fieldSymbol || fieldSymbol.Type.SpecialType != SpecialType.None)
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (6)
373foreach (var field in initializer.InitializedFields) 532if (isInlineArray && member is IFieldSymbol { IsStatic: false }) 595if (member is IFieldSymbol { RefKind: RefKind.Ref }) 765case IPropertySymbol or IFieldSymbol: 793/// Backing fields have a non-null <see cref="IFieldSymbol.AssociatedSymbol"/>. 910return ((IFieldSymbol)memberSymbol).AssociatedSymbol == null;
src\Analyzers\Core\Analyzers\UseAutoProperty\AbstractUseAutoPropertyAnalyzer.cs (20)
51private static readonly ObjectPool<ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>>> s_fieldToUsageLocationPool = new(() => []); 58protected static void AddFieldUsage(ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, IFieldSymbol field, SyntaxNode location) 61private static void ClearAndFree(ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> multiMap) 91SemanticModel semanticModel, IMethodSymbol accessor, HashSet<string> fieldNames, HashSet<IFieldSymbol> result, CancellationToken cancellationToken); 94HashSet<string> fieldNames, ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, SemanticModel semanticModel, SyntaxNode codeBlock, CancellationToken cancellationToken); 122if (member is IFieldSymbol 222ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldReads, 223ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, 236if (semanticModel.GetSymbolInfo(identifierName, cancellationToken).Symbol is not IFieldSymbol field) 268using var _ = PooledHashSet<IFieldSymbol>.GetInstance(out var set); 284using var _ = PooledHashSet<IFieldSymbol>.GetInstance(out var set); 290private IFieldSymbol? CheckFieldAccessExpression( 309IFieldSymbol field, 482var getterField = getterFields.TrivialField ?? getterFields.NonTrivialFields.Single(); 498protected IFieldSymbol? TryGetDirectlyAccessedFieldSymbol( 538ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, 539ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldReads, 540ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, 543using var _1 = PooledHashSet<IFieldSymbol>.GetInstance(out var reportedFields);
src\Analyzers\Core\Analyzers\UseAutoProperty\AccessedFields.cs (5)
16IFieldSymbol? TrivialField, 17ImmutableArray<IFieldSymbol> NonTrivialFields) 21public AccessedFields(IFieldSymbol? trivialField) : this(trivialField, []) 28public AccessedFields Where<TArg>(Func<IFieldSymbol, TArg, bool> predicate, TArg arg) 32public bool Contains(IFieldSymbol field)
src\Analyzers\Core\Analyzers\UseAutoProperty\AnalysisResult.cs (1)
32IFieldSymbol Field,
src\Analyzers\Core\Analyzers\UseExplicitTupleName\UseExplicitTupleNameDiagnosticAnalyzer.cs (5)
49var field = fieldReferenceOperation.Field; 54var namedField = GetNamedField(field.ContainingType, field, context.CancellationToken); 76private static IFieldSymbol? GetNamedField( 77INamedTypeSymbol containingType, IFieldSymbol unnamedField, CancellationToken cancellationToken) 83if (member is IFieldSymbol fieldSymbol &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
Microsoft.CodeAnalysis.CodeStyle.Fixes (59)
src\Analyzers\Core\CodeFixes\GenerateConstructor\GenerateConstructorHelpers.cs (1)
355if (symbol is IFieldSymbol { IsConst: false } field)
src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.CodeAction.cs (1)
84var fieldSymbol = CodeGenerationSymbolFactory.CreateFieldSymbol(
src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.State.cs (1)
408=> symbol is IFieldSymbol field && field.IsReadOnly;
src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementHelpers.cs (4)
27.OfType<IFieldSymbol>() 43ImmutableArray<IFieldSymbol> fields, 65bool IsAssignedToFieldOrProperty(ImmutableArray<IFieldSymbol> fields, ImmutableArray<IPropertySymbol> properties, IParameterSymbol parameter) 68bool IsAssignedToField(IFieldSymbol field, IParameterSymbol parameter)
src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_DisposePattern.cs (4)
46var disposedValueField = await CreateDisposedValueFieldAsync( 114IFieldSymbol disposedValueField) 132IFieldSymbol disposedValueField) 227private static async Task<IFieldSymbol> CreateDisposedValueFieldAsync(
src\Analyzers\Core\CodeFixes\MakeFieldReadonly\AbstractMakeFieldReadonlyCodeFixProvider.cs (2)
79var symbol = (IFieldSymbol?)model.GetDeclaredSymbol(declarator, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (9)
50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 346IFieldSymbol field => CreateFieldDeclaration(field, codeGenerationDestination, info, cancellationToken), 364IFieldSymbol field => AddField(currentDestination, field, info, availableIndices, cancellationToken), 375var field = members.OfType<IFieldSymbol>().FirstOrDefault(); 401public Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
13internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)> 64var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 67var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 74List<(IFieldSymbol field, ulong value)> allFieldsAndValues, 75List<(IFieldSymbol field, ulong value)> usedFieldsAndValues) 125var zeroField = GetZeroField(allFieldsAndValues); 138IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType) 153private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 169List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 173foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 192foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 206int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (3)
102public static IFieldSymbol CreateFieldSymbol( 589internal static IFieldSymbol CreateFieldSymbol( 590IFieldSymbol field,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (1)
36public static Task<Document> AddFieldDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (3)
27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractNamedTypeSymbol.cs (1)
18public ImmutableArray<IFieldSymbol> TupleElements { get; protected set; }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (6)
13private static readonly ConditionalWeakTable<IFieldSymbol, CodeGenerationFieldInfo> s_fieldToInfoMap = new(); 30IFieldSymbol field, 39private static CodeGenerationFieldInfo GetInfo(IFieldSymbol field) 48public static bool GetIsUnsafe(IFieldSymbol field) 54public static bool GetIsWithEvents(IFieldSymbol field) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (2)
34public new IFieldSymbol OriginalDefinition 42public IFieldSymbol CorrespondingTupleField => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (1)
83IFieldSymbol field => field.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
501.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
152if (memberReference.Member is IFieldSymbol or IPropertySymbol)
Microsoft.CodeAnalysis.CSharp (45)
Compilation\CSharpSemanticModel.cs (2)
600case IFieldSymbol field: 3006public abstract IFieldSymbol GetDeclaredSymbol(EnumMemberDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken));
Compilation\MemberSemanticModel.cs (1)
616public override IFieldSymbol GetDeclaredSymbol(EnumMemberDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Compilation\QueryClauseInfo.cs (1)
43/// <see cref="IFieldSymbol"/> or <see cref="IPropertySymbol"/> that return a delegate.
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
275public override IFieldSymbol GetDeclaredSymbol(EnumMemberDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Compilation\SyntaxTreeSemanticModel.cs (1)
1522public override IFieldSymbol GetDeclaredSymbol(EnumMemberDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
CSharpExtensions.cs (1)
1400public static IFieldSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, EnumMemberDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Operations\CSharpOperationFactory.cs (3)
574IFieldSymbol field = boundFieldAccess.FieldSymbol.GetPublicSymbol(); 1726ImmutableArray<IFieldSymbol> initializedFields = ImmutableArray.Create<IFieldSymbol>(boundFieldEqualsValue.Field.GetPublicSymbol());
SymbolDisplay\SymbolDisplayVisitor.Members.cs (5)
22private void VisitFieldType(IFieldSymbol symbol) 27public override void VisitField(IFieldSymbol symbol) 900private void AddFieldModifiersIfNeeded(IFieldSymbol symbol) 938var isConst = symbol is IFieldSymbol { IsConst: true }; 939var isRequired = symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true };
SymbolDisplay\SymbolDisplayVisitor.Types.cs (2)
592ImmutableArray<IFieldSymbol> elements = symbol.TupleElements; 597var element = elements[i];
Symbols\PublicModel\FieldSymbol.cs (19)
26ISymbol IFieldSymbol.AssociatedSymbol 34RefKind IFieldSymbol.RefKind => _underlying.RefKind; 36ImmutableArray<CustomModifier> IFieldSymbol.RefCustomModifiers => _underlying.RefCustomModifiers; 38ITypeSymbol IFieldSymbol.Type 51CodeAnalysis.NullableAnnotation IFieldSymbol.NullableAnnotation => _underlying.TypeWithAnnotations.ToPublicAnnotation(); 53ImmutableArray<CustomModifier> IFieldSymbol.CustomModifiers 58IFieldSymbol IFieldSymbol.OriginalDefinition 66IFieldSymbol IFieldSymbol.CorrespondingTupleField 74bool IFieldSymbol.IsExplicitlyNamedTupleElement 82bool IFieldSymbol.IsConst => _underlying.IsConst; 84bool IFieldSymbol.IsReadOnly => _underlying.IsReadOnly; 86bool IFieldSymbol.IsVolatile => _underlying.IsVolatile; 88bool IFieldSymbol.IsRequired => _underlying.IsRequired; 90bool IFieldSymbol.IsFixedSizeBuffer => _underlying.IsFixedSizeBuffer; 92int IFieldSymbol.FixedSize => _underlying.FixedSize; 94bool IFieldSymbol.HasConstantValue => _underlying.HasConstantValue; 96object IFieldSymbol.ConstantValue => _underlying.ConstantValue;
Symbols\PublicModel\NamedTypeSymbol.cs (1)
159ImmutableArray<IFieldSymbol> INamedTypeSymbol.TupleElements
Symbols\SymbolExtensions.cs (4)
610internal static IFieldSymbol? GetPublicSymbol(this FieldSymbol? symbol) 612return symbol.GetPublicSymbol<IFieldSymbol>(); 741internal static ImmutableArray<IFieldSymbol> GetPublicSymbols(this ImmutableArray<FieldSymbol> symbols) 743return GetPublicSymbols<IFieldSymbol>(StaticCast<Symbol>.From(symbols));
Symbols\TypedConstantExtensions.cs (4)
85var field = member as IFieldSymbol; 164var field = member as IFieldSymbol;
Microsoft.CodeAnalysis.CSharp.CodeStyle (21)
src\Analyzers\CSharp\Analyzers\MakeStructFieldsWritable\CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs (1)
79.OfType<IFieldSymbol>()
src\Analyzers\CSharp\Analyzers\MakeStructReadOnly\CSharpMakeStructReadOnlyDiagnosticAnalyzer.cs (1)
103if (member is IFieldSymbol field)
src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (4)
49ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, 115if (symbolInfo.GetAnySymbol() is not IFieldSymbol { ContainingType.TypeKind: TypeKind.Struct }) 144if (symbol is IFieldSymbol field) 242HashSet<IFieldSymbol> result,
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (2)
475if (symbol is not IPropertySymbol and not IFieldSymbol) 1117if (emptySymbol is not IFieldSymbol and not IPropertySymbol)
src\Analyzers\CSharp\Analyzers\UseDeconstruction\CSharpUseDeconstructionDiagnosticAnalyzer.cs (3)
173foreach (var element in tupleType.TupleElements) 212foreach (var element in tupleType.TupleElements) 267if (member is not IFieldSymbol field)
src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (3)
93if (member is not IFieldSymbol and not IPropertySymbol) 175if (_candidateMembersToRemove.Any(kvp => kvp.Key is IFieldSymbol) && 176_candidateMembersToRemove.All(kvp => kvp.Key is IFieldSymbol))
src\Analyzers\CSharp\Analyzers\UseSystemThreadingLock\CSharpUseSystemThreadingLockDiagnosticAnalyzer.cs (5)
86using var fieldsArray = TemporaryArray<(IFieldSymbol field, VariableDeclaratorSyntax declarator, CodeStyleOption2<bool> option)>.Empty; 90if (member is not IFieldSymbol 139IFieldSymbol, 150if (context.ContainingSymbol is not IFieldSymbol fieldSymbol) 170var fieldReference = fieldReferenceOperation.Field.OriginalDefinition;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
334if (exprSymbol is not IFieldSymbol { IsConst: true })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
707if (castedSymbol is not IFieldSymbol and not ILocalSymbol and not IParameterSymbol and not IParameterSymbol { RefKind: RefKind.Ref })
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (40)
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (1)
107.OfType<IFieldSymbol>()
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (15)
26ImmutableArray<IFieldSymbol> expectedComparedFields) 78ImmutableArray<IFieldSymbol> expectedHashedFields) 228ImmutableArray<IFieldSymbol> fields, 249Field: IFieldSymbol referencedField 448{ Instance: IInstanceReferenceOperation, Field: IFieldSymbol field } 492private static ImmutableArray<IFieldSymbol> GetEqualizedFields( 505using var _1 = ArrayBuilder<IFieldSymbol>.GetInstance(out var fields); 728ArrayBuilder<IFieldSymbol> builder) 786ArrayBuilder<IFieldSymbol> builder, 882ArrayBuilder<IFieldSymbol> builder) 920ArrayBuilder<IFieldSymbol> builder) 930var field = UnwrapPropertyToField(memberReference1.Member); 959ArrayBuilder<IFieldSymbol> builder, 1124private static IFieldSymbol? UnwrapPropertyToField(ISymbol propertyOrField) 1128IFieldSymbol field => field,
src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (1)
109where m is IFieldSymbol or IPropertySymbol
src\Analyzers\CSharp\CodeFixes\MakeMemberRequired\CSharpMakeMemberRequiredCodeFixProvider.cs (1)
77else if (fieldOrPropertySymbol is IFieldSymbol fieldSymbol)
src\Analyzers\CSharp\CodeFixes\Nullable\CSharpDeclareAsNullableCodeFixProvider.cs (3)
183else if (symbol is IFieldSymbol { IsImplicitlyDeclared: false, DeclaringSyntaxReferences.Length: > 0 } field) 193else if (symbol is IFieldSymbol { CorrespondingTupleField: IFieldSymbol { Locations: [{ IsInSource: true } location] } })
src\Analyzers\CSharp\CodeFixes\ReplaceDefaultLiteral\CSharpReplaceDefaultLiteralCodeFixProvider.cs (1)
88type.GetMembers("None").FirstOrDefault() is IFieldSymbol field && IsZero(field.ConstantValue))
src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (2)
321IMethodSymbol or IPropertySymbol or IEventSymbol or IFieldSymbol => 470Contract.ThrowIfFalse(member is IFieldSymbol or IPropertySymbol);
src\Analyzers\CSharp\CodeFixes\UseSystemThreadingLock\CSharpUseSystemThreadingLockCodeFixProvider.cs (1)
93if (semanticModel.GetDeclaredSymbol(variableDeclarator, cancellationToken) is not IFieldSymbol field)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
277if (symbol is IFieldSymbol
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (2)
97protected override TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CSharpCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) 664public override SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (3)
23internal static EnumDeclarationSyntax AddEnumMemberTo(EnumDeclarationSyntax destination, IFieldSymbol enumMember, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 53IFieldSymbol enumMember, 73EnumDeclarationSyntax? destination, IFieldSymbol enumMember)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\FieldGenerator.cs (5)
55IFieldSymbol field, 71IFieldSymbol field, 87IFieldSymbol field, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 110private static EqualsValueClauseSyntax? GenerateEqualsValue(IFieldSymbol field) 121private static SyntaxTokenList GenerateModifiers(IFieldSymbol field, CSharpCodeGenerationContextInfo info)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamedTypeGenerator.cs (1)
121members = members.WhereAsArray(m => m is not IPropertySymbol and not IFieldSymbol || !primaryConstructor.Parameters.Any(static (p, m) => p.Name == m.Name, m));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
254foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1480case IFieldSymbol field:
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (1)
76else if (fieldOrProperty is IFieldSymbol field)
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (1)
SymbolKey\SymbolKeyMetadataVsSourceTests.cs (1)
370ResolveAndVerifyTypeSymbol(list[3], (originalSymbols[3] as IFieldSymbol).Type, model, comp20);
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (46)
CodeGen\CodeGenDeconstructTests.cs (12)
3611var field = (IFieldSymbol)model.GetDeclaredSymbol(decl); 5404var xType = ((IFieldSymbol)xSymbol).Type; 5411var yType = ((IFieldSymbol)ySymbol).Type; 5437var xType = ((IFieldSymbol)xSymbol).Type; 5444var yType = ((IFieldSymbol)ySymbol).Type; 5569var xType = ((IFieldSymbol)xSymbol).Type; 5617var yType = ((IFieldSymbol)ySymbol).Type; 5648var x1Type = ((IFieldSymbol)x1Symbol).Type; 5657var x2Type = ((IFieldSymbol)x2Symbol).Type; 5692var x1Type = ((IFieldSymbol)x1Symbol).Type; 5701var x2Type = ((IFieldSymbol)x2Symbol).Type;
CodeGen\CodeGenTupleTest.cs (34)
3645foreach (var item in type.TupleElements) 5883Assert.All(tupleWithoutNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 5960Assert.All(tupleWithoutNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 5979Assert.All(tupleWithNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 5998Assert.All(tupleWithSomeNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 6016Assert.All(tupleWithNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 6068Assert.All(tuple8WithoutNames.GetMembers().OfType<IFieldSymbol>().Where(f => f.Name != "Rest").Select(f => f.Locations.FirstOrDefault()), 6093Assert.All(tuple8WithNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 6118Assert.All(tuple9WithoutNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 6144Assert.All(tuple9WithNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 6176Assert.All(tuple9WithNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 6200Assert.All(tupleWithoutNames.GetMembers().OfType<IFieldSymbol>().Select(f => f.Locations.FirstOrDefault()), 6600var tuple1 = (INamedTypeSymbol)comp.SourceModule.GlobalNamespace.GetMember<INamedTypeSymbol>("C").GetMember<IFieldSymbol>("F").Type; 6635var tuple1 = (INamedTypeSymbol)((IFieldSymbol)comp.GetMember("Program.F")).Type; 6677var tuple1 = (INamedTypeSymbol)((IFieldSymbol)comp.GetMember("Program.F")).Type; 6716var tuple1 = (INamedTypeSymbol)((IFieldSymbol)comp.GetMember("Program.F")).Type; 6757var tuple1 = (INamedTypeSymbol)((IFieldSymbol)comp.GetMember("Program.F")).Type; 6835var tuple1 = (INamedTypeSymbol)((IFieldSymbol)comp.GetMember("Program.F")).Type; 6865var tuple1 = (INamedTypeSymbol)((IFieldSymbol)comp.GetMember("Program.F")).Type; 6904var tuple1 = (INamedTypeSymbol)((IFieldSymbol)comp.GetMember("Program.F")).Type; 14252m1Tuple.GetMember<IFieldSymbol>("Rest").Type.ToTestDisplayString()); 14259m1Tuple.GetMember<IFieldSymbol>("Rest").Type.ToTestDisplayString()); 14268m2Tuple.GetMember<IFieldSymbol>("Rest").Type.ToTestDisplayString()); 14270var f1Tuple = (INamedTypeSymbol)test.GetMember<IFieldSymbol>("F1").Type; 14277f1Tuple = (INamedTypeSymbol)((IFieldSymbol)symbolInfo.Symbol).Type; 14282f1Tuple.GetMember<IFieldSymbol>("Rest").Type.ToTestDisplayString()); 14296p1Tuple.GetMember<IFieldSymbol>("Rest").Type.ToTestDisplayString()); 14440e1Tuple.GetMember<IFieldSymbol>("Rest").Type.ToTestDisplayString()); 22859AssertEx.SetEqual(xSymbol.GetMembers().OfType<IFieldSymbol>().Select(f => f.Name), 27419VerifyTypeFromVisualBasic((INamedTypeSymbol)((IFieldSymbol)containingType.GetMembers("F0").Single()).Type, TupleUnderlyingTypeValue.Null, "System.ValueTuple", "System.ValueTuple"); 27420VerifyTypeFromVisualBasic((INamedTypeSymbol)((IFieldSymbol)containingType.GetMembers("F1").Single()).Type, TupleUnderlyingTypeValue.Distinct, "(System.Int32, System.Int32)", "(System.Int32, System.Int32)"); 27421VerifyTypeFromVisualBasic((INamedTypeSymbol)((IFieldSymbol)containingType.GetMembers("F2").Single()).Type, TupleUnderlyingTypeValue.Distinct, "(System.Int32 A, System.Int32 B)", "(A As System.Int32, B As System.Int32)"); 27422VerifyTypeFromVisualBasic((INamedTypeSymbol)((IFieldSymbol)containingType.GetMembers("F3").Single()).Type, TupleUnderlyingTypeValue.Distinct, "(System.Object, System.Object, System.Object, System.Object, System.Object, System.Object, System.Object, System.Object)", "(System.Object, System.Object, System.Object, System.Object, System.Object, System.Object, System.Object, System.Object)"); 27423VerifyTypeFromVisualBasic((INamedTypeSymbol)((IFieldSymbol)containingType.GetMembers("F4").Single()).Type, TupleUnderlyingTypeValue.Distinct, "(System.Object, System.Object B, System.Object, System.Object D, System.Object, System.Object F, System.Object, System.Object H)", "(System.Object, B As System.Object, System.Object, D As System.Object, System.Object, F As System.Object, System.Object, H As System.Object)");
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (6)
Emit\NumericIntPtrTests.cs (6)
11234var symbol = (IFieldSymbol)model.GetSymbolInfo(cref).Symbol; 11259var symbol = (IFieldSymbol)model.GetSymbolInfo(cref).Symbol; 11304var symbol = (IFieldSymbol)model.GetSymbolInfo(cref).Symbol;
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (36)
Diagnostics\GetDiagnosticsTests.cs (2)
1846foreach (var field in namedType.GetMembers().OfType<IFieldSymbol>())
Semantics\OutVarTests.cs (28)
26431Assert.Equal("System.Int32", ((IFieldSymbol)compilation.GetSemanticModel(tree).GetDeclaredSymbol(x1Decl.VariableDesignation())).Type.ToTestDisplayString()); 27028Assert.Equal("System.Int32", ((IFieldSymbol)compilation.GetSemanticModel(tree).GetDeclaredSymbol(x1Decl.VariableDesignation())).Type.ToTestDisplayString()); 32202var x1 = (IFieldSymbol)model.GetDeclaredSymbol(x1Decl.VariableDesignation()); 32232var b = (IFieldSymbol)model.GetDeclaredSymbol(tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Where(d => d.Identifier.ValueText == "b").Single()); 32243var x1 = (IFieldSymbol)model.GetDeclaredSymbol(x1Decl.VariableDesignation()); 32272var b = (IFieldSymbol)model.GetDeclaredSymbol(tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Where(d => d.Identifier.ValueText == "b").Single()); 32283var x1 = (IFieldSymbol)model.GetDeclaredSymbol(x1Decl.VariableDesignation()); 32312var a = (IFieldSymbol)model.GetDeclaredSymbol(tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Where(d => d.Identifier.ValueText == "a").Single()); 32323var x1 = (IFieldSymbol)model.GetDeclaredSymbol(x1Decl.VariableDesignation()); 32331x1 = (IFieldSymbol)model.GetDeclaredSymbol(x1Decl.VariableDesignation()); 32369var x1 = (IFieldSymbol)model.GetDeclaredSymbol(x1Decl.VariableDesignation()); 32386var b = (IFieldSymbol)model.GetDeclaredSymbol(bDecl); 32389x1 = (IFieldSymbol)model.GetDeclaredSymbol(x1Decl.VariableDesignation()); 32438var x1 = (IFieldSymbol)model.GetDeclaredSymbol(x1Decl.VariableDesignation()); 32488var x1 = (IFieldSymbol)model.GetDeclaredSymbol(x1Decl.VariableDesignation()); 32753var local = (IFieldSymbol)symbol;
Semantics\PatternMatchingTestBase.cs (2)
264var local = (IFieldSymbol)symbol;
Semantics\PatternMatchingTests_Global.cs (2)
901Assert.Equal("System.Int32", ((IFieldSymbol)compilation.GetSemanticModel(tree).GetDeclaredSymbol(x1Decl)).Type.ToTestDisplayString()); 1459Assert.Equal("System.Int32", ((IFieldSymbol)compilation.GetSemanticModel(tree).GetDeclaredSymbol(x1Decl)).Type.ToTestDisplayString());
Semantics\RecordTests.cs (2)
896var xBackingField = (IFieldSymbol)c.GetMember("<X>k__BackingField");
Microsoft.CodeAnalysis.CSharp.Features (88)
Completion\CompletionProviders\EnumAndCompletionListTagCompletionProvider.cs (2)
189var fields = type.GetMembers().OfType<IFieldSymbol>().Where(f => f.IsConst).Where(f => f.HasConstantValue); 224if (member is IFieldSymbol { IsStatic: true } field)
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (1)
129IFieldSymbol field => field.Type,
Completion\CompletionProviders\TupleNameCompletionProvider.cs (1)
104var field = type.TupleElements[index];
ConvertPrimaryToRegularConstructor\ConvertPrimaryToRegularConstructorCodeRefactoringProvider.cs (8)
182ImmutableDictionary<IParameterSymbol, IFieldSymbol> CreateSynthesizedFields() 184using var _1 = PooledDictionary<Location, IFieldSymbol>.GetInstance(out var locationToField); 185using var _2 = PooledDictionary<IParameterSymbol, IFieldSymbol>.GetInstance(out var result); 192if (member is IFieldSymbol { IsImplicitlyDeclared: true, Locations: [var location, ..] } field) 205var synthesizedField = CodeGenerationSymbolFactory.CreateFieldSymbol( 304.Select(p => parameterToSynthesizedFields.TryGetValue(p, out var field) ? field : null) 361if (!parameterToSynthesizedFields.TryGetValue(parameter, out var field)) 463if (!parameterToSynthesizedFields.TryGetValue(parameter, out var field))
ConvertProgram\ConvertProgramTransform_TopLevelStatements.cs (2)
298var field = (IFieldSymbol?)semanticModel.GetDeclaredSymbol(variable, cancellationToken);
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (1)
2546IFieldSymbol { ContainingType.TypeKind: TypeKind.Enum }
EncapsulateField\CSharpEncapsulateFieldService.cs (6)
93var field = semanticModel.GetDeclaredSymbol(declarator, cancellationToken) as IFieldSymbol; 123protected override async Task<ImmutableArray<IFieldSymbol>> GetFieldsAsync(Document document, TextSpan span, CancellationToken cancellationToken) 147return [.. declarators.Select(d => semanticModel.GetDeclaredSymbol(d, cancellationToken) as IFieldSymbol) 155protected override (string fieldName, string propertyName) GenerateFieldAndPropertyNames(IFieldSymbol field) 189private static bool IsNew(IFieldSymbol field)
GenerateConstructors\CSharpGenerateConstructorsCodeRefactoringProvider.cs (2)
54protected override IFieldSymbol? TryMapToWritableInstanceField(IPropertySymbol property, CancellationToken cancellationToken) 70return property.ContainingType.GetMembers(accessedMemberName).FirstOrDefault() as IFieldSymbol;
InitializeParameter\CSharpInitializeMemberFromPrimaryConstructorParameterCodeRefactoringProvider.cs (5)
104if (memberWithName is IFieldSymbol { IsConst: false, DeclaringSyntaxReferences: [var syntaxRef1, ..] } field && 162yield return siblingFieldOrProperty is IFieldSymbol ? fieldAction : propertyAction; 163yield return siblingFieldOrProperty is IFieldSymbol ? propertyAction : fieldAction; 175yield return siblingFieldOrProperty is IFieldSymbol ? allFieldsAction : allPropertiesAction; 176yield return siblingFieldOrProperty is IFieldSymbol ? allPropertiesAction : allFieldsAction;
InitializeParameter\CSharpInitializeMemberFromPrimaryConstructorParameterCodeRefactoringProvider_Update.cs (3)
100IFieldSymbol => GetAddContext<IFieldSymbol>(compilation, parameter, cancellationToken), 119else if (fieldOrProperty is IFieldSymbol field)
LanguageServices\CSharpSymbolDisplayService.SymbolDescriptionBuilder.cs (2)
107else if (symbol is IFieldSymbol field) 170IFieldSymbol symbol)
QuickInfo\CSharpSemanticQuickInfoProvider.cs (2)
110case IFieldSymbol { HasConstantValue: true }: return default; 114case IFieldSymbol:
ReplacePropertyWithMethods\CSharpReplacePropertyWithMethodsService.cs (4)
39IFieldSymbol? propertyBackingField, 64IFieldSymbol? propertyBackingField, 107IFieldSymbol? propertyBackingField, 165IFieldSymbol? propertyBackingField,
SignatureHelp\AttributeSignatureHelpProvider.cs (3)
175var type = namedParameter is IFieldSymbol ? ((IFieldSymbol)namedParameter).Type : ((IPropertySymbol)namedParameter).Type; 180namedParameter is IFieldSymbol ? SymbolDisplayPartKind.FieldName : SymbolDisplayPartKind.PropertyName,
SignatureHelp\TupleConstructionSignatureHelpProvider.cs (1)
182foreach (var element in tupleType.TupleElements)
src\Analyzers\CSharp\Analyzers\MakeStructFieldsWritable\CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs (1)
79.OfType<IFieldSymbol>()
src\Analyzers\CSharp\Analyzers\MakeStructReadOnly\CSharpMakeStructReadOnlyDiagnosticAnalyzer.cs (1)
103if (member is IFieldSymbol field)
src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (4)
49ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, 115if (symbolInfo.GetAnySymbol() is not IFieldSymbol { ContainingType.TypeKind: TypeKind.Struct }) 144if (symbol is IFieldSymbol field) 242HashSet<IFieldSymbol> result,
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (2)
475if (symbol is not IPropertySymbol and not IFieldSymbol) 1117if (emptySymbol is not IFieldSymbol and not IPropertySymbol)
src\Analyzers\CSharp\Analyzers\UseDeconstruction\CSharpUseDeconstructionDiagnosticAnalyzer.cs (3)
173foreach (var element in tupleType.TupleElements) 212foreach (var element in tupleType.TupleElements) 267if (member is not IFieldSymbol field)
src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (3)
93if (member is not IFieldSymbol and not IPropertySymbol) 175if (_candidateMembersToRemove.Any(kvp => kvp.Key is IFieldSymbol) && 176_candidateMembersToRemove.All(kvp => kvp.Key is IFieldSymbol))
src\Analyzers\CSharp\Analyzers\UseSystemThreadingLock\CSharpUseSystemThreadingLockDiagnosticAnalyzer.cs (5)
86using var fieldsArray = TemporaryArray<(IFieldSymbol field, VariableDeclaratorSyntax declarator, CodeStyleOption2<bool> option)>.Empty; 90if (member is not IFieldSymbol 139IFieldSymbol, 150if (context.ContainingSymbol is not IFieldSymbol fieldSymbol) 170var fieldReference = fieldReferenceOperation.Field.OriginalDefinition;
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (1)
107.OfType<IFieldSymbol>()
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (15)
26ImmutableArray<IFieldSymbol> expectedComparedFields) 78ImmutableArray<IFieldSymbol> expectedHashedFields) 228ImmutableArray<IFieldSymbol> fields, 249Field: IFieldSymbol referencedField 448{ Instance: IInstanceReferenceOperation, Field: IFieldSymbol field } 492private static ImmutableArray<IFieldSymbol> GetEqualizedFields( 505using var _1 = ArrayBuilder<IFieldSymbol>.GetInstance(out var fields); 728ArrayBuilder<IFieldSymbol> builder) 786ArrayBuilder<IFieldSymbol> builder, 882ArrayBuilder<IFieldSymbol> builder) 920ArrayBuilder<IFieldSymbol> builder) 930var field = UnwrapPropertyToField(memberReference1.Member); 959ArrayBuilder<IFieldSymbol> builder, 1124private static IFieldSymbol? UnwrapPropertyToField(ISymbol propertyOrField) 1128IFieldSymbol field => field,
src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (1)
109where m is IFieldSymbol or IPropertySymbol
src\Analyzers\CSharp\CodeFixes\MakeMemberRequired\CSharpMakeMemberRequiredCodeFixProvider.cs (1)
77else if (fieldOrPropertySymbol is IFieldSymbol fieldSymbol)
src\Analyzers\CSharp\CodeFixes\Nullable\CSharpDeclareAsNullableCodeFixProvider.cs (3)
183else if (symbol is IFieldSymbol { IsImplicitlyDeclared: false, DeclaringSyntaxReferences.Length: > 0 } field) 193else if (symbol is IFieldSymbol { CorrespondingTupleField: IFieldSymbol { Locations: [{ IsInSource: true } location] } })
src\Analyzers\CSharp\CodeFixes\ReplaceDefaultLiteral\CSharpReplaceDefaultLiteralCodeFixProvider.cs (1)
88type.GetMembers("None").FirstOrDefault() is IFieldSymbol field && IsZero(field.ConstantValue))
src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (2)
321IMethodSymbol or IPropertySymbol or IEventSymbol or IFieldSymbol => 470Contract.ThrowIfFalse(member is IFieldSymbol or IPropertySymbol);
src\Analyzers\CSharp\CodeFixes\UseSystemThreadingLock\CSharpUseSystemThreadingLockCodeFixProvider.cs (1)
93if (semanticModel.GetDeclaredSymbol(variableDeclarator, cancellationToken) is not IFieldSymbol field)
UseAutoProperty\CSharpUseAutoPropertyCodeFixProvider.cs (1)
82IFieldSymbol fieldSymbol,
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (35)
Semantics\AccessCheckTests.cs (27)
748IFieldSymbol privField = classA.GetMembers("priv").Single() as IFieldSymbol; 749IFieldSymbol pubField = classA.GetMembers("pub").Single() as IFieldSymbol; 750IFieldSymbol protField = classA.GetMembers("prot").Single() as IFieldSymbol; 751ITypeSymbol karrayType = (classA.GetMembers("karray").Single() as IFieldSymbol).Type; 752ITypeSymbol aarrayType = (classA.GetMembers("aarray").Single() as IFieldSymbol).Type; 753ITypeSymbol kptrType = (classA.GetMembers("kptr").Single() as IFieldSymbol).Type; 754ITypeSymbol aptrType = (classA.GetMembers("aptr").Single() as IFieldSymbol).Type; 755ITypeSymbol kinreturnfuncptrType = (classA.GetMembers("kinreturnfuncptr").Single() as IFieldSymbol).Type; 756ITypeSymbol kinparamfuncptr1Type = (classA.GetMembers("kinparamfuncptr1").Single() as IFieldSymbol).Type; 757ITypeSymbol kinparamfuncptr2Type = (classA.GetMembers("kinparamfuncptr2").Single() as IFieldSymbol).Type; 758ITypeSymbol afuncptrType = (classA.GetMembers("afuncptr").Single() as IFieldSymbol).Type; 759ITypeSymbol kenumType = (classA.GetMembers("kenum").Single() as IFieldSymbol).Type; 760ITypeSymbol aenumType = (classA.GetMembers("aenum").Single() as IFieldSymbol).Type; 764ITypeSymbol unknownType = (classA.GetMembers("unknowntype").Single() as IFieldSymbol).Type; 903IFieldSymbol Outer_Inner_Field = Outer_Inner.GetMembers("Field").Single() as IFieldSymbol; 904IFieldSymbol Outer_Pointer = Outer.GetMembers("Pointer").Single() as IFieldSymbol; 905IFieldSymbol Outer_Protected = Outer.GetMembers("Protected").Single() as IFieldSymbol; 906IFieldSymbol Outer_ProtectedInternal = Outer.GetMembers("ProtectedInternal").Single() as IFieldSymbol; 907IFieldSymbol Outer_PrivateProtected = Outer.GetMembers("PrivateProtected").Single() as IFieldSymbol;
Semantics\NativeIntegerTests.cs (2)
15398var symbol = (IFieldSymbol)model.GetSymbolInfo(cref).Symbol;
Semantics\RecordStructTests.cs (4)
1841var xBackingField = (IFieldSymbol)c.GetMember("<X>k__BackingField"); 1888var xBackingField = (IFieldSymbol)c.GetMember("<X>k__BackingField");
Semantics\UnsafeTests.cs (2)
8238Assert.Equal(intPointerType.GetPublicSymbol(), ((IFieldSymbol)receiverSymbol).Type); 8296Assert.Equal(intPointerType.GetPublicSymbol(), ((IFieldSymbol)receiverSymbol).Type);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (106)
Compilation\SemanticModelAPITests.cs (9)
796var xSym = mainType.GetMembers("x").Single() as IFieldSymbol; 1721var fieldQ = classQ.GetMember<IFieldSymbol>("q"); 4409var fieldX = (IFieldSymbol)classA.GetMembers("X").Single().ISymbol; 4410var fieldY = (IFieldSymbol)classA.GetMembers("Y").Single().ISymbol; 4411var fieldZ = (IFieldSymbol)classA.GetMembers("Z").Single().ISymbol;
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (18)
949var fSymbol = model.GetDeclaredSymbol(fieldDecl.Declaration.Variables[0]) as IFieldSymbol; 3647var fSymbol = model.GetDeclaredSymbol((EnumMemberDeclarationSyntax)enumMemberDecl); 4083var fieldB = classM.GetMember<IFieldSymbol>("B"); 4914var element = (IFieldSymbol)model.GetDeclaredSymbol(decl); 4937var element = (IFieldSymbol)model.GetDeclaredSymbol(decl); 4960var element = (IFieldSymbol)model.GetDeclaredSymbol(decl); 4995var element = (IFieldSymbol)model.GetDeclaredSymbol(decl); 5041var element = (IFieldSymbol)model.GetDeclaredSymbol(decl); 5090var element = (IFieldSymbol)model.GetDeclaredSymbol(decl); 5113var element = (IFieldSymbol)model.GetDeclaredSymbol(decl);
Compilation\SemanticModelGetSemanticInfoTests.cs (12)
4616var symbol = (IFieldSymbol)semanticInfo.Symbol; 4682var symbol = (IFieldSymbol)semanticInfo.Symbol; 4719var symbol = (IFieldSymbol)semanticInfo.Symbol; 4755var symbol = (IFieldSymbol)semanticInfo.Symbol; 4791var symbol = (IFieldSymbol)semanticInfo.Symbol; 4823var symbol = (IFieldSymbol)semanticInfo.Symbol;
Compilation\SymbolVisitorTests.cs (3)
81public override void VisitField(IFieldSymbol symbol) 256public override string VisitField(IFieldSymbol symbol) 447public override int VisitField(IFieldSymbol symbol, StringBuilder argument)
Symbols\Source\DeclaringSyntaxNodeTests.cs (16)
203var f = s1.GetMembers("f").Single() as IFieldSymbol; 238foreach (IFieldSymbol f in c1.GetMembers().OfType<IFieldSymbol>()) 459foreach (IFieldSymbol f in c2.GetMembers().OfType<IFieldSymbol>()) 475foreach (IFieldSymbol f in c3.GetMembers().OfType<IFieldSymbol>()) 542if (memb is IFieldSymbol) 544var fld = (IFieldSymbol)memb; 552var fieldT = c1.GetMembers("t").Single() as IFieldSymbol; 565if (memb is IFieldSymbol) 567var fld = (IFieldSymbol)memb;
Symbols\Source\FieldTests.cs (4)
498var goo = (IFieldSymbol)s.GetMember("goo").GetPublicSymbol(); 518var goo = (IFieldSymbol)s.GetMember("goo").GetPublicSymbol();
Symbols\Source\NullablePublicAPITests.cs (6)
147return c.GetMembers().OfType<IFieldSymbol>().ToArray(); 2786Assert.Equal(PublicNullableAnnotation.Annotated, ((IFieldSymbol)symInfo.Symbol).NullableAnnotation); 2787Assert.Equal(PublicNullableAnnotation.Annotated, ((IFieldSymbol)symInfo.Symbol).Type.NullableAnnotation); 2791Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IFieldSymbol)symInfo.Symbol).NullableAnnotation); 2792Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IFieldSymbol)symInfo.Symbol).Type.NullableAnnotation); 4215Assert.Equal(SpecialType.System_String, ((IFieldSymbol)symbolInfo.Symbol).Type.SpecialType);
Symbols\SymbolEqualityTests.cs (38)
225var type1 = ((IFieldSymbol)comp.GetMember("A.field1")).Type; 226var type2 = ((IFieldSymbol)comp.GetMember("A.field2")).Type; 249var type1 = ((IFieldSymbol)comp.GetMember("A.field1")).Type; 250var type2 = ((IFieldSymbol)comp.GetMember("A.field2")).Type; 285var type1 = ((IFieldSymbol)comp.GetMember("A.field1")).Type; 286var type2 = ((IFieldSymbol)comp.GetMember("A.field2")).Type; 309var type1 = ((IFieldSymbol)comp.GetMember("A.field1")).Type; 310var type2 = ((IFieldSymbol)comp.GetMember("A.field2")).Type; 344var type1comp1 = ((IFieldSymbol)comp1.GetMember("A.field1")).Type; 345var type1comp2 = ((IFieldSymbol)comp2.GetMember("A.field1")).Type; 346var type2 = ((IFieldSymbol)comp2.GetMember("B.field2")).Type; 376var symbol1 = ((IFieldSymbol)comp.GetMember("A.field1")).Type; 424var field1 = (IFieldSymbol)member1; 425var field2 = (IFieldSymbol)member2; 454var type1 = ((IFieldSymbol)model.GetDeclaredSymbol(member1Syntax.Declaration.Variables[0])).Type; 455var type2 = ((IFieldSymbol)model.GetDeclaredSymbol(member2Syntax.Declaration.Variables[0])).Type; 485var type1 = ((IFieldSymbol)model.GetDeclaredSymbol(member1Syntax.Declaration.Variables[0])).Type; 486var type2 = ((IFieldSymbol)model.GetDeclaredSymbol(member2Syntax.Declaration.Variables[0])).Type; 528var type1 = ((IFieldSymbol)model.GetDeclaredSymbol(member1Syntax.Declaration.Variables[0])).Type; 529var type2 = ((IFieldSymbol)model.GetDeclaredSymbol(member2Syntax.Declaration.Variables[0])).Type; 559var type1 = ((IFieldSymbol)model.GetDeclaredSymbol(member1Syntax.Declaration.Variables[0])).Type; 560var type2 = ((IFieldSymbol)model.GetDeclaredSymbol(member2Syntax.Declaration.Variables[0])).Type; 630var type1 = ((IFieldSymbol)model.GetDeclaredSymbol(member1Syntax.Declaration.Variables[0])).Type; 631var type2 = ((IFieldSymbol)model.GetDeclaredSymbol(member2Syntax.Declaration.Variables[0])).Type; 679var type1 = ((IFieldSymbol)model.GetDeclaredSymbol(member1Syntax.Declaration.Variables[0])).Type; 680var type2 = ((IFieldSymbol)model.GetDeclaredSymbol(member2Syntax.Declaration.Variables[0])).Type; 686var field1 = (IFieldSymbol)type1.GetMembers()[0]; 687var field2 = (IFieldSymbol)type2.GetMembers()[0]; 731var type1 = ((IFieldSymbol)model.GetDeclaredSymbol(member1Syntax.Declaration.Variables[0])).Type; 732var type2 = ((IFieldSymbol)model.GetDeclaredSymbol(member2Syntax.Declaration.Variables[0])).Type; 781var field1 = (IFieldSymbol)((INamedTypeSymbol)model.GetDeclaredSymbol(member1Syntax)).GetMembers("field").Single(); // A<T!>! A<T>.field 782var field2 = (IFieldSymbol)model.GetSymbolInfo(member2Syntax).Symbol; // A<T!>! A<T!>.field
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Extensions.cs (1)
815return ((IFieldSymbol)symbol).Type;
Microsoft.CodeAnalysis.CSharp.Workspaces (20)
Classification\SyntaxClassification\NameSyntaxClassifier.cs (2)
194case IFieldSymbol fieldSymbol: 233private static string GetClassificationForField(IFieldSymbol fieldSymbol)
Recommendations\CSharpRecommendationServiceRunner.cs (1)
633.WhereAsArray(symbol => symbol is INamespaceOrTypeSymbol or IFieldSymbol { IsConst: true }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
334if (exprSymbol is not IFieldSymbol { IsConst: true })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
707if (castedSymbol is not IFieldSymbol and not ILocalSymbol and not IParameterSymbol and not IParameterSymbol { RefKind: RefKind.Ref })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
277if (symbol is IFieldSymbol
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (2)
97protected override TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CSharpCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) 664public override SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (3)
23internal static EnumDeclarationSyntax AddEnumMemberTo(EnumDeclarationSyntax destination, IFieldSymbol enumMember, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 53IFieldSymbol enumMember, 73EnumDeclarationSyntax? destination, IFieldSymbol enumMember)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\FieldGenerator.cs (5)
55IFieldSymbol field, 71IFieldSymbol field, 87IFieldSymbol field, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 110private static EqualsValueClauseSyntax? GenerateEqualsValue(IFieldSymbol field) 121private static SyntaxTokenList GenerateModifiers(IFieldSymbol field, CSharpCodeGenerationContextInfo info)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamedTypeGenerator.cs (1)
121members = members.WhereAsArray(m => m is not IPropertySymbol and not IFieldSymbol || !primaryConstructor.Parameters.Any(static (p, m) => p.Name == m.Name, m));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
254foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1480case IFieldSymbol field:
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (1)
76else if (fieldOrProperty is IFieldSymbol field)
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (6)
CodeGeneration\SyntaxGeneratorTests.cs (6)
3865var symbolX = (IFieldSymbol)symbolC.GetMembers("X").First(); 3866var symbolY = (IFieldSymbol)symbolC.GetMembers("Y").First(); 3867var symbolZ = (IFieldSymbol)symbolC.GetMembers("Z").First();
Microsoft.CodeAnalysis.EditorFeatures (1)
RenameTracking\RenameTrackingTaggerProvider.TrackingSession.cs (1)
241if (sourceSymbol is IFieldSymbol { ContainingType.IsTupleType: true, IsImplicitlyDeclared: true })
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (91)
CodeGeneration\CodeGenerationTests.cs (1)
69var field = CodeGenerationSymbolFactory.CreateFieldSymbol(
SymbolFinder\FindSymbolAtPositionTests.cs (2)
61var fieldSymbol = Assert.IsAssignableFrom<IFieldSymbol>(await FindSymbolAtPositionAsync(workspace));
Utilities\SymbolEquivalenceComparerTests.cs (88)
53var intField1 = (IFieldSymbol)type.GetMembers("intField1").Single(); 54var intArrayField1 = (IFieldSymbol)type.GetMembers("intArrayField1").Single(); 55var stringArrayField1 = (IFieldSymbol)type.GetMembers("stringArrayField1").Single(); 56var intArrayArrayField1 = (IFieldSymbol)type.GetMembers("intArrayArrayField1").Single(); 57var intArrayRank2Field1 = (IFieldSymbol)type.GetMembers("intArrayRank2Field1").Single(); 58var int32Field1 = (IFieldSymbol)type.GetMembers("int32Field1").Single(); 60var intField2 = (IFieldSymbol)type.GetMembers("intField2").Single(); 61var intArrayField2 = (IFieldSymbol)type.GetMembers("intArrayField2").Single(); 62var stringArrayField2 = (IFieldSymbol)type.GetMembers("stringArrayField2").Single(); 63var intArrayArrayField2 = (IFieldSymbol)type.GetMembers("intArrayArrayField2").Single(); 64var intArrayRank2Field2 = (IFieldSymbol)type.GetMembers("intArrayRank2Field2").Single(); 65var int32Field2 = (IFieldSymbol)type.GetMembers("int32Field2").Single(); 126var csharpIntField1 = (IFieldSymbol)csharpType.GetMembers("intField1").Single(); 127var csharpIntArrayField1 = (IFieldSymbol)csharpType.GetMembers("intArrayField1").Single(); 128var csharpStringArrayField1 = (IFieldSymbol)csharpType.GetMembers("stringArrayField1").Single(); 129var csharpIntArrayArrayField1 = (IFieldSymbol)csharpType.GetMembers("intArrayArrayField1").Single(); 130var csharpIntArrayRank2Field1 = (IFieldSymbol)csharpType.GetMembers("intArrayRank2Field1").Single(); 131var csharpInt32Field1 = (IFieldSymbol)csharpType.GetMembers("int32Field1").Single(); 133var vbIntField1 = (IFieldSymbol)vbType.GetMembers("intField1").Single(); 134var vbIntArrayField1 = (IFieldSymbol)vbType.GetMembers("intArrayField1").Single(); 135var vbStringArrayField1 = (IFieldSymbol)vbType.GetMembers("stringArrayField1").Single(); 136var vbIntArrayArrayField1 = (IFieldSymbol)vbType.GetMembers("intArrayArrayField1").Single(); 137var vbIntArrayRank2Field1 = (IFieldSymbol)vbType.GetMembers("intArrayRank2Field1").Single(); 138var vbInt32Field1 = (IFieldSymbol)vbType.GetMembers("int32Field1").Single(); 286var intInstantiation1 = (IFieldSymbol)typeC.GetMembers("intInstantiation1").Single(); 287var stringInstantiation = (IFieldSymbol)typeC.GetMembers("stringInstantiation").Single(); 288var instanceInstantiation = (IFieldSymbol)typeC.GetMembers("instanceInstantiation").Single(); 289var intInstantiation2 = (IFieldSymbol)typeD.GetMembers("intInstantiation2").Single(); 1345var a1 = ((IFieldSymbol)t1.GetMembers("A").Single()).Type; 1346var b1 = ((IFieldSymbol)t1.GetMembers("B").Single()).Type; 1347var c1 = ((IFieldSymbol)t1.GetMembers("C").Single()).Type; 1348var d1 = ((IFieldSymbol)t1.GetMembers("D").Single()).Type; 1349var a2 = ((IFieldSymbol)t2.GetMembers("A").Single()).Type; 1350var b2 = ((IFieldSymbol)t2.GetMembers("B").Single()).Type; 1351var c2 = ((IFieldSymbol)t2.GetMembers("C").Single()).Type; 1352var d2 = ((IFieldSymbol)t2.GetMembers("D").Single()).Type; 1409var a1 = ((IFieldSymbol)t1.GetMembers("A").Single()).Type; 1410var b1 = ((IFieldSymbol)t1.GetMembers("B").Single()).Type; 1411var c1 = ((IFieldSymbol)t1.GetMembers("C").Single()).Type; 1412var d1 = ((IFieldSymbol)t1.GetMembers("D").Single()).Type; 1413var a2 = ((IFieldSymbol)t2.GetMembers("A").Single()).Type; 1414var b2 = ((IFieldSymbol)t2.GetMembers("B").Single()).Type; 1415var c2 = ((IFieldSymbol)t2.GetMembers("C").Single()).Type; 1416var d2 = ((IFieldSymbol)t2.GetMembers("D").Single()).Type; 1472var a1 = ((IFieldSymbol)t1.GetMembers("A").Single()).Type; 1473var b1 = ((IFieldSymbol)t1.GetMembers("B").Single()).Type; 1474var c1 = ((IFieldSymbol)t1.GetMembers("C").Single()).Type; 1475var d1 = ((IFieldSymbol)t1.GetMembers("D").Single()).Type; 1476var a2 = ((IFieldSymbol)t2.GetMembers("A").Single()).Type; 1477var b2 = ((IFieldSymbol)t2.GetMembers("B").Single()).Type; 1478var c2 = ((IFieldSymbol)t2.GetMembers("C").Single()).Type; 1479var d2 = ((IFieldSymbol)t2.GetMembers("D").Single()).Type; 1535var a1 = ((IFieldSymbol)t1.GetMembers("A").Single()).Type; 1536var b1 = ((IFieldSymbol)t1.GetMembers("B").Single()).Type; 1537var c1 = ((IFieldSymbol)t1.GetMembers("C").Single()).Type; 1538var d1 = ((IFieldSymbol)t1.GetMembers("D").Single()).Type; 1539var a2 = ((IFieldSymbol)t2.GetMembers("A").Single()).Type; 1540var b2 = ((IFieldSymbol)t2.GetMembers("B").Single()).Type; 1541var c2 = ((IFieldSymbol)t2.GetMembers("C").Single()).Type; 1542var d2 = ((IFieldSymbol)t2.GetMembers("D").Single()).Type;
Microsoft.CodeAnalysis.EditorFeatures2.UnitTests (2)
Workspaces\TryFindSourceDefinitionTests.vb (2)
60Dim field = DirectCast(Type.GetMembers("field").Single(), IFieldSymbol) 104Dim field = DirectCast(Type.GetMembers("field").Single(), IFieldSymbol)
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (1)
AbstractTypeParameterChecker.cs (1)
79public sealed override void VisitField(IFieldSymbol symbol)
Microsoft.CodeAnalysis.Extensions.Package (21)
Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
Microsoft.CodeAnalysis.Features (188)
AddImport\SymbolReferenceFinder.cs (1)
343m is IFieldSymbol or IPropertySymbol &&
Completion\Providers\AbstractContextVariableArgumentProvider.cs (1)
61if (symbol.IsKind(SymbolKind.Field, out IFieldSymbol? field))
Completion\Providers\AbstractObjectInitializerCompletionProvider.cs (1)
115IFieldSymbol fieldSymbol => fieldSymbol.Type,
Completion\Providers\ImportCompletionProvider\AbstractExtensionMethodImportCompletionProvider.cs (1)
109IFieldSymbol fieldSymbol => fieldSymbol.Type,
ConvertAutoPropertyToFullProperty\AbstractConvertAutoPropertyToFullPropertyCodeRefactoringProvider.cs (3)
71var fields = propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>(); 72var field = fields.FirstOrDefault(f => propertySymbol.Equals(f.AssociatedSymbol)); 107var newField = CodeGenerationSymbolFactory.CreateFieldSymbol(
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (7)
122ImmutableArray<IFieldSymbol> fields, 466var tupleFieldNames = tupleType.TupleElements.SelectAsArray<IFieldSymbol, string>(f => f.Name); 481var tupleFieldNames = tupleType.TupleElements.SelectAsArray<IFieldSymbol, string>(f => f.Name); 671StringComparer comparer, ImmutableArray<IFieldSymbol> fields1, ImmutableArray<IFieldSymbol> fields2) 886var arguments = tupleType.TupleElements.SelectAsArray<IFieldSymbol, SyntaxNode>( 923ImmutableArray<IFieldSymbol> fields, SyntaxGenerator generator,
EditAndContinue\AbstractEditAndContinueAnalyzer.ActiveMembersBuilder.cs (2)
35if (member is IFieldSymbol or IPropertySymbol or IEventSymbol) 99if (oldMethod is IMethodSymbol or IPropertySymbol or IFieldSymbol or IEventSymbol)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (18)
312SymbolKind.Field => GetDisplayName((IFieldSymbol)symbol), 339internal virtual string GetDisplayName(IFieldSymbol symbol) 2452protected static bool ReturnTypesEquivalent(IFieldSymbol oldField, IFieldSymbol newField, bool exact) 2498return ReturnTypesEquivalent((IFieldSymbol)oldMember, (IFieldSymbol)newMember, exact); 2859var newMatchingSymbol = newContainingType.GetMembers(oldSymbol.Name).FirstOrDefault(m => m is IPropertySymbol or IFieldSymbol); 3292IFieldSymbol or 3718case IMethodSymbol or IFieldSymbol: 3755case IMethodSymbol or IFieldSymbol: 3807if (oldSymbol.Name != newSymbol.Name || oldSymbol is IMethodSymbol or IFieldSymbol) 3967Contract.ThrowIfFalse(oldMember is IFieldSymbol or IPropertySymbol or IEventSymbol); 4208if (oldSymbol is IFieldSymbol oldField && newSymbol is IFieldSymbol newField) 4821if (newSymbol is IFieldSymbol || newSymbol.IsAutoProperty()) 6110var oldBackingField = capture.GetPrimaryParameterBackingField(); 6817=> symbol is { IsStatic: false } and (IPropertySymbol or IFieldSymbol) && 6841IFieldSymbol or
EditAndContinue\Utilities\Extensions.cs (4)
173=> property.ContainingType.GetMembers().Any(static (member, property) => member is IFieldSymbol field && field.AssociatedSymbol == property, property); 189public static IFieldSymbol? GetPrimaryParameterBackingField(this IParameterSymbol parameter) 190=> (IFieldSymbol?)parameter.ContainingType.GetMembers().FirstOrDefault( 191static (member, parameter) => member is IFieldSymbol field && ParsePrimaryParameterBackingFieldName(field.Name, out var paramName) && paramName == parameter.Name, parameter);
EmbeddedLanguages\EmbeddedLanguageDetector.cs (2)
366if (symbol is not IFieldSymbol { Name: not "" } fieldSymbol) 475return symbol is IFieldSymbol or IPropertySymbol &&
EncapsulateField\AbstractEncapsulateFieldService.cs (21)
42protected abstract Task<ImmutableArray<IFieldSymbol>> GetFieldsAsync(Document document, TextSpan span, CancellationToken cancellationToken); 51var firstField = fields[0]; 74foreach (var field in fields) 82private ImmutableArray<CodeAction> EncapsulateAllFields(Document document, ImmutableArray<IFieldSymbol> fields) 94private ImmutableArray<CodeAction> EncapsulateOneField(Document document, IFieldSymbol field) 111Document document, ImmutableArray<IFieldSymbol> fields, 141private async Task<Solution> EncapsulateFieldsInCurrentProcessAsync(Document document, ImmutableArray<IFieldSymbol> fields, bool updateReferences, CancellationToken cancellationToken) 147foreach (var field in fields) 154if (field.GetSymbolKey(cancellationToken).Resolve(compilation, cancellationToken: cancellationToken).Symbol is not IFieldSymbol currentField) 169IFieldSymbol field, 173var originalField = field; 187field = (IFieldSymbol)field.GetSymbolKey(cancellationToken).Resolve(compilation, cancellationToken: cancellationToken).Symbol!; 208field = (IFieldSymbol)semanticModel.GetRequiredDeclaredSymbol(newDeclaration, cancellationToken); 231bool updateReferences, Solution solution, Document document, IFieldSymbol field, string finalFieldName, string generatedPropertyName, CancellationToken cancellationToken) 255field = (IFieldSymbol)field.GetSymbolKey(cancellationToken).Resolve(compilation, cancellationToken: cancellationToken).Symbol!; 277IFieldSymbol field, 319IFieldSymbol field, 340IFieldSymbol field, 363protected abstract (string fieldName, string propertyName) GenerateFieldAndPropertyNames(IFieldSymbol field); 378protected static IMethodSymbol CreateSet(string originalFieldName, IFieldSymbol field, SyntaxGenerator factory) 397protected static IMethodSymbol CreateGet(string originalFieldName, IFieldSymbol field, SyntaxGenerator factory)
EncapsulateField\IEncapsulateFieldService.cs (1)
18Task<Solution> EncapsulateFieldsAsync(Document document, ImmutableArray<IFieldSymbol> fields, bool updateReferences, CancellationToken cancellationToken);
ExtractMethod\MethodExtractor.Analyzer.cs (2)
879var field = (IFieldSymbol)pair.Key;
GenerateConstructors\AbstractGenerateConstructorsCodeRefactoringProvider.cs (1)
63protected abstract IFieldSymbol? TryMapToWritableInstanceField(IPropertySymbol property, CancellationToken cancellationToken);
GenerateFromMembers\GenerateFromMembersHelpers.cs (3)
58IFieldSymbol field => IsViableField(field), 67IFieldSymbol field => IsViableField(field) && !field.IsConst, 72private static bool IsViableField(IFieldSymbol field)
GenerateType\AbstractGenerateTypeService.Editor.cs (1)
620if (symbol is IFieldSymbol field)
InitializeParameter\AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs (7)
123if (siblingFieldOrProperty is IFieldSymbol) 139if (siblingFieldOrProperty is IFieldSymbol) 195var field = CreateField(parameter, accessibilityModifiersRequired, rules); 273private IFieldSymbol CreateField( 512else if (fieldOrProperty is IFieldSymbol field) 516codeGenerator.GetInfo(GetAddContext<IFieldSymbol>(parameter, blockStatement, typeDeclaration, cancellationToken), options, root.SyntaxTree.Options), 637if (memberWithName is IFieldSymbol field &&
InlineMethod\AbstractInlineMethodRefactoringProvider.cs (2)
591if (semanticModel.GetDeclaredSymbol(declarator, cancellationToken) is IFieldSymbol fieldSymbol) 599if (semanticModel.GetAllDeclaredSymbols(node, cancellationToken).SingleOrDefault() is IFieldSymbol fieldSymbolFallBack)
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.StructuralTypeCollectorVisitor.cs (2)
37public override void VisitField(IFieldSymbol symbol) 98foreach (var field in symbol.TupleElements)
LanguageServices\SymbolDisplayService\AbstractSymbolDisplayService.AbstractSymbolDescriptionBuilder.cs (3)
316else if (symbol is IFieldSymbol field) 539private async Task AddDescriptionForFieldAsync(IFieldSymbol symbol) 559private async Task<ImmutableArray<SymbolDisplayPart>> GetFieldPartsAsync(IFieldSymbol symbol)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedFieldSymbol.cs (4)
14private sealed class WrappedFieldSymbol(IFieldSymbol fieldSymbol, IDocumentationCommentFormattingService docCommentFormattingService) : AbstractWrappedSymbol(fieldSymbol, canImplementImplicitly: false, docCommentFormattingService: docCommentFormattingService), IFieldSymbol 16private readonly IFieldSymbol _symbol = fieldSymbol; 18public new IFieldSymbol OriginalDefinition => _symbol.OriginalDefinition; 20public IFieldSymbol CorrespondingTupleField => null;
MetadataAsSource\AbstractMetadataAsSourceService.WrappedNamedTypeSymbol.cs (2)
46SymbolKind.Field => new WrappedFieldSymbol((IFieldSymbol)m, docCommentFormattingService), 85public ImmutableArray<IFieldSymbol> TupleElements => _symbol.TupleElements;
NameTupleElement\AbstractNameTupleElementCodeRefactoringProvider.cs (1)
72var element = elements[argumentIndex];
PullMemberUp\MembersPuller.cs (2)
186else if (member is IFieldSymbol fieldSymbol) 499if (selectedMember is IFieldSymbol fieldSymbol)
QuickInfo\CommonSemanticQuickInfoProvider.ErrorVisitor.cs (1)
32public override bool VisitField(IFieldSymbol symbol)
ReplacePropertyWithMethods\AbstractReplacePropertyWithMethodsService.cs (6)
30Document document, IPropertySymbol property, SyntaxNode propertyDeclaration, IFieldSymbol? propertyBackingField, string desiredGetMethodName, string desiredSetMethodName, CancellationToken cancellationToken); 39protected static SyntaxNode GetFieldReference(SyntaxGenerator generator, IFieldSymbol propertyBackingField) 57IPropertySymbol property, IFieldSymbol? propertyBackingField, 82private readonly IFieldSymbol? _propertyBackingField; 99IFieldSymbol? propertyBackingField, 319private SyntaxNode QualifyIfAppropriate(IFieldSymbol propertyBackingField, SyntaxNode newIdentifierName)
ReplacePropertyWithMethods\IReplacePropertyWithMethodsService.cs (2)
21IPropertySymbol property, IFieldSymbol? propertyBackingField, 28IFieldSymbol? propertyBackingField,
ReplacePropertyWithMethods\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (8)
115private static ImmutableDictionary<IPropertySymbol, IFieldSymbol?> CreateDefinitionToBackingFieldMap(IEnumerable<ReferencedSymbol> propertyReferences) 117var definitionToBackingField = ImmutableDictionary.CreateBuilder<IPropertySymbol, IFieldSymbol?>(SymbolEquivalenceComparer.Instance); 153private static IFieldSymbol? GetBackingField(IPropertySymbol property) 194ImmutableDictionary<IPropertySymbol, IFieldSymbol?> propertyToBackingField, 214ImmutableDictionary<IPropertySymbol, IFieldSymbol?> propertyToBackingField, 235IDictionary<IPropertySymbol, IFieldSymbol?> propertyToBackingField, 293ImmutableDictionary<IPropertySymbol, IFieldSymbol?> definitionToBackingField, 343IDictionary<IPropertySymbol, IFieldSymbol?> definitionToBackingField,
RQName\RQNodeBuilder.cs (2)
25IFieldSymbol fieldSymbol => BuildField(fieldSymbol), 87private static RQMember? BuildField(IFieldSymbol symbol)
SemanticSearch\AbstractSemanticSearchService.cs (1)
78.Add(typeof(IFieldSymbol), QueryKind.Field)
Shared\Extensions\ISymbolExtensions_2.cs (1)
45publicIcon = ((IFieldSymbol)symbol).IsConst ? Glyph.ConstantPublic : Glyph.FieldPublic;
Shared\Utilities\ExtractTypeHelpers.cs (2)
218var field = member as IFieldSymbol;
src\Analyzers\Core\Analyzers\MakeFieldReadonly\AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (13)
42var fieldStateMap = new ConcurrentDictionary<IFieldSymbol, (bool isCandidate, bool written)>(); 88var field = (IFieldSymbol)symbolContext.Symbol; 108var field = fieldReference.Field; 120if (member is IFieldSymbol field && fieldStateMap.TryRemove(field.OriginalDefinition, out var value)) 144if (member is IFieldSymbol field && 160bool IsCandidateField(IFieldSymbol symbol) 191static bool IsDataContractSerializable(IFieldSymbol symbol, INamedTypeSymbol? dataContractAttribute, INamedTypeSymbol? dataMemberAttribute) 201(bool isCandidate, bool written) TryGetOrInitializeFieldState(IFieldSymbol fieldSymbol, AnalyzerOptions options, CancellationToken cancellationToken) 215IFieldSymbol field, 234private static Location GetDiagnosticLocation(IFieldSymbol field) 272var field = fieldReference.Field; 308private static CodeStyleOption2<bool> GetCodeStyleOption(IFieldSymbol field, AnalyzerOptions options, out Location diagnosticLocation)
src\Analyzers\Core\Analyzers\PopulateSwitch\PopulateSwitchStatementHelpers.cs (1)
158if (member is not IFieldSymbol fieldSymbol || fieldSymbol.Type.SpecialType != SpecialType.None)
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (6)
373foreach (var field in initializer.InitializedFields) 532if (isInlineArray && member is IFieldSymbol { IsStatic: false }) 595if (member is IFieldSymbol { RefKind: RefKind.Ref }) 765case IPropertySymbol or IFieldSymbol: 793/// Backing fields have a non-null <see cref="IFieldSymbol.AssociatedSymbol"/>. 910return ((IFieldSymbol)memberSymbol).AssociatedSymbol == null;
src\Analyzers\Core\Analyzers\UseAutoProperty\AbstractUseAutoPropertyAnalyzer.cs (20)
51private static readonly ObjectPool<ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>>> s_fieldToUsageLocationPool = new(() => []); 58protected static void AddFieldUsage(ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, IFieldSymbol field, SyntaxNode location) 61private static void ClearAndFree(ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> multiMap) 91SemanticModel semanticModel, IMethodSymbol accessor, HashSet<string> fieldNames, HashSet<IFieldSymbol> result, CancellationToken cancellationToken); 94HashSet<string> fieldNames, ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, SemanticModel semanticModel, SyntaxNode codeBlock, CancellationToken cancellationToken); 122if (member is IFieldSymbol 222ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldReads, 223ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, 236if (semanticModel.GetSymbolInfo(identifierName, cancellationToken).Symbol is not IFieldSymbol field) 268using var _ = PooledHashSet<IFieldSymbol>.GetInstance(out var set); 284using var _ = PooledHashSet<IFieldSymbol>.GetInstance(out var set); 290private IFieldSymbol? CheckFieldAccessExpression( 309IFieldSymbol field, 482var getterField = getterFields.TrivialField ?? getterFields.NonTrivialFields.Single(); 498protected IFieldSymbol? TryGetDirectlyAccessedFieldSymbol( 538ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, 539ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldReads, 540ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, 543using var _1 = PooledHashSet<IFieldSymbol>.GetInstance(out var reportedFields);
src\Analyzers\Core\Analyzers\UseAutoProperty\AccessedFields.cs (5)
16IFieldSymbol? TrivialField, 17ImmutableArray<IFieldSymbol> NonTrivialFields) 21public AccessedFields(IFieldSymbol? trivialField) : this(trivialField, []) 28public AccessedFields Where<TArg>(Func<IFieldSymbol, TArg, bool> predicate, TArg arg) 32public bool Contains(IFieldSymbol field)
src\Analyzers\Core\Analyzers\UseAutoProperty\AnalysisResult.cs (1)
32IFieldSymbol Field,
src\Analyzers\Core\Analyzers\UseExplicitTupleName\UseExplicitTupleNameDiagnosticAnalyzer.cs (5)
49var field = fieldReferenceOperation.Field; 54var namedField = GetNamedField(field.ContainingType, field, context.CancellationToken); 76private static IFieldSymbol? GetNamedField( 77INamedTypeSymbol containingType, IFieldSymbol unnamedField, CancellationToken cancellationToken) 83if (member is IFieldSymbol fieldSymbol &&
src\Analyzers\Core\CodeFixes\GenerateConstructor\GenerateConstructorHelpers.cs (1)
355if (symbol is IFieldSymbol { IsConst: false } field)
src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.CodeAction.cs (1)
84var fieldSymbol = CodeGenerationSymbolFactory.CreateFieldSymbol(
src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.State.cs (1)
408=> symbol is IFieldSymbol field && field.IsReadOnly;
src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementHelpers.cs (4)
27.OfType<IFieldSymbol>() 43ImmutableArray<IFieldSymbol> fields, 65bool IsAssignedToFieldOrProperty(ImmutableArray<IFieldSymbol> fields, ImmutableArray<IPropertySymbol> properties, IParameterSymbol parameter) 68bool IsAssignedToField(IFieldSymbol field, IParameterSymbol parameter)
src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_DisposePattern.cs (4)
46var disposedValueField = await CreateDisposedValueFieldAsync( 114IFieldSymbol disposedValueField) 132IFieldSymbol disposedValueField) 227private static async Task<IFieldSymbol> CreateDisposedValueFieldAsync(
src\Analyzers\Core\CodeFixes\MakeFieldReadonly\AbstractMakeFieldReadonlyCodeFixProvider.cs (2)
79var symbol = (IFieldSymbol?)model.GetDeclaredSymbol(declarator, cancellationToken);
UseAutoProperty\AbstractUseAutoPropertyCodeFixProvider.cs (7)
59IFieldSymbol fieldSymbol, 204field = (IFieldSymbol?)field.GetSymbolKey(cancellationToken).Resolve(compilation, cancellationToken: cancellationToken).Symbol; 291private async Task<(IFieldSymbol? fieldSymbol, IPropertySymbol? propertySymbol)> MapDiagnosticToCurrentSolutionAsync( 307var fieldSymbol = (IFieldSymbol)fieldSemanticModel.GetRequiredDeclaredSymbol(declarator, cancellationToken); 322fieldSymbol = fieldSymbol.GetSymbolKey(cancellationToken).Resolve(currentCompilation, cancellationToken: cancellationToken).GetAnySymbol() as IFieldSymbol; 393IFieldSymbol field, LightweightRenameLocations renameLocations, TPropertyDeclaration propertyDeclaration, CancellationToken cancellationToken)
ValueTracking\ValueTracker.cs (2)
30or IFieldSymbol 87case IFieldSymbol:
Microsoft.CodeAnalysis.Features.UnitTests (5)
FindUsages\DefinitionItemFactoryTests.cs (5)
665var c = compilation.GetMember<IFieldSymbol>("C.F").Type; 702var tuple = (INamedTypeSymbol)compilation.GetMember<IFieldSymbol>("C.F").Type; 764var tuple = (INamedTypeSymbol)compilation.GetMember<IFieldSymbol>("C.F").Type; 820var type = (INamedTypeSymbol)compilation.GetMember<IFieldSymbol>("C.F").Type; 874var type = (INamedTypeSymbol)compilation.GetMember<IFieldSymbol>("C.F").Type;
Microsoft.CodeAnalysis.LanguageServer (1)
Services\LspExtractClassOptionsService.cs (1)
30IFieldSymbol fieldSymbol => !fieldSymbol.IsImplicitlyDeclared,
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (96)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (9)
50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 346IFieldSymbol field => CreateFieldDeclaration(field, codeGenerationDestination, info, cancellationToken), 364IFieldSymbol field => AddField(currentDestination, field, info, availableIndices, cancellationToken), 375var field = members.OfType<IFieldSymbol>().FirstOrDefault(); 401public Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
13internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)> 64var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 67var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 74List<(IFieldSymbol field, ulong value)> allFieldsAndValues, 75List<(IFieldSymbol field, ulong value)> usedFieldsAndValues) 125var zeroField = GetZeroField(allFieldsAndValues); 138IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType) 153private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 169List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 173foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 192foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 206int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (3)
102public static IFieldSymbol CreateFieldSymbol( 589internal static IFieldSymbol CreateFieldSymbol( 590IFieldSymbol field,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (1)
36public static Task<Document> AddFieldDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (3)
27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractNamedTypeSymbol.cs (1)
18public ImmutableArray<IFieldSymbol> TupleElements { get; protected set; }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (6)
13private static readonly ConditionalWeakTable<IFieldSymbol, CodeGenerationFieldInfo> s_fieldToInfoMap = new(); 30IFieldSymbol field, 39private static CodeGenerationFieldInfo GetInfo(IFieldSymbol field) 48public static bool GetIsUnsafe(IFieldSymbol field) 54public static bool GetIsWithEvents(IFieldSymbol field) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (2)
34public new IFieldSymbol OriginalDefinition 42public IFieldSymbol CorrespondingTupleField => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (1)
83IFieldSymbol field => field.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
501.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
152if (memberReference.Member is IFieldSymbol or IPropertySymbol)
Microsoft.CodeAnalysis.PublicApiAnalyzers (52)
DeclarePublicApiAnalyzer.Impl.cs (2)
640else if (symbol is IFieldSymbol field) 939public override bool VisitField(IFieldSymbol symbol)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
Microsoft.CodeAnalysis.Remote.ServiceHub (2)
Services\EncapsulateField\RemoteEncapsulateFieldService.cs (2)
36using var _ = ArrayBuilder<IFieldSymbol>.GetInstance(out var fields); 41if (SymbolKey.ResolveString(key, compilation, cancellationToken: cancellationToken).GetAnySymbol() is not IFieldSymbol resolved)
Microsoft.CodeAnalysis.ResxSourceGenerator (50)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
Microsoft.CodeAnalysis.Test.Utilities (24)
Compilation\CompilationDifference.cs (1)
170var actual = EmitResult.Baseline.SynthesizedMembers.Single(e => e.Key.ToString() == typeName).Value.Where(s => s.Kind == SymbolKind.Field).Select(s => (IFieldSymbol)s.GetISymbol()).Select(f => f.Name + ": " + f.Type);
Compilation\OperationTreeVerifier.cs (1)
1524foreach (var local in operation.InitializedFields)
Compilation\TestOperationVisitor.cs (2)
1106foreach (var field in operation.InitializedFields) 1537case IFieldSymbol field:
CompilationVerifier.cs (1)
878.Select(f => $"{((IFieldSymbol)f.GetISymbol()).Type.ToString()} {f.Name}")
Diagnostics\CouldHaveMoreSpecificTypeAnalyzer.cs (8)
47Dictionary<IFieldSymbol, HashSet<INamedTypeSymbol>> fieldsSourceTypes = new Dictionary<IFieldSymbol, HashSet<INamedTypeSymbol>>(); 140foreach (IFieldSymbol initializedField in initializer.InitializedFields) 151foreach (IFieldSymbol field in fieldsSourceTypes.Keys) 232private static void AssignTo(IOperation target, Dictionary<ILocalSymbol, HashSet<INamedTypeSymbol>> localsSourceTypes, Dictionary<IFieldSymbol, HashSet<INamedTypeSymbol>> fieldsSourceTypes, IOperation sourceValue) 237private static void AssignTo(IOperation target, Dictionary<ILocalSymbol, HashSet<INamedTypeSymbol>> localsSourceTypes, Dictionary<IFieldSymbol, HashSet<INamedTypeSymbol>> fieldsSourceTypes, ITypeSymbol sourceType) 247IFieldSymbol targetField = ((IFieldReferenceOperation)target).Field; 298private void Report(CompilationAnalysisContext context, IFieldSymbol field, ITypeSymbol moreSpecificType, DiagnosticDescriptor descriptor)
Diagnostics\FieldCouldBeReadOnlyAnalyzer.cs (11)
39HashSet<IFieldSymbol> assignedToFields = new HashSet<IFieldSymbol>(); 40HashSet<IFieldSymbol> mightBecomeReadOnlyFields = new HashSet<IFieldSymbol>(); 91IFieldSymbol field = (IFieldSymbol)symbolContext.Symbol; 103foreach (IFieldSymbol couldBeReadOnlyField in mightBecomeReadOnlyFields) 111private static void AssignTo(IOperation target, bool inConstructor, ITypeSymbol staticConstructorType, HashSet<IFieldSymbol> assignedToFields, HashSet<IFieldSymbol> mightBecomeReadOnlyFields) 125IFieldSymbol targetField = fieldReference.Field; 142private void Report(CompilationAnalysisContext context, IFieldSymbol field, DiagnosticDescriptor descriptor)
Microsoft.CodeAnalysis.UnitTests (1)
Diagnostics\OperationTests.cs (1)
168ImmutableArray<IFieldSymbol>.Empty, ImmutableArray<ILocalSymbol>.Empty,
Microsoft.CodeAnalysis.VisualBasic (37)
Binding\MemberSemanticModel.vb (1)
562Public Overrides Function GetDeclaredSymbol(declarationSyntax As EnumMemberDeclarationSyntax, Optional cancellationToken As CancellationToken = Nothing) As IFieldSymbol
Compilation\SemanticModel.vb (1)
2547Public MustOverride Overloads Function GetDeclaredSymbol(declarationSyntax As EnumMemberDeclarationSyntax, Optional cancellationToken As CancellationToken = Nothing) As IFieldSymbol
Compilation\SpeculativeSemanticModelWithMemberModel.vb (1)
181Public Overrides Function GetDeclaredSymbol(declarationSyntax As EnumMemberDeclarationSyntax, Optional cancellationToken As CancellationToken = Nothing) As IFieldSymbol
Compilation\SyntaxTreeSemanticModel.vb (2)
1153Public Overrides Function GetDeclaredSymbol(declarationSyntax As EnumMemberDeclarationSyntax, Optional cancellationToken As CancellationToken = Nothing) As IFieldSymbol 1366Dim field = TryCast(Me.GetDeclaredSymbol(identifier, cancellationToken), IFieldSymbol)
Operations\VisualBasicOperationFactory.vb (3)
919Dim field As IFieldSymbol = boundFieldAccess.FieldSymbol 991Dim initializedFields As ImmutableArray(Of IFieldSymbol) = boundFieldInitializer.InitializedFields.As(Of IFieldSymbol)
SymbolDisplay\SymbolDisplayVisitor.Members.vb (3)
11Public Overrides Sub VisitField(symbol As IFieldSymbol) 596Private Sub AddFieldModifiersIfRequired(symbol As IFieldSymbol) 618Dim isConst = symbol.Kind = SymbolKind.Field AndAlso DirectCast(symbol, IFieldSymbol).IsConst
SymbolDisplay\SymbolDisplayVisitor.Types.vb (1)
384Dim elements As ImmutableArray(Of IFieldSymbol) = symbol.TupleElements
Symbols\FieldSymbol.vb (19)
87Public MustOverride ReadOnly Property IsReadOnly As Boolean Implements IFieldSymbol.IsReadOnly 404Private ReadOnly Property IFieldSymbol_AssociatedSymbol As ISymbol Implements IFieldSymbol.AssociatedSymbol 422Private ReadOnly Property IFieldSymbol_IsConst As Boolean Implements IFieldSymbol.IsConst 428Private ReadOnly Property IFieldSymbol_IsVolatile As Boolean Implements IFieldSymbol.IsVolatile, IFieldSymbolInternal.IsVolatile 434Private ReadOnly Property IFieldSymbol_IsRequired As Boolean Implements IFieldSymbol.IsRequired 440Private ReadOnly Property IFieldSymbol_IsFixedSizeBuffer As Boolean Implements IFieldSymbol.IsFixedSizeBuffer 446Private ReadOnly Property IFieldSymbol_FixedSize As Integer Implements IFieldSymbol.FixedSize 455Private ReadOnly Property IFieldSymbol_RefKind As RefKind Implements IFieldSymbol.RefKind 464Private ReadOnly Property IFieldSymbol_RefCustomModifiers As ImmutableArray(Of CustomModifier) Implements IFieldSymbol.RefCustomModifiers 470Private ReadOnly Property IFieldSymbol_Type As ITypeSymbol Implements IFieldSymbol.Type 476Private ReadOnly Property IFieldSymbol_NullableAnnotation As NullableAnnotation Implements IFieldSymbol.NullableAnnotation 482Private ReadOnly Property IFieldSymbol_HasConstantValue As Boolean Implements IFieldSymbol.HasConstantValue 488Private ReadOnly Property IFieldSymbol_ConstantValue As Object Implements IFieldSymbol.ConstantValue 494Private ReadOnly Property IFieldSymbol_CustomModifiers As ImmutableArray(Of CustomModifier) Implements IFieldSymbol.CustomModifiers 500Private ReadOnly Property IFieldSymbol_OriginalDefinition As IFieldSymbol Implements IFieldSymbol.OriginalDefinition 506Private ReadOnly Property IFieldSymbol_CorrespondingTupleField As IFieldSymbol Implements IFieldSymbol.CorrespondingTupleField 512Private ReadOnly Property IFieldSymbol_HasExplicitTupleElementName As Boolean Implements IFieldSymbol.IsExplicitlyNamedTupleElement
Symbols\NamedTypeSymbol.vb (2)
1477Private ReadOnly Property INamedTypeSymbol_TupleElements As ImmutableArray(Of IFieldSymbol) Implements INamedTypeSymbol.TupleElements 1479Return StaticCast(Of IFieldSymbol).From(TupleElements)
Symbols\TypedConstant.vb (2)
80Dim field = TryCast(member, IFieldSymbol) 145Dim field = TryCast(member, IFieldSymbol)
VisualBasicExtensions.vb (2)
599Public Function AssociatedField(eventSymbol As IEventSymbol) As IFieldSymbol 954Public Function GetDeclaredSymbol(semanticModel As SemanticModel, declarationSyntax As EnumMemberDeclarationSyntax, Optional cancellationToken As CancellationToken = Nothing) As IFieldSymbol
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (2)
src\Analyzers\VisualBasic\Analyzers\UseAutoProperty\VisualBasicUseAutoPropertyAnalyzer.vb (2)
42ineligibleFieldUsageIfOutsideProperty As ConcurrentDictionary(Of IFieldSymbol, ConcurrentSet(Of SyntaxNode)), 142Protected Overrides Sub AddAccessedFields(semanticModel As SemanticModel, accessor As IMethodSymbol, fieldNames As HashSet(Of String), result As HashSet(Of IFieldSymbol), cancellationToken As CancellationToken)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (11)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\EnumMemberGenerator.vb (3)
15enumMember As IFieldSymbol, 32Public Function GenerateEnumMemberDeclaration(enumMember As IFieldSymbol, 52Private Function CreateEnumMemberValue(destinationOpt As EnumBlockSyntax, enumMember As IFieldSymbol) As ExpressionSyntax
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\FieldGenerator.vb (5)
45field As IFieldSymbol, 56field As IFieldSymbol, 70field As IFieldSymbol, 94Private Function GenerateEqualsValue(generator As SyntaxGenerator, field As IFieldSymbol) As EqualsValueSyntax 103Private Function GenerateModifiers(field As IFieldSymbol,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (2)
103field As IFieldSymbol, 554Public Overrides Function CreateFieldDeclaration(field As IFieldSymbol,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicTypeInferenceService.TypeInferrer.vb (1)
615Return CreateResult(DirectCast(symbol, IFieldSymbol).Type)
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (33)
CodeGen\CodeGenTuples.vb (33)
5777Assert.True(DirectCast(mFirst, IFieldSymbol).IsExplicitlyNamedTupleElement) 5796Assert.False(DirectCast(mItem1, IFieldSymbol).IsExplicitlyNamedTupleElement) 6898Assert.All(tupleWithoutNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 6951Assert.All(tupleWithoutNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 6971Assert.All(tupleWithoutNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 6992Assert.All(tupleWithSomeNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 7010Assert.All(tupleWithoutNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 7035Assert.All(tuple8WithoutNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 7060Assert.All(tuple8WithNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 7085Assert.All(tuple9WithoutNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 7110Assert.All(tuple9WithNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 7135Assert.All(tuple9WithNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 7159Assert.All(tupleWithoutNames.GetMembers().OfType(Of IFieldSymbol)().Select(Function(f) f.Locations.FirstOrDefault()), 7544Dim tuple1 = DirectCast(DirectCast(comp.GetMember("Program.F"), IFieldSymbol).Type, INamedTypeSymbol) 7576Dim tuple1 = DirectCast(DirectCast(comp.GetMember("Program.F"), IFieldSymbol).Type, INamedTypeSymbol) 7608Dim tuple1 = DirectCast(DirectCast(comp.GetMember("Program.F"), IFieldSymbol).Type, INamedTypeSymbol) 7643Dim tuple1 = DirectCast(DirectCast(comp.GetMember("Program.F"), IFieldSymbol).Type, INamedTypeSymbol) 7669Dim tuple1 = DirectCast(DirectCast(comp.GetMember("Program.F"), IFieldSymbol).Type, INamedTypeSymbol) 7704Dim tuple1 = DirectCast(DirectCast(comp.GetMember("Program.F"), IFieldSymbol).Type, INamedTypeSymbol) 15384Assert.False(DirectCast(m3Item8, IFieldSymbol).IsExplicitlyNamedTupleElement) 15546Assert.False(DirectCast(m4Item8, IFieldSymbol).IsExplicitlyNamedTupleElement) 15566Assert.True(DirectCast(m4h4, IFieldSymbol).IsExplicitlyNamedTupleElement) 15800Assert.True(DirectCast(m5Item8, IFieldSymbol).IsExplicitlyNamedTupleElement) 16155Assert.False(DirectCast(m8Item8, IFieldSymbol).IsExplicitlyNamedTupleElement) 16175Assert.True(DirectCast(m8Item1, IFieldSymbol).IsExplicitlyNamedTupleElement) 16352Assert.False(DirectCast(m1Item1, IFieldSymbol).IsExplicitlyNamedTupleElement) 16375Assert.False(DirectCast(m2Item1, IFieldSymbol).IsExplicitlyNamedTupleElement) 16395Assert.True(DirectCast(m2a2, IFieldSymbol).IsExplicitlyNamedTupleElement) 23122VerifyTypeFromCSharp(DirectCast(DirectCast(containingType.GetMembers("F0").Single(), IFieldSymbol).Type, INamedTypeSymbol), TupleUnderlyingTypeValue.Nothing, "System.ValueTuple", "()") 23123VerifyTypeFromCSharp(DirectCast(DirectCast(containingType.GetMembers("F1").Single(), IFieldSymbol).Type, INamedTypeSymbol), TupleUnderlyingTypeValue.Nothing, "(System.Int32, System.Int32)", "(System.Int32, System.Int32)") 23124VerifyTypeFromCSharp(DirectCast(DirectCast(containingType.GetMembers("F2").Single(), IFieldSymbol).Type, INamedTypeSymbol), TupleUnderlyingTypeValue.Distinct, "(System.Int32 A, System.Int32 B)", "(A As System.Int32, B As System.Int32)") 23125VerifyTypeFromCSharp(DirectCast(DirectCast(containingType.GetMembers("F3").Single(), IFieldSymbol).Type, INamedTypeSymbol), TupleUnderlyingTypeValue.Nothing, "(System.Object, System.Object, System.Object, System.Object, System.Object, System.Object, System.Object, System.Object)", "(System.Object, System.Object, System.Object, System.Object, System.Object, System.Object, System.Object, System.Object)") 23126VerifyTypeFromCSharp(DirectCast(DirectCast(containingType.GetMembers("F4").Single(), IFieldSymbol).Type, INamedTypeSymbol), TupleUnderlyingTypeValue.Distinct, "(System.Object, System.Object B, System.Object, System.Object D, System.Object, System.Object F, System.Object, System.Object H)", "(System.Object, B As System.Object, System.Object, D As System.Object, System.Object, F As System.Object, System.Object, H As System.Object)")
Microsoft.CodeAnalysis.VisualBasic.Features (24)
Completion\CompletionProviders\EnumCompletionProvider.vb (2)
68If member.Kind = SymbolKind.Field AndAlso DirectCast(member, IFieldSymbol).IsConst AndAlso member.IsEditorBrowsable(options.MemberDisplayOptions.HideAdvancedMembers, syntaxContext.SemanticModel.Compilation) Then 91Dim symbolType = If(TryCast(symbol, IFieldSymbol)?.Type,
EncapsulateField\VisualBasicEncapsulateFieldService.vb (5)
71Protected Overrides Async Function GetFieldsAsync(document As Document, span As TextSpan, cancellationToken As CancellationToken) As Task(Of ImmutableArray(Of IFieldSymbol)) 89OfType(Of IFieldSymbol)(). 107Protected Overrides Function GenerateFieldAndPropertyNames(field As IFieldSymbol) As (fieldName As String, propertyName As String) 123Private Shared Function IsShadows(field As IFieldSymbol) As Boolean 127Private Shared Function MakeUnique(propertyName As String, field As IFieldSymbol) As String
GenerateConstructors\VisualBasicGenerateConstructorsCodeRefactoringProvider.vb (1)
45Protected Overrides Function TryMapToWritableInstanceField([property] As IPropertySymbol, cancellationToken As CancellationToken) As IFieldSymbol
LanguageServices\VisualBasicSymbolDisplayService.SymbolDescriptionBuilder.vb (3)
81ElseIf TypeOf symbol Is IFieldSymbol Then 82Return GetInitializerSourcePartsAsync(DirectCast(symbol, IFieldSymbol)) 140Private Overloads Async Function GetInitializerSourcePartsAsync(symbol As IFieldSymbol) As Task(Of ImmutableArray(Of SymbolDisplayPart))
QuickInfo\VisualBasicSemanticQuickInfoProvider.vb (2)
184ElseIf TypeOf symbol Is IFieldSymbol Then 185Return DirectCast(symbol, IFieldSymbol).Type
ReplacePropertyWithMethods\VisualBasicReplacePropertyWithMethods.vb (4)
30propertyBackingField As IFieldSymbol, 51propertyBackingField As IFieldSymbol, 83propertyBackingField As IFieldSymbol, 116propertyBackingField As IFieldSymbol,
SignatureHelp\AttributeSignatureHelpProvider.vb (3)
143Dim type = If(TypeOf namedParameter Is IFieldSymbol, 144DirectCast(namedParameter, IFieldSymbol).Type, 150If(TypeOf namedParameter Is IFieldSymbol, SymbolDisplayPartKind.FieldName, SymbolDisplayPartKind.PropertyName),
src\Analyzers\VisualBasic\Analyzers\UseAutoProperty\VisualBasicUseAutoPropertyAnalyzer.vb (2)
42ineligibleFieldUsageIfOutsideProperty As ConcurrentDictionary(Of IFieldSymbol, ConcurrentSet(Of SyntaxNode)), 142Protected Overrides Sub AddAccessedFields(semanticModel As SemanticModel, accessor As IMethodSymbol, fieldNames As HashSet(Of String), result As HashSet(Of IFieldSymbol), cancellationToken As CancellationToken)
UseAutoProperty\VisualBasicUseAutoPropertyCodeFixProvider.vb (2)
50fieldSymbol As IFieldSymbol, 94Private Shared Async Function GetFieldInitializerAsync(fieldSymbol As IFieldSymbol, cancellationToken As CancellationToken) As Task(Of (equalsValue As EqualsValueSyntax, asNewClause As AsNewClauseSyntax, arrayBounds As ArgumentListSyntax))
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (5)
Compilation\SemanticModelAPITests.vb (2)
4658Dim symbol = DirectCast(semanticModel.GetSymbolInfo(node).Symbol, IFieldSymbol) 4793Dim symbol = DirectCast(semanticModel.GetSymbolInfo(node).Symbol, IFieldSymbol)
Diagnostics\GetDiagnosticsTests.vb (1)
722For Each field In namedType.GetMembers().OfType(Of IFieldSymbol)
Semantics\RefFieldTests.vb (2)
119Assert.Equal(CodeAnalysis.RefKind.None, DirectCast(field, IFieldSymbol).RefKind) 120Assert.Empty(DirectCast(field, IFieldSymbol).RefCustomModifiers)
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (1)
SymbolsTests\Source\FieldTests.vb (1)
549Dim goo = DirectCast(s.GetMember(Of FieldSymbol)("goo"), IFieldSymbol)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (17)
Classification\SyntaxClassification\NameSyntaxClassifier.vb (2)
122Dim classification = GetClassificationForField(DirectCast(symbol, IFieldSymbol)) 196Private Shared Function GetClassificationForField(fieldSymbol As IFieldSymbol) As String
Recommendations\VisualBasicRecommendationServiceRunner.vb (2)
85Dim field = DirectCast(symbol, IFieldSymbol) 366Dim associatedSymbol = DirectCast(s, IFieldSymbol).AssociatedSymbol
Rename\VisualBasicRenameRewriterLanguageService.vb (1)
318Dim fieldSymbol = DirectCast(symbol, IFieldSymbol)
Simplification\Reducers\VisualBasicVariableDeclaratorReducer.vb (1)
148(TypeOf declaredSymbol IsNot ILocalSymbol AndAlso TypeOf declaredSymbol IsNot IFieldSymbol) Then
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\EnumMemberGenerator.vb (3)
15enumMember As IFieldSymbol, 32Public Function GenerateEnumMemberDeclaration(enumMember As IFieldSymbol, 52Private Function CreateEnumMemberValue(destinationOpt As EnumBlockSyntax, enumMember As IFieldSymbol) As ExpressionSyntax
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\FieldGenerator.vb (5)
45field As IFieldSymbol, 56field As IFieldSymbol, 70field As IFieldSymbol, 94Private Function GenerateEqualsValue(generator As SyntaxGenerator, field As IFieldSymbol) As EqualsValueSyntax 103Private Function GenerateModifiers(field As IFieldSymbol,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (2)
103field As IFieldSymbol, 554Public Overrides Function CreateFieldDeclaration(field As IFieldSymbol,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicTypeInferenceService.TypeInferrer.vb (1)
615Return CreateResult(DirectCast(symbol, IFieldSymbol).Type)
Microsoft.CodeAnalysis.VisualBasic.Workspaces.UnitTests (3)
CodeGeneration\SyntaxGeneratorTests.vb (3)
3470Dim symbolX = DirectCast(symbolC.GetMembers("X").First(), IFieldSymbol) 3471Dim symbolY = DirectCast(symbolC.GetMembers("Y").First(), IFieldSymbol) 3472Dim symbolZ = DirectCast(symbolC.GetMembers("Z").First(), IFieldSymbol)
Microsoft.CodeAnalysis.Workspaces (95)
Editing\DeclarationModifiers.cs (3)
65or IFieldSymbol 70var field = symbol as IFieldSymbol;
Editing\SyntaxGenerator.cs (3)
131public SyntaxNode FieldDeclaration(IFieldSymbol field) 142public SyntaxNode FieldDeclaration(IFieldSymbol field, SyntaxNode? initializer) 722return FieldDeclaration((IFieldSymbol)symbol);
FindSymbols\FindReferences\Finders\AbstractMemberScopedReferenceFinder.cs (1)
84if (current is IFieldSymbol field)
FindSymbols\FindReferences\Finders\EventSymbolReferenceFinder.cs (1)
27.OfType<IFieldSymbol>()
FindSymbols\FindReferences\Finders\FieldSymbolReferenceFinder.cs (5)
13internal sealed class FieldSymbolReferenceFinder : AbstractReferenceFinder<IFieldSymbol> 15protected override bool CanFind(IFieldSymbol symbol) 19IFieldSymbol symbol, 30IFieldSymbol symbol, 44IFieldSymbol symbol,
FindSymbols\FindReferences\Finders\PropertySymbolReferenceFinder.cs (1)
56if (member is IFieldSymbol field &&
Recommendations\AbstractRecommendationServiceRunner.cs (1)
540: [.. symbols.Where(s => s is not IFieldSymbol), .. namedType.TupleElements];
Rename\RenameUtilities.cs (1)
346if (symbol is IFieldSymbol { IsImplicitlyDeclared: true, AssociatedSymbol: IPropertySymbol associatedProperty })
Rename\SymbolicRenameLocations.ReferenceProcessing.cs (1)
51if (referencedSymbol.Kind == SymbolKind.Field && originalSymbol.Equals(((IFieldSymbol)referencedSymbol).AssociatedSymbol))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (9)
50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 346IFieldSymbol field => CreateFieldDeclaration(field, codeGenerationDestination, info, cancellationToken), 364IFieldSymbol field => AddField(currentDestination, field, info, availableIndices, cancellationToken), 375var field = members.OfType<IFieldSymbol>().FirstOrDefault(); 401public Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
13internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)> 64var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 67var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 74List<(IFieldSymbol field, ulong value)> allFieldsAndValues, 75List<(IFieldSymbol field, ulong value)> usedFieldsAndValues) 125var zeroField = GetZeroField(allFieldsAndValues); 138IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType) 153private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 169List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 173foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 192foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 206int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (3)
102public static IFieldSymbol CreateFieldSymbol( 589internal static IFieldSymbol CreateFieldSymbol( 590IFieldSymbol field,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (1)
36public static Task<Document> AddFieldDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (3)
27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractNamedTypeSymbol.cs (1)
18public ImmutableArray<IFieldSymbol> TupleElements { get; protected set; }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (6)
13private static readonly ConditionalWeakTable<IFieldSymbol, CodeGenerationFieldInfo> s_fieldToInfoMap = new(); 30IFieldSymbol field, 39private static CodeGenerationFieldInfo GetInfo(IFieldSymbol field) 48public static bool GetIsUnsafe(IFieldSymbol field) 54public static bool GetIsWithEvents(IFieldSymbol field) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (2)
34public new IFieldSymbol OriginalDefinition 42public IFieldSymbol CorrespondingTupleField => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (1)
83IFieldSymbol field => field.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
501.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
152if (memberReference.Member is IFieldSymbol or IPropertySymbol)
Microsoft.CodeAnalysis.Workspaces.UnitTests (26)
FindReferencesTests.cs (2)
129var symbol = (IFieldSymbol)(await project.GetCompilationAsync()).GetTypeByMetadataName("C").GetMembers("X").First();
SymbolKeyTests.cs (14)
151Assert.True(symbols.Any(s => s is IFieldSymbol { MetadataName: "" })); 167Assert.True(symbols.Any(s => s is IFieldSymbol { MetadataName: "" })); 183Assert.True(symbols.Any(s => s is IFieldSymbol { MetadataName: "" })); 198Assert.False(symbols.Any(s => s is IFieldSymbol { MetadataName: "" })); 213Assert.True(symbols.Any(s => s is IFieldSymbol { MetadataName: "" })); 228Assert.False(symbols.Any(s => s is IFieldSymbol { MetadataName: "" })); 243Assert.True(symbols.Any(s => s is IFieldSymbol { MetadataName: "" })); 258Assert.False(symbols.Any(s => s is IFieldSymbol { MetadataName: "" })); 273Assert.True(symbols.Any(s => s is IFieldSymbol { MetadataName: "" })); 359TestRoundTrip(GetDeclaredSymbols(compilation).OfType<IFieldSymbol>().Select(fs => fs.Type), compilation); 377TestRoundTrip(GetDeclaredSymbols(compilation).OfType<IFieldSymbol>().Select(fs => fs.Type), compilation, s => s.ToDisplayString()); 685var refSymbols = GetDeclaredSymbols(compilation).OfType<IFieldSymbol>().Select(f => f.Type).ToList(); 704var symbols = GetDeclaredSymbols(compilation).OfType<IFieldSymbol>().Select(f => f.Type).ToList(); 1257var fields = GetDeclaredSymbols(comp).OfType<IFieldSymbol>().Select(f => f.Type);
UtilityTest\DocumentationCommentIdTests.cs (10)
127CheckDeclarationId<IFieldSymbol>("F:Acme.ValueType.total", compilation, s => s.Name == "total"); 128CheckDeclarationId<IFieldSymbol>("F:Acme.Widget.NestedClass.value", compilation, s => s.Name == "value"); 129CheckDeclarationId<IFieldSymbol>("F:Acme.Widget.message", compilation, s => s.Name == "message"); 130CheckDeclarationId<IFieldSymbol>("F:Acme.Widget.defaultColor", compilation, s => s.Name == "defaultColor"); 131CheckDeclarationId<IFieldSymbol>("F:Acme.Widget.PI", compilation, s => s.Name == "PI"); 132CheckDeclarationId<IFieldSymbol>("F:Acme.Widget.monthlyAverage", compilation, s => s.Name == "monthlyAverage"); 133CheckDeclarationId<IFieldSymbol>("F:Acme.Widget.array1", compilation, s => s.Name == "array1"); 134CheckDeclarationId<IFieldSymbol>("F:Acme.Widget.array2", compilation, s => s.Name == "array2"); 135CheckDeclarationId<IFieldSymbol>("F:Acme.Widget.pCount", compilation, s => s.Name == "pCount"); 136CheckDeclarationId<IFieldSymbol>("F:Acme.Widget.ppValues", compilation, s => s.Name == "ppValues");
Microsoft.Extensions.Logging.Generators (2)
LoggerMessageGenerator.Parser.cs (2)
649foreach (IFieldSymbol fs in currentClassType.GetMembers().OfType<IFieldSymbol>())
Microsoft.Gen.ComplianceReports (2)
Parser.cs (2)
147foreach (var field in typeSymbol.GetMembers().OfType<IFieldSymbol>())
Microsoft.Gen.Logging (2)
Parsing\Parser.cs (1)
652IFieldSymbol fs => fs.Type,
Parsing\Parser.Records.cs (1)
67IFieldSymbol field => new(field.Name, field.Type, Property: null),
Microsoft.Gen.MetadataExtractor (5)
src\Generators\Microsoft.Gen.ComplianceReports\Parser.cs (2)
147foreach (var field in typeSymbol.GetMembers().OfType<IFieldSymbol>())
src\Generators\Microsoft.Gen.Metrics\Parser.cs (3)
377if (symbol is not IFieldSymbol fieldSymbol || 706var fieldSymbol = member as IFieldSymbol;
Microsoft.Gen.Metrics (3)
Parser.cs (3)
377if (symbol is not IFieldSymbol fieldSymbol || 706var fieldSymbol = member as IFieldSymbol;
Microsoft.Gen.MetricsReports (3)
src\Generators\Microsoft.Gen.Metrics\Parser.cs (3)
377if (symbol is not IFieldSymbol fieldSymbol || 706var fieldSymbol = member as IFieldSymbol;
Microsoft.Interop.LibraryImportGenerator (1)
Analyzers\NativeMarshallingAttributeAnalyzer.cs (1)
171IFieldSymbol field => field.Type,
Microsoft.Interop.SourceGeneration (2)
TypeSymbolExtensions.cs (2)
156foreach (IFieldSymbol field in type.GetMembers().OfType<IFieldSymbol>())
Microsoft.Maui.Controls.BindingSourceGen (3)
BindingSourceGenerator.cs (2)
267 IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly, 275 IFieldSymbol fieldSymbol => fieldSymbol.Type.IsTypeNullable(enabledNullable),
ISymbolExtensions.cs (1)
16 IFieldSymbol _ => AccessorKind.Field,
Microsoft.ML.InternalCodeAnalyzer (5)
ContractsCheckAnalyzer.cs (2)
152var field = context.SemanticModel.GetSymbolInfo(access).Symbol as IFieldSymbol;
ContractsCheckNameofFixProvider.cs (1)
139foreach (IFieldSymbol s in type.GetMembers().Where(p => p.Kind == SymbolKind.Field))
InstanceInitializerAnalyzer.cs (2)
42var symbol = (IFieldSymbol)context.Symbol;
Microsoft.VisualStudio.LanguageServices (4)
Library\ObjectBrowser\AbstractDescriptionBuilder.cs (2)
211await BuildFieldDeclarationAsync((IFieldSymbol)symbol, options, cancellationToken).ConfigureAwait(true); 236protected abstract Task BuildFieldDeclarationAsync(IFieldSymbol fieldSymbol, _VSOBJDESCOPTIONS options, CancellationToken cancellationToken);
Library\ObjectBrowser\Lists\MemberListItem.cs (2)
24var fieldSymbol = (IFieldSymbol)symbol;
Microsoft.VisualStudio.LanguageServices.CSharp (10)
CodeModel\CSharpCodeModelService_Prototype.cs (7)
30return GetVariablePrototype((IFieldSymbol)symbol, flags); 59return GetVariablePrototype(variableDeclarator, (IFieldSymbol)symbol, flags); 61return GetVariablePrototype(enumMember, (IFieldSymbol)symbol, flags); 222private string GetVariablePrototype(IFieldSymbol symbol, PrototypeFlags flags) 243private string GetVariablePrototype(VariableDeclaratorSyntax node, IFieldSymbol symbol, PrototypeFlags flags) 273private string GetVariablePrototype(EnumMemberDeclarationSyntax node, IFieldSymbol symbol, PrototypeFlags flags) 476private void AppendVariablePrototype(StringBuilder builder, IFieldSymbol symbol, PrototypeFlags flags, string baseName)
ObjectBrowser\DescriptionBuilder.cs (3)
244var fieldSymbol = memberSymbol as IFieldSymbol; 466IFieldSymbol fieldSymbol, _VSOBJDESCOPTIONS options, CancellationToken cancellationToken)
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (1)
GlyphExtensionsTests.cs (1)
239var fieldMock = symbolMock.As<IFieldSymbol>();
Microsoft.VisualStudio.LanguageServices.VisualBasic (5)
CodeModel\VisualBasicCodeModelService.vb (1)
1397Dim fieldSymbol = TryCast(symbol, IFieldSymbol)
CodeModel\VisualBasicCodeModelService_Prototype.vb (2)
34Return GetVariablePrototype(DirectCast(symbol, IFieldSymbol), flags) 105Private Shared Function GetVariablePrototype(symbol As IFieldSymbol, flags As PrototypeFlags) As String
ObjectBrowser\DescriptionBuilder.vb (2)
241fieldSymbol As IFieldSymbol, 357Dim fieldSymbol = TryCast(memberSymbol, IFieldSymbol)
Roslyn.Diagnostics.Analyzers (111)
AbstractDoNotCopyValue.cs (5)
276public override void VisitField(IFieldSymbol symbol) 712foreach (var field in operation.InitializedFields) 1399var field = ((IFieldReferenceOperation)operation).Field; 1475private void CheckFieldSymbolInUnsupportedContext(IOperation operation, IFieldSymbol? field) 1522CheckFieldSymbolInUnsupportedContext(operation, (IFieldSymbol)symbol);
AbstractExposeMemberForTesting`1.cs (6)
67case IFieldSymbol: 112var accessorField = testAccessorType.GetMembers().OfType<IFieldSymbol>().FirstOrDefault(field => field.Type.Equals(containingType)); 122case IFieldSymbol fieldSymbol: 170private SyntaxNode GenerateTestAccessorForField(IFieldSymbol fieldSymbol, string memberName, SyntaxGenerator syntaxGenerator, IFieldSymbol accessorField)
DefaultableTypeShouldHaveDefaultableFieldsAnalyzer.cs (3)
58AnalyzeField(context, (IFieldSymbol)context.Symbol, nonDefaultableAttribute, knownNonDefaultableTypes); 72AnalyzeField(context, (IFieldSymbol)member, nonDefaultableAttribute, knownNonDefaultableTypes); 76private static void AnalyzeField(SymbolAnalysisContext originalContext, IFieldSymbol field, INamedTypeSymbol nonDefaultableAttribute, ConcurrentDictionary<ITypeSymbol, bool> knownNonDefaultableTypes)
ImportingConstructorShouldBeObsoleteCodeFixProvider.cs (1)
212mefConstructionType.GetMembers("ImportingConstructorMessage").OfType<IFieldSymbol>().Any())
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (9)
50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 346IFieldSymbol field => CreateFieldDeclaration(field, codeGenerationDestination, info, cancellationToken), 364IFieldSymbol field => AddField(currentDestination, field, info, availableIndices, cancellationToken), 375var field = members.OfType<IFieldSymbol>().FirstOrDefault(); 401public Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
13internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)> 64var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 67var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 74List<(IFieldSymbol field, ulong value)> allFieldsAndValues, 75List<(IFieldSymbol field, ulong value)> usedFieldsAndValues) 125var zeroField = GetZeroField(allFieldsAndValues); 138IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType) 153private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 169List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 173foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 192foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 206int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (3)
102public static IFieldSymbol CreateFieldSymbol( 589internal static IFieldSymbol CreateFieldSymbol( 590IFieldSymbol field,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (1)
36public static Task<Document> AddFieldDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (3)
27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractNamedTypeSymbol.cs (1)
18public ImmutableArray<IFieldSymbol> TupleElements { get; protected set; }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (6)
13private static readonly ConditionalWeakTable<IFieldSymbol, CodeGenerationFieldInfo> s_fieldToInfoMap = new(); 30IFieldSymbol field, 39private static CodeGenerationFieldInfo GetInfo(IFieldSymbol field) 48public static bool GetIsUnsafe(IFieldSymbol field) 54public static bool GetIsWithEvents(IFieldSymbol field) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (2)
34public new IFieldSymbol OriginalDefinition 42public IFieldSymbol CorrespondingTupleField => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (1)
83IFieldSymbol field => field.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
501.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
152if (memberReference.Member is IFieldSymbol or IPropertySymbol)
Roslyn.Diagnostics.CSharp.Analyzers (17)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
334if (exprSymbol is not IFieldSymbol { IsConst: true })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (1)
707if (castedSymbol is not IFieldSymbol and not ILocalSymbol and not IParameterSymbol and not IParameterSymbol { RefKind: RefKind.Ref })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
277if (symbol is IFieldSymbol
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (2)
97protected override TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CSharpCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) 664public override SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (3)
23internal static EnumDeclarationSyntax AddEnumMemberTo(EnumDeclarationSyntax destination, IFieldSymbol enumMember, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 53IFieldSymbol enumMember, 73EnumDeclarationSyntax? destination, IFieldSymbol enumMember)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\FieldGenerator.cs (5)
55IFieldSymbol field, 71IFieldSymbol field, 87IFieldSymbol field, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 110private static EqualsValueClauseSyntax? GenerateEqualsValue(IFieldSymbol field) 121private static SyntaxTokenList GenerateModifiers(IFieldSymbol field, CSharpCodeGenerationContextInfo info)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamedTypeGenerator.cs (1)
121members = members.WhereAsArray(m => m is not IPropertySymbol and not IFieldSymbol || !primaryConstructor.Parameters.Any(static (p, m) => p.Name == m.Name, m));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
254foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1480case IFieldSymbol field:
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (1)
76else if (fieldOrProperty is IFieldSymbol field)
Roslyn.Diagnostics.VisualBasic.Analyzers (11)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\EnumMemberGenerator.vb (3)
15enumMember As IFieldSymbol, 32Public Function GenerateEnumMemberDeclaration(enumMember As IFieldSymbol, 52Private Function CreateEnumMemberValue(destinationOpt As EnumBlockSyntax, enumMember As IFieldSymbol) As ExpressionSyntax
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\FieldGenerator.vb (5)
45field As IFieldSymbol, 56field As IFieldSymbol, 70field As IFieldSymbol, 94Private Function GenerateEqualsValue(generator As SyntaxGenerator, field As IFieldSymbol) As EqualsValueSyntax 103Private Function GenerateModifiers(field As IFieldSymbol,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (2)
103field As IFieldSymbol, 554Public Overrides Function CreateFieldDeclaration(field As IFieldSymbol,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicTypeInferenceService.TypeInferrer.vb (1)
615Return CreateResult(DirectCast(symbol, IFieldSymbol).Type)
Roslyn.Test.PdbUtilities (1)
EditAndContinue\EditAndContinueTest.GenerationVerifier.cs (1)
137.Select(s => (IFieldSymbol)s.GetISymbol()).Select(f => f.Name + ": " + f.Type);
SemanticSearch.BuildTask (6)
GenerateFilteredReferenceAssembliesTask.cs (6)
146var fields = new List<IFieldSymbol>(); 281List<IFieldSymbol> fields, 307case IFieldSymbol field: 373var fields = new List<IFieldSymbol>(); 511private static unsafe void UpdateFieldDefinitions(BinaryWriter writer, MetadataReader metadataReader, ImmutableArray<ApiPattern> patterns, ImmutableArray<IFieldSymbol> symbols, int metadataOffset) 519var symbol = GetSymbolWithToken(symbols, ref symbolIndex, handle);
System.Text.Json.SourceGeneration (10)
Helpers\RoslynExtensions.cs (5)
215Debug.Assert(member is IFieldSymbol or IPropertySymbol); 216return member is IFieldSymbol fs ? fs.Type : ((IPropertySymbol)member).Type; 221Debug.Assert(member is IFieldSymbol or IPropertySymbol); 222Debug.Assert(otherMember is IFieldSymbol or IPropertySymbol); 282public static void ResolveNullabilityAnnotations(this IFieldSymbol field, out bool isGetterNonNullable, out bool isSetterNonNullable)
JsonSourceGenerator.Parser.cs (5)
955foreach (IFieldSymbol fieldInfo in members.OfType<IFieldSymbol>()) 1128Debug.Assert(memberInfo is IFieldSymbol or IPropertySymbol); 1248Debug.Assert(memberInfo is IFieldSymbol or IPropertySymbol); 1411case IFieldSymbol fieldInfo:
System.Text.RegularExpressions.Generator (1)
UpgradeToGeneratedRegexCodeFixer.cs (1)
286argument.Value is IFieldReferenceOperation { Member: IFieldSymbol { IsConst: true } })
System.Windows.Forms.PrivateSourceGenerators (1)
System\Windows\Forms\SourceGenerators\EnumValidationInfo.cs (1)
20if (member is IFieldSymbol
Test.Utilities (38)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
Text.Analyzers (97)
IdentifiersShouldBeSpelledCorrectly.cs (1)
316case IFieldSymbol:
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
277SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context), 315SymbolKind.Field => FieldMetricData.Compute((IFieldSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (2)
15IFieldSymbol symbol, 27internal static FieldMetricData Compute(IFieldSymbol field, CodeMetricsAnalysisContext context)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (7)
73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 82filteredFieldsForComplexity.Contains((IFieldSymbol)child.Symbol)) 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 121builder ??= ImmutableHashSet.CreateBuilder<IFieldSymbol>(); 122builder.Add((IFieldSymbol)fieldData.Symbol); 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
153foreach (var field in ((IFieldInitializerOperation)operation).InitializedFields)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IPropertySymbolExtensions.cs (1)
20=> propertySymbol.ContainingType.GetMembers().OfType<IFieldSymbol>().Any(f => f.IsImplicitlyDeclared && propertySymbol.Equals(f.AssociatedSymbol));
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (5)
43public static bool IsPropertyWithBackingField([NotNullWhen(returnValue: true)] this ISymbol? symbol, [NotNullWhen(true)] out IFieldSymbol? backingField) 49if (member is IFieldSymbol associated && 232IFieldSymbol field => field.IsReadOnly, 363IFieldSymbol field => field.IsConst, 374IFieldSymbol field => field.IsReadOnly,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\SymbolSpecification.cs (2)
514if (kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsReadOnly) 522if ((kind == SymbolKind.Field && ((IFieldSymbol)symbol).IsConst) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (1)
67/// <item>Two <see cref="IFieldSymbol"/>s are the "same" if they have
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FieldSymbolKey.cs (4)
9private sealed class FieldSymbolKey : AbstractSymbolKey<IFieldSymbol> 13public sealed override void Create(IFieldSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IFieldSymbol? contextualSymbol, out string? failureReason) 31using var result = GetMembersOfNamedType<IFieldSymbol>(containingTypeResolution, metadataName);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
347public override void VisitField(IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.TupleTypeSymbolKey.cs (2)
27foreach (var element in symbol.TupleElements) 41foreach (var element in symbol.TupleElements)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
488var fieldSymbol = (IFieldSymbol)symbol;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IPropertySymbolExtensions.cs (2)
14public static IFieldSymbol? GetBackingFieldIfAny(this IPropertySymbol property) 16.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
321=> symbol is IFieldSymbol { ContainingType.IsTupleType: true }; 329IFieldSymbol fieldSymbol => !fieldSymbol.IsReadOnly && !fieldSymbol.IsConst, 335=> symbol is IFieldSymbol { IsRequired: true } or IPropertySymbol { IsRequired: true }; 340IFieldSymbol fieldSymbol => fieldSymbol.Type, 625IFieldSymbol fieldSymbol => fieldSymbol.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
46public override bool VisitField(IFieldSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (1)
690if (member is not IFieldSymbol fieldSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (8)
121SymbolKind.Field => FieldsAreEquivalent((IFieldSymbol)x, (IFieldSymbol)y, equivalentTypesWithDifferingAssemblies), 152private bool FieldsAreEquivalent(IFieldSymbol x, IFieldSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 433var xElement = xElements[i]; 434var yElement = yElements[i]; 450var xElement = xElements[i]; 451var yElement = yElements[i];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
65SymbolKind.Field => CombineHashCodes((IFieldSymbol)x, currentHash), 92private int CombineHashCodes(IFieldSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (9)
50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 346IFieldSymbol field => CreateFieldDeclaration(field, codeGenerationDestination, info, cancellationToken), 364IFieldSymbol field => AddField(currentDestination, field, info, availableIndices, cancellationToken), 375var field = members.OfType<IFieldSymbol>().FirstOrDefault(); 401public Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
13internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)> 64var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 67var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>(); 74List<(IFieldSymbol field, ulong value)> allFieldsAndValues, 75List<(IFieldSymbol field, ulong value)> usedFieldsAndValues) 125var zeroField = GetZeroField(allFieldsAndValues); 138IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType) 153private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 169List<(IFieldSymbol field, ulong value)> allFieldsAndValues) 173foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 192foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>()) 206int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (3)
102public static IFieldSymbol CreateFieldSymbol( 589internal static IFieldSymbol CreateFieldSymbol( 590IFieldSymbol field,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (1)
36public static Task<Document> AddFieldDeclarationAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (3)
27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138Task<Document> AddFieldAsync(CodeGenerationSolutionContext context, INamedTypeSymbol destination, IFieldSymbol field, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractNamedTypeSymbol.cs (1)
18public ImmutableArray<IFieldSymbol> TupleElements { get; protected set; }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (6)
13private static readonly ConditionalWeakTable<IFieldSymbol, CodeGenerationFieldInfo> s_fieldToInfoMap = new(); 30IFieldSymbol field, 39private static CodeGenerationFieldInfo GetInfo(IFieldSymbol field) 48public static bool GetIsUnsafe(IFieldSymbol field) 54public static bool GetIsWithEvents(IFieldSymbol field) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldSymbol.cs (2)
34public new IFieldSymbol OriginalDefinition 42public IFieldSymbol CorrespondingTupleField => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (1)
83IFieldSymbol field => field.Type,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
501.OfType<IFieldSymbol>()
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\InitializeParameterHelpersCore.cs (1)
152if (memberReference.Member is IFieldSymbol or IPropertySymbol)