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)
196var overrideMethodReturnAnnotation = FlowAnnotations.GetMethodReturnValueAnnotation(overrideMethod); 197var baseMethodReturnAnnotation = FlowAnnotations.GetMethodReturnValueAnnotation(baseMethod); 221var baseParameterAnnotation = FlowAnnotations.GetMethodParameterAnnotation(baseParam); 222var overrideParameterAnnotation = FlowAnnotations.GetMethodParameterAnnotation(overrideParam); 273var overrideMethodThisAnnotation = FlowAnnotations.GetMethodParameterAnnotation(new ParameterProxy(new(overrideMethod), (ParameterIndex)0)); 274var baseMethodThisAnnotation = FlowAnnotations.GetMethodParameterAnnotation(new ParameterProxy(new(baseMethod), (ParameterIndex)0));
DynamicallyAccessedMembersTypeHierarchy.cs (3)
17var annotation = FlowAnnotations.GetTypeAnnotation(type); 25var baseAnnotation = FlowAnnotations.GetTypeAnnotation(baseType); 41if (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)
41_annotations = FlowAnnotations.Instance; 153AddReturnValue(FlowAnnotations.Instance.GetMethodReturnValue(calledMethod, _isNewObj, annotation)); 158AddReturnValue(FlowAnnotations.Instance.GetMethodReturnValue(calledMethod, _isNewObj)); 182AddReturnValue(FlowAnnotations.Instance.GetMethodReturnValue(calledMethod, _isNewObj, DynamicallyAccessedMemberTypes.PublicFields)); 186var annotation = FlowAnnotations.GetTypeAnnotation(staticType); 187AddReturnValue(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)
153if (FlowAnnotations.ShouldWarnWhenAccessedForReflection(member)) 163if (methodSymbol.IsVirtual && FlowAnnotations.GetMethodReturnValueAnnotation(methodSymbol) != DynamicallyAccessedMemberTypes.None) 171if (FlowAnnotations.GetMethodParameterAnnotation(parameter) != DynamicallyAccessedMemberTypes.None) 209if (FlowAnnotations.GetFieldAnnotation(fieldSymbol) != DynamicallyAccessedMemberTypes.None)
TrimAnalysis\TrimAnalysisVisitor.cs (1)
152return new MethodParameterValue(method, (ParameterIndex)0, FlowAnnotations.GetMethodParameterAnnotation(new ParameterProxy(new(method), (ParameterIndex)0)));