8 implementations of IFieldSymbol
GenerateDocumentationAndConfigFiles (1)
Microsoft.CodeAnalysis.Analyzers (1)
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
Microsoft.CodeAnalysis.CSharp (1)
Microsoft.CodeAnalysis.Features (1)
Microsoft.CodeAnalysis.VisualBasic (1)
Microsoft.CodeAnalysis.Workspaces (1)
Roslyn.Diagnostics.Analyzers (1)
1342 references to IFieldSymbol
GenerateDocumentationAndConfigFiles (84)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
12internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)>
63var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
66var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
73List<(IFieldSymbol field, ulong value)> allFieldsAndValues,
74List<(IFieldSymbol field, ulong value)> usedFieldsAndValues)
124var zeroField = GetZeroField(allFieldsAndValues);
137IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType)
152private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
168List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
172foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
191foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
205int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
526.OfType<IFieldSymbol>()
ILLink.RoslynAnalyzer (29)
Microsoft.Analyzers.Local (2)
Microsoft.AspNetCore.App.Analyzers (1)
Microsoft.AspNetCore.Components.Analyzers (2)
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
Microsoft.AspNetCore.Mvc.Api.Analyzers (1)
Microsoft.CodeAnalysis (26)
Generated\Operations.Generated.cs (6)
936IFieldSymbol Field { get; }
2352ImmutableArray<IFieldSymbol> InitializedFields { get; }
5385internal FieldReferenceOperation(IFieldSymbol field, bool isDeclaration, IOperation? instance, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit)
5393public IFieldSymbol Field { get; }
7550internal FieldInitializerOperation(ImmutableArray<IFieldSymbol> initializedFields, ImmutableArray<ILocalSymbol> locals, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit)
7555public ImmutableArray<IFieldSymbol> InitializedFields { get; }
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)
834var builder = localizableStringsMap.GetOrAdd(containingType, _ => PooledConcurrentSet<(IFieldSymbol, IArgumentOperation)>.GetInstance());
1100foreach (var field in fieldInitializerOperation.InitializedFields)
1198var 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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
12internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)>
63var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
66var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
73List<(IFieldSymbol field, ulong value)> allFieldsAndValues,
74List<(IFieldSymbol field, ulong value)> usedFieldsAndValues)
124var zeroField = GetZeroField(allFieldsAndValues);
137IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType)
152private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
168List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
172foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
191foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
205int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
526.OfType<IFieldSymbol>()
Microsoft.CodeAnalysis.AnalyzerUtilities (68)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
Microsoft.CodeAnalysis.CodeStyle (83)
src\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
Microsoft.CodeAnalysis.CodeStyle.Fixes (66)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
12internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)>
63var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
66var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
73List<(IFieldSymbol field, ulong value)> allFieldsAndValues,
74List<(IFieldSymbol field, ulong value)> usedFieldsAndValues)
124var zeroField = GetZeroField(allFieldsAndValues);
137IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType)
152private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
168List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
172foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
191foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
205int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
526.OfType<IFieldSymbol>()
Microsoft.CodeAnalysis.CSharp (45)
Microsoft.CodeAnalysis.CSharp.CodeStyle (21)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructFieldsWritable\CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs (1)
79.OfType<IFieldSymbol>()
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (41)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
278if (symbol is IFieldSymbol
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1558case IFieldSymbol field:
Microsoft.CodeAnalysis.CSharp.Features (91)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructFieldsWritable\CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs (1)
79.OfType<IFieldSymbol>()
Microsoft.CodeAnalysis.CSharp.Workspaces (20)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
278if (symbol is IFieldSymbol
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1558case IFieldSymbol field:
Microsoft.CodeAnalysis.Extensions.Package (21)
Microsoft.CodeAnalysis.Features (193)
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)
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\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (10)
115private static ImmutableDictionary<IPropertySymbol, IFieldSymbol?> CreateDefinitionToBackingFieldMap(IEnumerable<ReferencedSymbol> propertyReferences)
117var definitionToBackingField = ImmutableDictionary.CreateBuilder<IPropertySymbol, IFieldSymbol?>(SymbolEquivalenceComparer.Instance);
153private static IFieldSymbol? GetBackingField(IPropertySymbol property)
155var field = property.GetBackingFieldIfAny();
194ImmutableDictionary<IPropertySymbol, IFieldSymbol?> propertyToBackingField,
214ImmutableDictionary<IPropertySymbol, IFieldSymbol?> propertyToBackingField,
235IDictionary<IPropertySymbol, IFieldSymbol?> propertyToBackingField,
275var fieldSymbol = propertyToBackingField.GetValueOrDefault(property);
297ImmutableDictionary<IPropertySymbol, IFieldSymbol?> definitionToBackingField,
347IDictionary<IPropertySymbol, IFieldSymbol?> definitionToBackingField,
src\roslyn\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\roslyn\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);
Microsoft.CodeAnalysis.ResxSourceGenerator (50)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
Microsoft.CodeAnalysis.VisualBasic (37)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (2)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (13)
Microsoft.CodeAnalysis.VisualBasic.Features (23)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (17)
Microsoft.CodeAnalysis.Workspaces (95)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
12internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)>
63var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
66var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
73List<(IFieldSymbol field, ulong value)> allFieldsAndValues,
74List<(IFieldSymbol field, ulong value)> usedFieldsAndValues)
124var zeroField = GetZeroField(allFieldsAndValues);
137IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType)
152private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
168List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
172foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
191foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
205int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
526.OfType<IFieldSymbol>()
Microsoft.DotNet.ApiCompatibility (8)
Microsoft.Extensions.Logging.Generators (2)
Microsoft.Gen.ComplianceReports (2)
Microsoft.Gen.Logging (2)
Microsoft.Gen.MetadataExtractor (5)
Microsoft.Gen.Metrics (3)
Microsoft.Gen.MetricsReports (3)
Microsoft.Interop.LibraryImportGenerator (1)
Microsoft.Interop.SourceGeneration (2)
Microsoft.Maui.Controls.BindingSourceGen (3)
Microsoft.ML.InternalCodeAnalyzer (5)
Roslyn.Diagnostics.Analyzers (111)
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)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\EnumValueUtilities.cs (1)
24.OfType<IFieldSymbol>()
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (17)
12internal abstract class AbstractFlagsEnumGenerator : IComparer<(IFieldSymbol field, ulong value)>
63var allFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
66var usedFieldsAndValues = new List<(IFieldSymbol field, ulong value)>();
73List<(IFieldSymbol field, ulong value)> allFieldsAndValues,
74List<(IFieldSymbol field, ulong value)> usedFieldsAndValues)
124var zeroField = GetZeroField(allFieldsAndValues);
137IFieldSymbol field, INamedTypeSymbol enumType, SpecialType underlyingSpecialType)
152private static IFieldSymbol? GetZeroField(List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
168List<(IFieldSymbol field, ulong value)> allFieldsAndValues)
172foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
191foreach (var field in enumType.GetMembers().OfType<IFieldSymbol>())
205int IComparer<(IFieldSymbol field, ulong value)>.Compare((IFieldSymbol field, ulong value) x, (IFieldSymbol field, ulong value) y)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
158.OfType<IFieldSymbol>()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
526.OfType<IFieldSymbol>()
Roslyn.Diagnostics.CSharp.Analyzers (17)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
278if (symbol is IFieldSymbol
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1558case IFieldSymbol field:
Roslyn.Diagnostics.VisualBasic.Analyzers (11)
System.Text.Json.SourceGeneration (10)
System.Text.RegularExpressions.Generator (1)
System.Windows.Forms.PrivateSourceGenerators (1)