Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/linker/Linker.Dataflow/ReflectionMethodBodyScanner.cs')
-rw-r--r--src/linker/Linker.Dataflow/ReflectionMethodBodyScanner.cs16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/linker/Linker.Dataflow/ReflectionMethodBodyScanner.cs b/src/linker/Linker.Dataflow/ReflectionMethodBodyScanner.cs
index 9ffeb6af5..ef8193f0a 100644
--- a/src/linker/Linker.Dataflow/ReflectionMethodBodyScanner.cs
+++ b/src/linker/Linker.Dataflow/ReflectionMethodBodyScanner.cs
@@ -261,8 +261,7 @@ namespace Mono.Linker.Dataflow
static IntrinsicId GetIntrinsicIdForMethod (MethodDefinition calledMethod)
{
- return calledMethod.Name switch
- {
+ return calledMethod.Name switch {
// static System.Reflection.IntrospectionExtensions.GetTypeInfo (Type type)
"GetTypeInfo" when calledMethod.IsDeclaredOnType ("System.Reflection", "IntrospectionExtensions") => IntrinsicId.IntrospectionExtensions_GetTypeInfo,
@@ -634,8 +633,7 @@ namespace Mono.Linker.Dataflow
reflectionContext.AnalyzingPattern ();
BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public;
- DynamicallyAccessedMemberTypes requiredMemberTypes = getRuntimeMember switch
- {
+ DynamicallyAccessedMemberTypes requiredMemberTypes = getRuntimeMember switch {
IntrinsicId.RuntimeReflectionExtensions_GetRuntimeEvent => DynamicallyAccessedMemberTypes.PublicEvents,
IntrinsicId.RuntimeReflectionExtensions_GetRuntimeField => DynamicallyAccessedMemberTypes.PublicFields,
IntrinsicId.RuntimeReflectionExtensions_GetRuntimeMethod => DynamicallyAccessedMemberTypes.PublicMethods,
@@ -871,8 +869,7 @@ namespace Mono.Linker.Dataflow
// Assume a default value for BindingFlags for methods that don't use BindingFlags as a parameter
bindingFlags = BindingFlags.Public | BindingFlags.Instance;
- int? ctorParameterCount = parameters.Count switch
- {
+ int? ctorParameterCount = parameters.Count switch {
1 => (methodParams[1] as ArrayValue)?.Size.AsConstInt (),
4 => (methodParams[3] as ArrayValue)?.Size.AsConstInt (),
5 => (methodParams[4] as ArrayValue)?.Size.AsConstInt (),
@@ -1069,8 +1066,7 @@ namespace Mono.Linker.Dataflow
// Assume a default value for BindingFlags for methods that don't use BindingFlags as a parameter
bindingFlags = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public;
- DynamicallyAccessedMemberTypes memberTypes = fieldPropertyOrEvent switch
- {
+ DynamicallyAccessedMemberTypes memberTypes = fieldPropertyOrEvent switch {
IntrinsicId.Type_GetEvent => GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents (bindingFlags),
IntrinsicId.Type_GetField => GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields (bindingFlags),
IntrinsicId.Type_GetProperty => GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties (bindingFlags),
@@ -1176,7 +1172,7 @@ namespace Mono.Linker.Dataflow
if (value is SystemTypeValue systemTypeValue) {
// Special case known type values as we can do better by applying exact binding flags and parameter count.
MarkConstructorsOnType (ref reflectionContext, systemTypeValue.TypeRepresented,
- ctorParameterCount == null ? (Func<MethodDefinition, bool>) null : m => m.Parameters.Count == ctorParameterCount, bindingFlags);
+ ctorParameterCount == null ? null : m => m.Parameters.Count == ctorParameterCount, bindingFlags);
reflectionContext.RecordHandledPattern ();
} else {
// Otherwise fall back to the bitfield requirements
@@ -1414,7 +1410,7 @@ namespace Mono.Linker.Dataflow
continue;
}
- MarkConstructorsOnType (ref reflectionContext, resolvedType, parameterlessConstructor ? m => m.Parameters.Count == 0 : (Func<MethodDefinition, bool>) null, bindingFlags);
+ MarkConstructorsOnType (ref reflectionContext, resolvedType, parameterlessConstructor ? m => m.Parameters.Count == 0 : null, bindingFlags);
} else {
reflectionContext.RecordUnrecognizedPattern (2032, $"Unrecognized value passed to the parameter '{calledMethod.Parameters[1].Name}' of method '{calledMethod.GetDisplayName ()}'. It's not possible to guarantee the availability of the target type.");
}