1 instantiation of FlowAnnotations
ILLink.RoslynAnalyzer (1)
TrimAnalysis\FlowAnnotations.cs (1)
18private static readonly Lazy<FlowAnnotations> _instance = new(() => new FlowAnnotations(), isThreadSafe: true);
27 references to FlowAnnotations
ILLink.RoslynAnalyzer (27)
DynamicallyAccessedMembersAnalyzer.cs (6)
208var overrideMethodReturnAnnotation = FlowAnnotations.GetMethodReturnValueAnnotation(overrideMethod); 209var baseMethodReturnAnnotation = FlowAnnotations.GetMethodReturnValueAnnotation(baseMethod); 233var baseParameterAnnotation = FlowAnnotations.GetMethodParameterAnnotation(baseParam); 234var overrideParameterAnnotation = FlowAnnotations.GetMethodParameterAnnotation(overrideParam); 285var overrideMethodThisAnnotation = FlowAnnotations.GetMethodParameterAnnotation(new ParameterProxy(new(overrideMethod), (ParameterIndex)0)); 286var baseMethodThisAnnotation = FlowAnnotations.GetMethodParameterAnnotation(new ParameterProxy(new(baseMethod), (ParameterIndex)0));
DynamicallyAccessedMembersTypeHierarchy.cs (3)
21var annotation = FlowAnnotations.GetTypeAnnotation(type); 29var baseAnnotation = FlowAnnotations.GetTypeAnnotation(baseType); 45if (FlowAnnotations.GetTypeAnnotation(iface).HasFlag(annotationToApplyToInterfaces))
src\tools\illink\src\ILLink.Shared\TrimAnalysis\HandleCallAction.cs (1)
27private readonly FlowAnnotations _annotations;
TrimAnalysis\FieldValue.cs (2)
15: this(fieldSymbol, fieldSymbol.Type, FlowAnnotations.GetFieldAnnotation(fieldSymbol)) 20: this(propertySymbol, propertySymbol.Type, FlowAnnotations.GetBackingFieldAnnotation(propertySymbol))
TrimAnalysis\FlowAnnotations.cs (2)
18private static readonly Lazy<FlowAnnotations> _instance = new(() => new FlowAnnotations(), isThreadSafe: true); 20public static FlowAnnotations Instance { get => _instance.Value; }
TrimAnalysis\HandleCallAction.cs (6)
42_annotations = FlowAnnotations.Instance; 154AddReturnValue(FlowAnnotations.Instance.GetMethodReturnValue(calledMethod, _isNewObj, annotation)); 159AddReturnValue(FlowAnnotations.Instance.GetMethodReturnValue(calledMethod, _isNewObj)); 183AddReturnValue(FlowAnnotations.Instance.GetMethodReturnValue(calledMethod, _isNewObj, DynamicallyAccessedMemberTypes.PublicFields)); 187var annotation = FlowAnnotations.GetTypeAnnotation(staticType); 188AddReturnValue(FlowAnnotations.Instance.GetMethodReturnValue(calledMethod, _isNewObj, annotation));
TrimAnalysis\MethodParameterValue.cs (1)
18: this(parameter, FlowAnnotations.GetMethodParameterAnnotation(parameter)) { }
TrimAnalysis\MethodReturnValue.cs (1)
17: this(methodSymbol, isNewObj, FlowAnnotations.GetMethodReturnValueAnnotation(methodSymbol))
TrimAnalysis\ReflectionAccessAnalyzer.cs (4)
160if (FlowAnnotations.ShouldWarnWhenAccessedForReflection(member)) 170if (methodSymbol.IsVirtual && FlowAnnotations.GetMethodReturnValueAnnotation(methodSymbol) != DynamicallyAccessedMemberTypes.None) 178if (FlowAnnotations.GetMethodParameterAnnotation(parameter) != DynamicallyAccessedMemberTypes.None) 216if (FlowAnnotations.GetFieldAnnotation(fieldSymbol) != DynamicallyAccessedMemberTypes.None)
TrimAnalysis\TrimAnalysisVisitor.cs (1)
165return new MethodParameterValue(method, (ParameterIndex)0, FlowAnnotations.GetMethodParameterAnnotation(new ParameterProxy(new(method), (ParameterIndex)0)));