177 references to IntrinsicId
ILLink.RoslynAnalyzer (177)
RequiresDynamicCodeAnalyzer.cs (3)
52
var
intrinsicId = Intrinsics.GetIntrinsicIdForMethod(method);
56
case
IntrinsicId
.Type_MakeGenericType:
78
case
IntrinsicId
.MethodInfo_MakeGenericMethod:
RequiresUnreferencedCodeAnalyzer.cs (1)
95
if (member is IMethodSymbol method && Intrinsics.GetIntrinsicIdForMethod(new MethodProxy(method)) !=
IntrinsicId
.None)
src\tools\illink\src\ILLink.Shared\TrimAnalysis\HandleCallAction.cs (84)
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:
189
case
IntrinsicId
.MethodBase_GetMethodFromHandle:
208
case
IntrinsicId
.MethodBase_get_MethodHandle:
226
case
IntrinsicId
.TypeDelegator_Ctor:
229
case
IntrinsicId
.Array_Empty:
231
case
IntrinsicId
.Object_GetType:
239
case
IntrinsicId
.Type_GetInterface:
287
case
IntrinsicId
.Type_GetInterfaces:
320
case
IntrinsicId
.Type_get_AssemblyQualifiedName:
356
case
IntrinsicId
.RuntimeHelpers_RunClassConstructor:
394
case
IntrinsicId
.Type_GetConstructors__BindingFlags:
395
case
IntrinsicId
.Type_GetMethods__BindingFlags:
396
case
IntrinsicId
.Type_GetFields__BindingFlags:
397
case
IntrinsicId
.Type_GetProperties__BindingFlags:
398
case
IntrinsicId
.Type_GetEvents__BindingFlags:
399
case
IntrinsicId
.Type_GetNestedTypes__BindingFlags:
400
case
IntrinsicId
.Type_GetMembers__BindingFlags:
409
IntrinsicId
.Type_GetConstructors__BindingFlags => DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors,
410
IntrinsicId
.Type_GetMethods__BindingFlags => DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods,
411
IntrinsicId
.Type_GetEvents__BindingFlags => DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents,
412
IntrinsicId
.Type_GetFields__BindingFlags => DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields,
413
IntrinsicId
.Type_GetProperties__BindingFlags => DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties,
414
IntrinsicId
.Type_GetNestedTypes__BindingFlags => DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes,
415
IntrinsicId
.Type_GetMembers__BindingFlags => DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors |
428
IntrinsicId
.Type_GetConstructors__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForConstructors(bindingFlags),
429
IntrinsicId
.Type_GetMethods__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForMethods(bindingFlags),
430
IntrinsicId
.Type_GetEvents__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents(bindingFlags),
431
IntrinsicId
.Type_GetFields__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields(bindingFlags),
432
IntrinsicId
.Type_GetProperties__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties(bindingFlags),
433
IntrinsicId
.Type_GetNestedTypes__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForNestedTypes(bindingFlags),
434
IntrinsicId
.Type_GetMembers__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForMembers(bindingFlags),
457
case
IntrinsicId
.Type_GetField:
458
case
IntrinsicId
.Type_GetProperty:
459
case
IntrinsicId
.Type_GetEvent:
476
IntrinsicId
.Type_GetEvent => GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents(bindingFlags),
477
IntrinsicId
.Type_GetField => GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields(bindingFlags),
478
IntrinsicId
.Type_GetProperty => GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties(bindingFlags),
493
case
IntrinsicId
.Type_GetEvent:
496
case
IntrinsicId
.Type_GetField:
499
case
IntrinsicId
.Type_GetProperty:
526
case
IntrinsicId
.Type_GetMember:
588
case
IntrinsicId
.Type_GetMethod:
669
case
IntrinsicId
.Type_GetNestedType:
754
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent:
755
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField:
756
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod:
757
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty:
769
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent => DynamicallyAccessedMemberTypes.PublicEvents,
770
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField => DynamicallyAccessedMemberTypes.PublicFields,
771
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod => DynamicallyAccessedMemberTypes.PublicMethods,
772
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty => DynamicallyAccessedMemberTypes.PublicProperties,
788
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent:
791
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField:
794
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod:
799
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty:
837
case
IntrinsicId
.Expression_New:
859
case
IntrinsicId
.Expression_Property when calledMethod.HasParameterOfType((ParameterIndex)1, "System.Reflection.MethodInfo"):
896
case
IntrinsicId
.Expression_Field:
897
case
IntrinsicId
.Expression_Property:
899
DynamicallyAccessedMemberTypes memberTypes = intrinsicId ==
IntrinsicId
.Expression_Property
919
if (intrinsicId ==
IntrinsicId
.Expression_Property)
951
case
IntrinsicId
.Expression_Call:
1006
case
IntrinsicId
.Nullable_GetUnderlyingType:
1042
case
IntrinsicId
.Type_GetType:
1098
case
IntrinsicId
.Type_MakeGenericType:
1190
case
IntrinsicId
.Type_get_BaseType:
1283
case
IntrinsicId
.Type_GetConstructor:
1342
case
IntrinsicId
.MethodInfo_MakeGenericMethod:
1383
case
IntrinsicId
.Activator_CreateInstance__Type:
1469
case
IntrinsicId
.Activator_CreateInstance__AssemblyName_TypeName:
1480
case
IntrinsicId
.Activator_CreateInstanceFrom:
1503
case
IntrinsicId
.AppDomain_CreateInstance:
1504
case
IntrinsicId
.AppDomain_CreateInstanceAndUnwrap:
1505
case
IntrinsicId
.AppDomain_CreateInstanceFrom:
1506
case
IntrinsicId
.AppDomain_CreateInstanceFromAndUnwrap:
1517
case
IntrinsicId
.Assembly_CreateInstance:
1522
case
IntrinsicId
.None:
src\tools\illink\src\ILLink.Shared\TrimAnalysis\Intrinsics.cs (67)
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,
34
=>
IntrinsicId
.MethodBase_GetMethodFromHandle,
37
"get_MethodHandle" when calledMethod.IsDeclaredOnType("System.Reflection.MethodBase") =>
IntrinsicId
.MethodBase_get_MethodHandle,
40
"MakeGenericType" when calledMethod.IsDeclaredOnType("System.Type") =>
IntrinsicId
.Type_MakeGenericType,
45
=>
IntrinsicId
.RuntimeReflectionExtensions_GetMethodInfo,
51
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent,
57
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField,
63
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod,
69
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty,
75
=>
IntrinsicId
.Expression_Call,
81
=>
IntrinsicId
.Expression_Field,
88
=>
IntrinsicId
.Expression_Property,
94
=>
IntrinsicId
.Expression_New,
100
=>
IntrinsicId
.Enum_GetValues,
106
=>
IntrinsicId
.Marshal_SizeOf,
112
=>
IntrinsicId
.Marshal_OffsetOf,
118
=>
IntrinsicId
.Marshal_PtrToStructure,
124
=>
IntrinsicId
.Marshal_DestroyStructure,
130
=>
IntrinsicId
.Marshal_GetDelegateForFunctionPointer,
140
=>
IntrinsicId
.Type_GetType,
148
=>
IntrinsicId
.Type_GetConstructor,
155
=>
IntrinsicId
.Type_GetConstructors__BindingFlags,
171
=>
IntrinsicId
.Type_GetMethod,
178
=>
IntrinsicId
.Type_GetMethods__BindingFlags,
185
=>
IntrinsicId
.Type_GetField,
192
=>
IntrinsicId
.Type_GetFields__BindingFlags,
199
=>
IntrinsicId
.Type_GetEvent,
206
=>
IntrinsicId
.Type_GetEvents__BindingFlags,
213
=>
IntrinsicId
.Type_GetNestedType,
220
=>
IntrinsicId
.Type_GetNestedTypes__BindingFlags,
231
=>
IntrinsicId
.Type_GetMember,
238
=>
IntrinsicId
.Type_GetMembers__BindingFlags,
247
=>
IntrinsicId
.Type_GetInterface,
252
=>
IntrinsicId
.Type_GetInterfaces,
258
=>
IntrinsicId
.Type_get_AssemblyQualifiedName,
264
=>
IntrinsicId
.Type_get_UnderlyingSystemType,
270
=>
IntrinsicId
.Type_get_BaseType,
282
=>
IntrinsicId
.Type_GetProperty,
289
=>
IntrinsicId
.Type_GetProperties__BindingFlags,
293
=>
IntrinsicId
.Object_GetType,
297
=>
IntrinsicId
.TypeDelegator_Ctor,
300
=>
IntrinsicId
.Array_Empty,
306
=>
IntrinsicId
.Array_CreateInstance,
317
=>
IntrinsicId
.Activator_CreateInstance__Type,
326
=>
IntrinsicId
.Activator_CreateInstance__AssemblyName_TypeName,
335
=>
IntrinsicId
.Activator_CreateInstanceFrom,
343
=>
IntrinsicId
.AppDomain_CreateInstance,
351
=>
IntrinsicId
.AppDomain_CreateInstanceAndUnwrap,
359
=>
IntrinsicId
.AppDomain_CreateInstanceFrom,
367
=>
IntrinsicId
.AppDomain_CreateInstanceFromAndUnwrap,
374
=>
IntrinsicId
.Assembly_CreateInstance,
378
=>
IntrinsicId
.Assembly_get_Location,
383
=>
IntrinsicId
.Assembly_GetFile,
389
=>
IntrinsicId
.Assembly_GetFiles,
393
=>
IntrinsicId
.AssemblyName_get_CodeBase,
397
=>
IntrinsicId
.AssemblyName_get_EscapedCodeBase,
402
=>
IntrinsicId
.RuntimeHelpers_RunClassConstructor,
408
=>
IntrinsicId
.MethodInfo_MakeGenericMethod,
414
=>
IntrinsicId
.Nullable_GetUnderlyingType,
420
=>
IntrinsicId
.Delegate_get_Method,
426
=>
IntrinsicId
.TypeMapping_GetOrCreateExternalTypeMapping,
432
=>
IntrinsicId
.TypeMapping_GetOrCreateProxyTypeMapping,
434
_ =>
IntrinsicId
.None,
TrimAnalysis\HandleCallAction.cs (20)
95
IntrinsicId
intrinsicId,
103
case
IntrinsicId
.Array_Empty:
107
case
IntrinsicId
.TypeDelegator_Ctor:
113
case
IntrinsicId
.Object_GetType:
193
case
IntrinsicId
.TypeMapping_GetOrCreateProxyTypeMapping:
194
case
IntrinsicId
.TypeMapping_GetOrCreateExternalTypeMapping:
208
case
IntrinsicId
.Array_CreateInstance:
209
case
IntrinsicId
.Assembly_GetFile:
210
case
IntrinsicId
.Assembly_GetFiles:
211
case
IntrinsicId
.AssemblyName_get_EscapedCodeBase:
212
case
IntrinsicId
.Assembly_get_Location:
213
case
IntrinsicId
.AssemblyName_get_CodeBase:
214
case
IntrinsicId
.Delegate_get_Method:
215
case
IntrinsicId
.Enum_GetValues:
216
case
IntrinsicId
.Marshal_DestroyStructure:
217
case
IntrinsicId
.Marshal_GetDelegateForFunctionPointer:
218
case
IntrinsicId
.Marshal_OffsetOf:
219
case
IntrinsicId
.Marshal_PtrToStructure:
220
case
IntrinsicId
.Marshal_SizeOf:
221
case
IntrinsicId
.RuntimeReflectionExtensions_GetMethodInfo:
TrimAnalysis\TrimAnalysisVisitor.cs (2)
374
var
intrinsicId = Intrinsics.GetIntrinsicIdForMethod(method);
380
static void UnhandledIntrinsicHelper(
IntrinsicId
intrinsicId)