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)
69currentState.Context = currentState.Context.Union(new FeatureContext(featureChecksValue.EnabledFeatures));
51 references to FeatureContext
ILLink.RoslynAnalyzer (51)
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);
RequiresAnalyzerBase.cs (1)
364FeatureContext 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)
17public FeatureContext FeatureContext { get; init; } 23FeatureContext 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 (13)
21ILLink.RoslynAnalyzer.DataFlow.FeatureContext, 30FeatureContext, 48LocalStateAndContextLattice<MultiValue, FeatureContext, ValueSetLattice<SingleValue>, FeatureContextLattice> lattice, 67public override void ApplyCondition(FeatureChecksValue featureChecksValue, ref LocalStateAndContext<MultiValue, FeatureContext> currentState) 227public override MultiValue GetFieldTargetValue(IFieldReferenceOperation fieldReference, in FeatureContext featureContext) 240public override MultiValue GetBackingFieldTargetValue(IPropertyReferenceOperation propertyReference, in FeatureContext featureContext) 257public override void HandleAssignment(MultiValue source, MultiValue target, IOperation operation, in FeatureContext featureContext) 322in FeatureContext featureContext) 384public override void HandleReturnValue(MultiValue returnValue, IOperation operation, in FeatureContext featureContext) 423public override MultiValue HandleDelegateCreation(IMethodSymbol method, IOperation operation, in FeatureContext featureContext) 437private void ProcessGenericArgumentDataFlow(IMethodSymbol method, IOperation operation, in FeatureContext featureContext) 455private void ProcessGenericArgumentDataFlow(IFieldSymbol field, IOperation operation, in FeatureContext featureContext) 472private void ProcessGenericArgumentDataFlow(IPropertySymbol property, IOperation operation, in FeatureContext featureContext)
TrimAnalysis\TrimDataFlowAnalysis.cs (3)
18ILLink.RoslynAnalyzer.DataFlow.FeatureContext 26FeatureContext, 49initialContext: FeatureContext.None)