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)
74
currentState.Context = currentState.Context.Union(new
FeatureContext
(featureChecksValue.EnabledFeatures));
59 references to FeatureContext
ILLink.RoslynAnalyzer (59)
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);
DynamicallyAccessedMembersAnalyzer.cs (1)
147
var genericArgumentDataFlow = new GenericArgumentDataFlow(dataFlowAnalyzerContext,
FeatureContext
.None, typeNameResolver, type, location, context.ReportDiagnostic);
RequiresAnalyzerBase.cs (1)
348
FeatureContext
featureContext,
TrimAnalysis\GenericArgumentDataFlow.cs (2)
19
private readonly
FeatureContext
_featureContext;
27
FeatureContext
featureContext,
TrimAnalysis\HandleCallAction.cs (1)
32
FeatureContext
featureContext,
TrimAnalysis\RequireDynamicallyAccessedMembersAction.cs (2)
25
readonly
FeatureContext
_featureContext;
31
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)
19
public
FeatureContext
FeatureContext { get; init; }
25
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 (15)
21
ILLink.RoslynAnalyzer.DataFlow.
FeatureContext
,
30
FeatureContext
,
51
LocalStateAndContextLattice<MultiValue,
FeatureContext
, ValueSetLattice<SingleValue>, FeatureContextLattice> lattice,
72
public override void ApplyCondition(FeatureChecksValue featureChecksValue, ref LocalStateAndContext<MultiValue,
FeatureContext
> currentState)
232
public override MultiValue GetFieldTargetValue(IFieldReferenceOperation fieldReference, in
FeatureContext
featureContext)
245
public override MultiValue GetBackingFieldTargetValue(IPropertyReferenceOperation propertyReference, in
FeatureContext
featureContext)
264
public override void HandleAssignment(MultiValue source, MultiValue target, IOperation operation, in
FeatureContext
featureContext)
329
in
FeatureContext
featureContext)
341
HandleCall(_dataFlowAnalyzerContext,
FeatureContext
.None, _typeNameResolver, operation, OwningSymbol, calledMethod, instance, arguments, Location.None, null, _multiValueLattice, out MultiValue methodReturnValue);
370
FeatureContext
featureContext,
394
public override void HandleReturnValue(MultiValue returnValue, IOperation operation, in
FeatureContext
featureContext)
433
public override MultiValue HandleDelegateCreation(IMethodSymbol method, IOperation operation, in
FeatureContext
featureContext)
447
private void ProcessGenericArgumentDataFlow(IMethodSymbol method, IOperation operation, in
FeatureContext
featureContext)
465
private void ProcessGenericArgumentDataFlow(IFieldSymbol field, IOperation operation, in
FeatureContext
featureContext)
482
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)