6 instantiations of FeatureContext
ILLink.RoslynAnalyzer (6)
DataFlow\FeatureContextLattice.cs (5)
20
public static readonly FeatureContext All = new
FeatureContext
(ValueSet<string>.Unknown);
22
public static readonly FeatureContext None = new
FeatureContext
(ValueSet<string>.Empty);
43
return new
FeatureContext
(EnabledFeatures.DeepCopy());
48
return new
FeatureContext
(ValueSet<string>.Intersection(EnabledFeatures, other.EnabledFeatures));
53
return new
FeatureContext
(ValueSet<string>.Union(EnabledFeatures, other.EnabledFeatures));
TrimAnalysis\TrimAnalysisVisitor.cs (1)
72
currentState.Context = currentState.Context.Union(new
FeatureContext
(featureChecksValue.EnabledFeatures));
51 references to FeatureContext
ILLink.RoslynAnalyzer (51)
DataFlow\FeatureChecksVisitor.cs (1)
15
ILLink.RoslynAnalyzer.DataFlow.
FeatureContext
,
DataFlow\FeatureContextLattice.cs (21)
14
public struct FeatureContext : IEquatable<
FeatureContext
>, IDeepCopyValue<
FeatureContext
>
20
public static readonly
FeatureContext
All = new FeatureContext(ValueSet<string>.Unknown);
22
public static readonly
FeatureContext
None = new FeatureContext(ValueSet<string>.Empty);
34
public bool Equals(
FeatureContext
other) => EnabledFeatures == other.EnabledFeatures;
35
public override bool Equals(object? obj) => obj is
FeatureContext
other && Equals(other);
38
public static bool operator ==(
FeatureContext
left,
FeatureContext
right) => left.Equals(right);
39
public static bool operator !=(
FeatureContext
left,
FeatureContext
right) => !left.Equals(right);
41
public
FeatureContext
DeepCopy()
46
public
FeatureContext
Intersection(
FeatureContext
other)
51
public
FeatureContext
Union(
FeatureContext
other)
66
public readonly struct FeatureContextLattice : ILattice<
FeatureContext
>
71
public
FeatureContext
Top { get; } =
FeatureContext
.All;
75
public
FeatureContext
Meet(
FeatureContext
left,
FeatureContext
right) => left.Intersection(right);
RequiresAnalyzerBase.cs (1)
398
FeatureContext
featureContext,
TrimAnalysis\TrimAnalysisAssignmentPattern.cs (2)
23
public
FeatureContext
FeatureContext { get; init; }
30
FeatureContext
featureContext)
TrimAnalysis\TrimAnalysisBackingFieldAccessPattern.cs (2)
19
public
FeatureContext
FeatureContext { get; init; }
25
FeatureContext
featureContext)
TrimAnalysis\TrimAnalysisFieldAccessPattern.cs (2)
18
public
FeatureContext
FeatureContext { get; init; }
24
FeatureContext
featureContext)
TrimAnalysis\TrimAnalysisGenericInstantiationPattern.cs (2)
17
public
FeatureContext
FeatureContext { get; init; }
23
FeatureContext
featureContext)
TrimAnalysis\TrimAnalysisMethodCallPattern.cs (2)
23
public
FeatureContext
FeatureContext { get; init; }
31
FeatureContext
featureContext)
TrimAnalysis\TrimAnalysisReflectionAccessPattern.cs (2)
17
public
FeatureContext
FeatureContext { get; init; }
23
FeatureContext
feature)
TrimAnalysis\TrimAnalysisVisitor.cs (13)
21
ILLink.RoslynAnalyzer.DataFlow.
FeatureContext
,
30
FeatureContext
,
50
LocalStateAndContextLattice<MultiValue,
FeatureContext
, ValueSetLattice<SingleValue>, FeatureContextLattice> lattice,
70
public override void ApplyCondition(FeatureChecksValue featureChecksValue, ref LocalStateAndContext<MultiValue,
FeatureContext
> currentState)
240
public override MultiValue GetFieldTargetValue(IFieldReferenceOperation fieldReference, in
FeatureContext
featureContext)
253
public override MultiValue GetBackingFieldTargetValue(IPropertyReferenceOperation propertyReference, in
FeatureContext
featureContext)
270
public override void HandleAssignment(MultiValue source, MultiValue target, IOperation operation, in
FeatureContext
featureContext)
335
in
FeatureContext
featureContext)
398
public override void HandleReturnValue(MultiValue returnValue, IOperation operation, in
FeatureContext
featureContext)
437
public override MultiValue HandleDelegateCreation(IMethodSymbol method, IOperation operation, in
FeatureContext
featureContext)
451
private void ProcessGenericArgumentDataFlow(IMethodSymbol method, IOperation operation, in
FeatureContext
featureContext)
469
private void ProcessGenericArgumentDataFlow(IFieldSymbol field, IOperation operation, in
FeatureContext
featureContext)
486
private void ProcessGenericArgumentDataFlow(IPropertySymbol property, IOperation operation, in
FeatureContext
featureContext)
TrimAnalysis\TrimDataFlowAnalysis.cs (3)
18
ILLink.RoslynAnalyzer.DataFlow.
FeatureContext
26
FeatureContext
,
49
initialContext:
FeatureContext
.None)