6 instantiations of FeatureContext
ILLink.RoslynAnalyzer (6)
DataFlow\FeatureContextLattice.cs (5)
20public static readonly FeatureContext All = new FeatureContext(ValueSet<string>.Unknown); 22public static readonly FeatureContext None = new FeatureContext(ValueSet<string>.Empty); 43return new FeatureContext(EnabledFeatures.DeepCopy()); 48return new FeatureContext(ValueSet<string>.Intersection(EnabledFeatures, other.EnabledFeatures)); 53return new FeatureContext(ValueSet<string>.Union(EnabledFeatures, other.EnabledFeatures));
TrimAnalysis\TrimAnalysisVisitor.cs (1)
74currentState.Context = currentState.Context.Union(new FeatureContext(featureChecksValue.EnabledFeatures));
59 references to FeatureContext
ILLink.RoslynAnalyzer (59)
DataFlow\FeatureChecksVisitor.cs (1)
15ILLink.RoslynAnalyzer.DataFlow.FeatureContext,
DataFlow\FeatureContextLattice.cs (21)
14public struct FeatureContext : IEquatable<FeatureContext>, IDeepCopyValue<FeatureContext> 20public static readonly FeatureContext All = new FeatureContext(ValueSet<string>.Unknown); 22public static readonly FeatureContext None = new FeatureContext(ValueSet<string>.Empty); 34public bool Equals(FeatureContext other) => EnabledFeatures == other.EnabledFeatures; 35public override bool Equals(object? obj) => obj is FeatureContext other && Equals(other); 38public static bool operator ==(FeatureContext left, FeatureContext right) => left.Equals(right); 39public static bool operator !=(FeatureContext left, FeatureContext right) => !left.Equals(right); 41public FeatureContext DeepCopy() 46public FeatureContext Intersection(FeatureContext other) 51public FeatureContext Union(FeatureContext other) 66public readonly struct FeatureContextLattice : ILattice<FeatureContext> 71public FeatureContext Top { get; } = FeatureContext.All; 75public FeatureContext Meet(FeatureContext left, FeatureContext right) => left.Intersection(right);
DynamicallyAccessedMembersAnalyzer.cs (1)
147var genericArgumentDataFlow = new GenericArgumentDataFlow(dataFlowAnalyzerContext, FeatureContext.None, typeNameResolver, type, location, context.ReportDiagnostic);
RequiresAnalyzerBase.cs (1)
348FeatureContext featureContext,
TrimAnalysis\GenericArgumentDataFlow.cs (2)
19private readonly FeatureContext _featureContext; 27FeatureContext featureContext,
TrimAnalysis\HandleCallAction.cs (1)
32FeatureContext featureContext,
TrimAnalysis\RequireDynamicallyAccessedMembersAction.cs (2)
25readonly FeatureContext _featureContext; 31FeatureContext featureContext,
TrimAnalysis\TrimAnalysisAssignmentPattern.cs (2)
23public FeatureContext FeatureContext { get; init; } 30FeatureContext featureContext)
TrimAnalysis\TrimAnalysisBackingFieldAccessPattern.cs (2)
19public FeatureContext FeatureContext { get; init; } 25FeatureContext featureContext)
TrimAnalysis\TrimAnalysisFieldAccessPattern.cs (2)
18public FeatureContext FeatureContext { get; init; } 24FeatureContext featureContext)
TrimAnalysis\TrimAnalysisGenericInstantiationPattern.cs (2)
19public FeatureContext FeatureContext { get; init; } 25FeatureContext featureContext)
TrimAnalysis\TrimAnalysisMethodCallPattern.cs (2)
23public FeatureContext FeatureContext { get; init; } 31FeatureContext featureContext)
TrimAnalysis\TrimAnalysisReflectionAccessPattern.cs (2)
17public FeatureContext FeatureContext { get; init; } 23FeatureContext feature)
TrimAnalysis\TrimAnalysisVisitor.cs (15)
21ILLink.RoslynAnalyzer.DataFlow.FeatureContext, 30FeatureContext, 51LocalStateAndContextLattice<MultiValue, FeatureContext, ValueSetLattice<SingleValue>, FeatureContextLattice> lattice, 72public override void ApplyCondition(FeatureChecksValue featureChecksValue, ref LocalStateAndContext<MultiValue, FeatureContext> currentState) 232public override MultiValue GetFieldTargetValue(IFieldReferenceOperation fieldReference, in FeatureContext featureContext) 245public override MultiValue GetBackingFieldTargetValue(IPropertyReferenceOperation propertyReference, in FeatureContext featureContext) 264public override void HandleAssignment(MultiValue source, MultiValue target, IOperation operation, in FeatureContext featureContext) 329in FeatureContext featureContext) 341HandleCall(_dataFlowAnalyzerContext, FeatureContext.None, _typeNameResolver, operation, OwningSymbol, calledMethod, instance, arguments, Location.None, null, _multiValueLattice, out MultiValue methodReturnValue); 370FeatureContext featureContext, 394public override void HandleReturnValue(MultiValue returnValue, IOperation operation, in FeatureContext featureContext) 433public override MultiValue HandleDelegateCreation(IMethodSymbol method, IOperation operation, in FeatureContext featureContext) 447private void ProcessGenericArgumentDataFlow(IMethodSymbol method, IOperation operation, in FeatureContext featureContext) 465private void ProcessGenericArgumentDataFlow(IFieldSymbol field, IOperation operation, in FeatureContext featureContext) 482private void ProcessGenericArgumentDataFlow(IPropertySymbol property, IOperation operation, in FeatureContext featureContext)
TrimAnalysis\TrimDataFlowAnalysis.cs (3)
18ILLink.RoslynAnalyzer.DataFlow.FeatureContext 26FeatureContext, 49initialContext: FeatureContext.None)