Linker.Dataflow\DynamicallyAccessedMembersBinder.cs (10)
18public static IEnumerable<IMetadataTokenProvider> GetDynamicallyAccessedMembers(this TypeDefinition typeDefinition, LinkContext context, DynamicallyAccessedMemberTypes memberTypes, bool declaredOnly = false)
165public static IEnumerable<MethodDefinition> GetMethodsOnTypeHierarchy(this TypeReference thisType, LinkContext context, Func<MethodDefinition, bool>? filter, BindingFlags? bindingFlags = null)
211public static IEnumerable<FieldDefinition> GetFieldsOnTypeHierarchy(this TypeDefinition thisType, LinkContext context, Func<FieldDefinition, bool>? filter, BindingFlags? bindingFlags = BindingFlags.Default)
253public static IEnumerable<TypeDefinition> GetNestedTypesOnType(this TypeReference typeRef, LinkContext context, Func<TypeDefinition, bool>? filter, BindingFlags? bindingFlags = BindingFlags.Default)
279public static IEnumerable<PropertyDefinition> GetPropertiesOnTypeHierarchy(this TypeDefinition thisType, LinkContext context, Func<PropertyDefinition, bool>? filter, BindingFlags? bindingFlags = BindingFlags.Default)
334public static IEnumerable<EventDefinition> GetEventsOnTypeHierarchy(this TypeDefinition thisType, LinkContext context, Func<EventDefinition, bool>? filter, BindingFlags? bindingFlags = BindingFlags.Default)
391public static IEnumerable<InterfaceImplementation> GetAllInterfaceImplementations(this TypeDefinition thisType, LinkContext context, bool declaredOnly)
418public static void GetAllOnType(this TypeDefinition type, LinkContext context, bool declaredOnly, List<IMetadataTokenProvider> members) => GetAllOnType(type, context, declaredOnly, members, new HashSet<TypeDefinition>());
420static void GetAllOnType(TypeDefinition type, LinkContext context, bool declaredOnly, List<IMetadataTokenProvider> members, HashSet<TypeDefinition> types)
487private static IEnumerable<T> ApplyIncludeInherited<T>(this TypeDefinition thisType, LinkContext context, Func<TypeDefinition, IEnumerable<T>> selector, bool includeBases)
Linker.Dataflow\GenericArgumentDataFlow.cs (5)
16public static void ProcessGenericArgumentDataFlow(in MessageOrigin origin, MarkStep markStep, LinkContext context, TypeReference type)
23public static void ProcessGenericArgumentDataFlow(in DiagnosticContext diagnosticContext, ReflectionMarker reflectionMarker, LinkContext context, TypeReference type)
31public static void ProcessGenericArgumentDataFlow(in DiagnosticContext diagnosticContext, ReflectionMarker reflectionMarker, LinkContext context, MethodReference method)
41public static void ProcessGenericArgumentDataFlow(in DiagnosticContext diagnosticContext, ReflectionMarker reflectionMarker, LinkContext context, FieldReference field)
46private static void ProcessGenericInstantiation(in DiagnosticContext diagnosticContext, ReflectionMarker reflectionMarker, LinkContext context, IGenericInstance genericInstance, IGenericParameterProvider genericParameterProvider)
Linker.Dataflow\ReflectionMethodBodyScanner.cs (8)
26public static bool RequiresReflectionMethodBodyScannerForCallSite(LinkContext context, MethodReference calledMethod)
41public static bool RequiresReflectionMethodBodyScannerForMethodBody(LinkContext context, MethodDefinition methodDefinition)
47public static bool RequiresReflectionMethodBodyScannerForAccess(LinkContext context, FieldReference field)
58public static bool RequiresReflectionMethodBodyScannerForAccess(LinkContext context, TypeReference type)
69public ReflectionMethodBodyScanner(LinkContext context, MarkStep parent, MessageOrigin origin)
220LinkContext context,
245static bool IsComInterop(IMarshalInfoProvider marshalInfoProvider, TypeReference parameterType, LinkContext context)
368internal static bool IsPInvokeDangerous(MethodDefinition methodDefinition, LinkContext context, out bool comDangerousMethod)
Linker\BannedApiExtensions.cs (11)
15public static Collection<Instruction> Instructions(this MethodBody body, LinkContext context)
18public static Collection<ExceptionHandler> ExceptionHandlers(this MethodBody body, LinkContext context)
21public static Collection<VariableDefinition> Variables(this MethodBody body, LinkContext context)
24public static MethodIL GetMethodIL(this MethodDefinition method, LinkContext context)
27public static MethodIL GetMethodIL(this MethodBody body, LinkContext context)
30public static MethodDefinition? Resolve(this MethodReference method, LinkContext context)
33public static MethodDefinition? TryResolve(this MethodReference method, LinkContext context)
36public static TypeDefinition? Resolve(this TypeReference type, LinkContext context)
39public static TypeDefinition? TryResolve(this TypeReference type, LinkContext context)
42public static TypeDefinition? Resolve(this ExportedType type, LinkContext context)
45public static TypeDefinition? TryResolve(this ExportedType type, LinkContext context)
Linker\EmbeddedXmlInfo.cs (7)
25public void ProcessDescriptors(AssemblyDefinition assembly, LinkContext context)
49public SubstitutionInfo? ProcessSubstitutions(AssemblyDefinition assembly, LinkContext context)
77public AttributeInfo? ProcessAttributes(AssemblyDefinition assembly, LinkContext context)
114static bool ShouldProcessRootDescriptorResource(AssemblyDefinition assembly, LinkContext context, string resourceName)
134protected virtual DescriptorMarker GetExternalResolveStep(LinkContext context, EmbeddedResource resource, AssemblyDefinition assembly)
139protected virtual BodySubstitutionParser GetExternalSubstitutionParser(LinkContext context, EmbeddedResource resource, AssemblyDefinition assembly)
144protected virtual LinkAttributesParser GetExternalLinkAttributesParser(LinkContext context, EmbeddedResource resource, AssemblyDefinition assembly)
Linker\MessageContainer.cs (6)
108internal static MessageContainer CreateWarningMessage(LinkContext context, string text, int code, MessageOrigin origin, WarnVersion version, string subcategory = MessageSubCategory.None)
127internal static MessageContainer CreateWarningMessage(LinkContext context, MessageOrigin origin, DiagnosticId id, WarnVersion version, params string[] args)
147public static MessageContainer CreateCustomWarningMessage(LinkContext context, string text, int code, MessageOrigin origin, WarnVersion version, string subcategory = MessageSubCategory.None)
160private static MessageContainer CreateWarningMessageContainer(LinkContext context, string text, int code, MessageOrigin origin, WarnVersion version, string subcategory = MessageSubCategory.None)
180private static MessageContainer CreateWarningMessageContainer(LinkContext context, MessageOrigin origin, DiagnosticId id, WarnVersion version, string subcategory, params string[] args)
214static bool TryLogSingleWarning(LinkContext context, int code, MessageOrigin origin, string subcategory)