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)
69
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)
364
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
,
48
LocalStateAndContextLattice<MultiValue,
FeatureContext
, ValueSetLattice<SingleValue>, FeatureContextLattice> lattice,
67
public override void ApplyCondition(FeatureChecksValue featureChecksValue, ref LocalStateAndContext<MultiValue,
FeatureContext
> currentState)
227
public override MultiValue GetFieldTargetValue(IFieldReferenceOperation fieldReference, in
FeatureContext
featureContext)
240
public override MultiValue GetBackingFieldTargetValue(IPropertyReferenceOperation propertyReference, in
FeatureContext
featureContext)
257
public override void HandleAssignment(MultiValue source, MultiValue target, IOperation operation, in
FeatureContext
featureContext)
322
in
FeatureContext
featureContext)
384
public override void HandleReturnValue(MultiValue returnValue, IOperation operation, in
FeatureContext
featureContext)
423
public override MultiValue HandleDelegateCreation(IMethodSymbol method, IOperation operation, in
FeatureContext
featureContext)
437
private void ProcessGenericArgumentDataFlow(IMethodSymbol method, IOperation operation, in
FeatureContext
featureContext)
455
private void ProcessGenericArgumentDataFlow(IFieldSymbol field, IOperation operation, in
FeatureContext
featureContext)
472
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)