182 references to IntrinsicId
ILLink.RoslynAnalyzer (182)
RequiresDynamicCodeAnalyzer.cs (4)
53
var
intrinsicId = Intrinsics.GetIntrinsicIdForMethod(method);
57
case
IntrinsicId
.Type_MakeGenericType:
79
case
IntrinsicId
.MethodInfo_MakeGenericMethod:
101
case
IntrinsicId
.Enum_GetValues:
RequiresUnreferencedCodeAnalyzer.cs (1)
79
if (member is IMethodSymbol method && Intrinsics.GetIntrinsicIdForMethod(new MethodProxy(method)) !=
IntrinsicId
.None)
src\runtime\src\tools\illink\src\ILLink.Shared\TrimAnalysis\HandleCallAction.cs (86)
31
public bool Invoke(MethodProxy calledMethod, MultiValue instanceValue, IReadOnlyList<MultiValue> argumentValues,
IntrinsicId
intrinsicId, out MultiValue methodReturnValue)
81
IntrinsicId
intrinsicId,
88
IntrinsicId
intrinsicId,
99
case
IntrinsicId
.IntrospectionExtensions_GetTypeInfo:
109
case
IntrinsicId
.TypeInfo_AsType:
119
case
IntrinsicId
.Type_get_UnderlyingSystemType:
124
case
IntrinsicId
.Type_GetTypeFromHandle:
156
case
IntrinsicId
.Type_get_TypeHandle:
187
case
IntrinsicId
.Type_get_Assembly:
211
case
IntrinsicId
.MethodBase_GetMethodFromHandle:
230
case
IntrinsicId
.MethodBase_get_MethodHandle:
248
case
IntrinsicId
.TypeDelegator_Ctor:
251
case
IntrinsicId
.Array_Empty:
253
case
IntrinsicId
.Object_GetType:
261
case
IntrinsicId
.Type_GetInterface:
309
case
IntrinsicId
.Type_GetInterfaces:
342
case
IntrinsicId
.Type_get_AssemblyQualifiedName:
378
case
IntrinsicId
.RuntimeHelpers_RunClassConstructor:
416
case
IntrinsicId
.Type_GetConstructors__BindingFlags:
417
case
IntrinsicId
.Type_GetMethods__BindingFlags:
418
case
IntrinsicId
.Type_GetFields__BindingFlags:
419
case
IntrinsicId
.Type_GetProperties__BindingFlags:
420
case
IntrinsicId
.Type_GetEvents__BindingFlags:
421
case
IntrinsicId
.Type_GetNestedTypes__BindingFlags:
422
case
IntrinsicId
.Type_GetMembers__BindingFlags:
431
IntrinsicId
.Type_GetConstructors__BindingFlags => DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors,
432
IntrinsicId
.Type_GetMethods__BindingFlags => DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods,
433
IntrinsicId
.Type_GetEvents__BindingFlags => DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents,
434
IntrinsicId
.Type_GetFields__BindingFlags => DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields,
435
IntrinsicId
.Type_GetProperties__BindingFlags => DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties,
436
IntrinsicId
.Type_GetNestedTypes__BindingFlags => DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes,
437
IntrinsicId
.Type_GetMembers__BindingFlags => DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors |
450
IntrinsicId
.Type_GetConstructors__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForConstructors(bindingFlags),
451
IntrinsicId
.Type_GetMethods__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForMethods(bindingFlags),
452
IntrinsicId
.Type_GetEvents__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents(bindingFlags),
453
IntrinsicId
.Type_GetFields__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields(bindingFlags),
454
IntrinsicId
.Type_GetProperties__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties(bindingFlags),
455
IntrinsicId
.Type_GetNestedTypes__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForNestedTypes(bindingFlags),
456
IntrinsicId
.Type_GetMembers__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForMembers(bindingFlags),
479
case
IntrinsicId
.Type_GetField:
480
case
IntrinsicId
.Type_GetProperty:
481
case
IntrinsicId
.Type_GetEvent:
498
IntrinsicId
.Type_GetEvent => GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents(bindingFlags),
499
IntrinsicId
.Type_GetField => GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields(bindingFlags),
500
IntrinsicId
.Type_GetProperty => GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties(bindingFlags),
515
case
IntrinsicId
.Type_GetEvent:
518
case
IntrinsicId
.Type_GetField:
521
case
IntrinsicId
.Type_GetProperty:
548
case
IntrinsicId
.Type_GetMember:
611
case
IntrinsicId
.Type_GetMethod:
692
case
IntrinsicId
.Type_GetNestedType:
777
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent:
778
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField:
779
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod:
780
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty:
792
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent => DynamicallyAccessedMemberTypes.PublicEvents,
793
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField => DynamicallyAccessedMemberTypes.PublicFields,
794
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod => DynamicallyAccessedMemberTypes.PublicMethods,
795
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty => DynamicallyAccessedMemberTypes.PublicProperties,
811
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent:
814
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField:
817
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod:
822
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty:
860
case
IntrinsicId
.Expression_New:
882
case
IntrinsicId
.Expression_Property when calledMethod.HasParameterOfType((ParameterIndex)1, "System.Reflection.MethodInfo"):
919
case
IntrinsicId
.Expression_Field:
920
case
IntrinsicId
.Expression_Property:
922
DynamicallyAccessedMemberTypes memberTypes = intrinsicId ==
IntrinsicId
.Expression_Property
942
if (intrinsicId ==
IntrinsicId
.Expression_Property)
974
case
IntrinsicId
.Expression_Call:
1029
case
IntrinsicId
.Nullable_GetUnderlyingType:
1066
case
IntrinsicId
.Type_GetType:
1122
case
IntrinsicId
.Type_MakeGenericType:
1214
case
IntrinsicId
.Type_get_BaseType:
1307
case
IntrinsicId
.Type_GetConstructor:
1366
case
IntrinsicId
.MethodInfo_MakeGenericMethod:
1407
case
IntrinsicId
.Activator_CreateInstance__Type:
1493
case
IntrinsicId
.Activator_CreateInstance__AssemblyName_TypeName:
1504
case
IntrinsicId
.Activator_CreateInstanceFrom:
1527
case
IntrinsicId
.AppDomain_CreateInstance:
1528
case
IntrinsicId
.AppDomain_CreateInstanceAndUnwrap:
1529
case
IntrinsicId
.AppDomain_CreateInstanceFrom:
1530
case
IntrinsicId
.AppDomain_CreateInstanceFromAndUnwrap:
1541
case
IntrinsicId
.Assembly_CreateInstance:
1553
case
IntrinsicId
.Assembly_GetType:
1609
case
IntrinsicId
.None:
src\runtime\src\tools\illink\src\ILLink.Shared\TrimAnalysis\Intrinsics.cs (69)
13
public static
IntrinsicId
GetIntrinsicIdForMethod(MethodProxy calledMethod)
18
"GetTypeInfo" when calledMethod.IsDeclaredOnType("System.Reflection.IntrospectionExtensions") =>
IntrinsicId
.IntrospectionExtensions_GetTypeInfo,
21
"AsType" when calledMethod.IsDeclaredOnType("System.Reflection.TypeInfo") =>
IntrinsicId
.TypeInfo_AsType,
24
"GetTypeFromHandle" when calledMethod.IsDeclaredOnType("System.Type") =>
IntrinsicId
.Type_GetTypeFromHandle,
27
"get_TypeHandle" when calledMethod.IsDeclaredOnType("System.Type") =>
IntrinsicId
.Type_get_TypeHandle,
30
"get_Assembly" when calledMethod.IsDeclaredOnType("System.Type") =>
IntrinsicId
.Type_get_Assembly,
37
=>
IntrinsicId
.MethodBase_GetMethodFromHandle,
40
"get_MethodHandle" when calledMethod.IsDeclaredOnType("System.Reflection.MethodBase") =>
IntrinsicId
.MethodBase_get_MethodHandle,
43
"MakeGenericType" when calledMethod.IsDeclaredOnType("System.Type") =>
IntrinsicId
.Type_MakeGenericType,
48
=>
IntrinsicId
.RuntimeReflectionExtensions_GetMethodInfo,
54
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent,
60
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField,
66
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod,
72
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty,
78
=>
IntrinsicId
.Expression_Call,
84
=>
IntrinsicId
.Expression_Field,
91
=>
IntrinsicId
.Expression_Property,
97
=>
IntrinsicId
.Expression_New,
103
=>
IntrinsicId
.Enum_GetValues,
109
=>
IntrinsicId
.Marshal_SizeOf,
115
=>
IntrinsicId
.Marshal_OffsetOf,
121
=>
IntrinsicId
.Marshal_PtrToStructure,
127
=>
IntrinsicId
.Marshal_DestroyStructure,
133
=>
IntrinsicId
.Marshal_GetDelegateForFunctionPointer,
143
=>
IntrinsicId
.Type_GetType,
151
=>
IntrinsicId
.Type_GetConstructor,
158
=>
IntrinsicId
.Type_GetConstructors__BindingFlags,
174
=>
IntrinsicId
.Type_GetMethod,
181
=>
IntrinsicId
.Type_GetMethods__BindingFlags,
188
=>
IntrinsicId
.Type_GetField,
195
=>
IntrinsicId
.Type_GetFields__BindingFlags,
202
=>
IntrinsicId
.Type_GetEvent,
209
=>
IntrinsicId
.Type_GetEvents__BindingFlags,
216
=>
IntrinsicId
.Type_GetNestedType,
223
=>
IntrinsicId
.Type_GetNestedTypes__BindingFlags,
234
=>
IntrinsicId
.Type_GetMember,
241
=>
IntrinsicId
.Type_GetMembers__BindingFlags,
250
=>
IntrinsicId
.Type_GetInterface,
255
=>
IntrinsicId
.Type_GetInterfaces,
261
=>
IntrinsicId
.Type_get_AssemblyQualifiedName,
267
=>
IntrinsicId
.Type_get_UnderlyingSystemType,
273
=>
IntrinsicId
.Type_get_BaseType,
285
=>
IntrinsicId
.Type_GetProperty,
292
=>
IntrinsicId
.Type_GetProperties__BindingFlags,
296
=>
IntrinsicId
.Object_GetType,
300
=>
IntrinsicId
.TypeDelegator_Ctor,
303
=>
IntrinsicId
.Array_Empty,
309
=>
IntrinsicId
.Array_CreateInstance,
320
=>
IntrinsicId
.Activator_CreateInstance__Type,
329
=>
IntrinsicId
.Activator_CreateInstance__AssemblyName_TypeName,
338
=>
IntrinsicId
.Activator_CreateInstanceFrom,
346
=>
IntrinsicId
.AppDomain_CreateInstance,
354
=>
IntrinsicId
.AppDomain_CreateInstanceAndUnwrap,
362
=>
IntrinsicId
.AppDomain_CreateInstanceFrom,
370
=>
IntrinsicId
.AppDomain_CreateInstanceFromAndUnwrap,
377
=>
IntrinsicId
.Assembly_CreateInstance,
384
=>
IntrinsicId
.Assembly_GetType,
388
=>
IntrinsicId
.Assembly_get_Location,
393
=>
IntrinsicId
.Assembly_GetFile,
399
=>
IntrinsicId
.Assembly_GetFiles,
403
=>
IntrinsicId
.AssemblyName_get_CodeBase,
407
=>
IntrinsicId
.AssemblyName_get_EscapedCodeBase,
412
=>
IntrinsicId
.RuntimeHelpers_RunClassConstructor,
418
=>
IntrinsicId
.MethodInfo_MakeGenericMethod,
424
=>
IntrinsicId
.Nullable_GetUnderlyingType,
430
=>
IntrinsicId
.Delegate_get_Method,
436
=>
IntrinsicId
.TypeMapping_GetOrCreateExternalTypeMapping,
442
=>
IntrinsicId
.TypeMapping_GetOrCreateProxyTypeMapping,
444
_ =>
IntrinsicId
.None,
TrimAnalysis\HandleCallAction.cs (20)
100
IntrinsicId
intrinsicId,
108
case
IntrinsicId
.Array_Empty:
112
case
IntrinsicId
.TypeDelegator_Ctor:
118
case
IntrinsicId
.Object_GetType:
198
case
IntrinsicId
.TypeMapping_GetOrCreateProxyTypeMapping:
199
case
IntrinsicId
.TypeMapping_GetOrCreateExternalTypeMapping:
213
case
IntrinsicId
.Array_CreateInstance:
214
case
IntrinsicId
.Assembly_GetFile:
215
case
IntrinsicId
.Assembly_GetFiles:
216
case
IntrinsicId
.AssemblyName_get_EscapedCodeBase:
217
case
IntrinsicId
.Assembly_get_Location:
218
case
IntrinsicId
.AssemblyName_get_CodeBase:
219
case
IntrinsicId
.Delegate_get_Method:
220
case
IntrinsicId
.Enum_GetValues:
221
case
IntrinsicId
.Marshal_DestroyStructure:
222
case
IntrinsicId
.Marshal_GetDelegateForFunctionPointer:
223
case
IntrinsicId
.Marshal_OffsetOf:
224
case
IntrinsicId
.Marshal_PtrToStructure:
225
case
IntrinsicId
.Marshal_SizeOf:
226
case
IntrinsicId
.RuntimeReflectionExtensions_GetMethodInfo:
TrimAnalysis\TrimAnalysisVisitor.cs (2)
400
var
intrinsicId = Intrinsics.GetIntrinsicIdForMethod(method);
406
static void UnhandledIntrinsicHelper(
IntrinsicId
intrinsicId)