171 references to IntrinsicId
ILLink.RoslynAnalyzer (171)
RequiresDynamicCodeAnalyzer.cs (3)
46
var
intrinsicId = Intrinsics.GetIntrinsicIdForMethod (method);
49
case
IntrinsicId
.Type_MakeGenericType: {
63
case
IntrinsicId
.MethodInfo_MakeGenericMethod: {
RequiresUnreferencedCodeAnalyzer.cs (1)
88
if (member is IMethodSymbol method && Intrinsics.GetIntrinsicIdForMethod (new MethodProxy (method)) !=
IntrinsicId
.None) {
src\tools\illink\src\ILLink.Shared\TrimAnalysis\HandleCallAction.cs (83)
31
public bool Invoke (MethodProxy calledMethod, MultiValue instanceValue, IReadOnlyList<MultiValue> argumentValues,
IntrinsicId
intrinsicId, out MultiValue methodReturnValue)
72
IntrinsicId
intrinsicId,
79
IntrinsicId
intrinsicId,
89
case
IntrinsicId
.IntrospectionExtensions_GetTypeInfo:
99
case
IntrinsicId
.TypeInfo_AsType:
109
case
IntrinsicId
.Type_get_UnderlyingSystemType:
114
case
IntrinsicId
.Type_GetTypeFromHandle:
141
case
IntrinsicId
.Type_get_TypeHandle:
169
case
IntrinsicId
.MethodBase_GetMethodFromHandle: {
185
case
IntrinsicId
.MethodBase_get_MethodHandle: {
200
case
IntrinsicId
.TypeDelegator_Ctor:
203
case
IntrinsicId
.Array_Empty:
205
case
IntrinsicId
.Object_GetType:
213
case
IntrinsicId
.Type_GetInterface: {
252
case
IntrinsicId
.Type_get_AssemblyQualifiedName: {
280
case
IntrinsicId
.RuntimeHelpers_RunClassConstructor:
304
case
IntrinsicId
.Type_GetConstructors__BindingFlags:
305
case
IntrinsicId
.Type_GetMethods__BindingFlags:
306
case
IntrinsicId
.Type_GetFields__BindingFlags:
307
case
IntrinsicId
.Type_GetProperties__BindingFlags:
308
case
IntrinsicId
.Type_GetEvents__BindingFlags:
309
case
IntrinsicId
.Type_GetNestedTypes__BindingFlags:
310
case
IntrinsicId
.Type_GetMembers__BindingFlags: {
316
IntrinsicId
.Type_GetConstructors__BindingFlags => DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors,
317
IntrinsicId
.Type_GetMethods__BindingFlags => DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods,
318
IntrinsicId
.Type_GetEvents__BindingFlags => DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents,
319
IntrinsicId
.Type_GetFields__BindingFlags => DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields,
320
IntrinsicId
.Type_GetProperties__BindingFlags => DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties,
321
IntrinsicId
.Type_GetNestedTypes__BindingFlags => DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes,
322
IntrinsicId
.Type_GetMembers__BindingFlags => DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors |
332
IntrinsicId
.Type_GetConstructors__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForConstructors (bindingFlags),
333
IntrinsicId
.Type_GetMethods__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForMethods (bindingFlags),
334
IntrinsicId
.Type_GetEvents__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents (bindingFlags),
335
IntrinsicId
.Type_GetFields__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields (bindingFlags),
336
IntrinsicId
.Type_GetProperties__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties (bindingFlags),
337
IntrinsicId
.Type_GetNestedTypes__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForNestedTypes (bindingFlags),
338
IntrinsicId
.Type_GetMembers__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForMembers (bindingFlags),
361
case
IntrinsicId
.Type_GetField:
362
case
IntrinsicId
.Type_GetProperty:
363
case
IntrinsicId
.Type_GetEvent: {
377
IntrinsicId
.Type_GetEvent => GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents (bindingFlags),
378
IntrinsicId
.Type_GetField => GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields (bindingFlags),
379
IntrinsicId
.Type_GetProperty => GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties (bindingFlags),
389
case
IntrinsicId
.Type_GetEvent:
392
case
IntrinsicId
.Type_GetField:
395
case
IntrinsicId
.Type_GetProperty:
418
case
IntrinsicId
.Type_GetMember: {
470
case
IntrinsicId
.Type_GetMethod: {
518
case
IntrinsicId
.Type_GetNestedType: {
579
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent:
580
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField:
581
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod:
582
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty: {
591
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent => DynamicallyAccessedMemberTypes.PublicEvents,
592
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField => DynamicallyAccessedMemberTypes.PublicFields,
593
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod => DynamicallyAccessedMemberTypes.PublicMethods,
594
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty => DynamicallyAccessedMemberTypes.PublicProperties,
605
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent:
608
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField:
611
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod:
616
case
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty:
646
case
IntrinsicId
.Expression_New: {
663
case
IntrinsicId
.Expression_Property when calledMethod.HasParameterOfType ((ParameterIndex) 1, "System.Reflection.MethodInfo"): {
694
case
IntrinsicId
.Expression_Field:
695
case
IntrinsicId
.Expression_Property: {
696
DynamicallyAccessedMemberTypes memberTypes = intrinsicId ==
IntrinsicId
.Expression_Property
711
if (intrinsicId ==
IntrinsicId
.Expression_Property) {
734
case
IntrinsicId
.Expression_Call: {
777
case
IntrinsicId
.Nullable_GetUnderlyingType:
810
case
IntrinsicId
.Type_GetType: {
852
case
IntrinsicId
.Type_MakeGenericType:
927
case
IntrinsicId
.Type_get_BaseType: {
985
case
IntrinsicId
.Type_GetConstructor: {
1034
case
IntrinsicId
.MethodInfo_MakeGenericMethod: {
1067
case
IntrinsicId
.Activator_CreateInstance__Type: {
1137
case
IntrinsicId
.Activator_CreateInstance__AssemblyName_TypeName:
1148
case
IntrinsicId
.Activator_CreateInstanceFrom:
1171
case
IntrinsicId
.AppDomain_CreateInstance:
1172
case
IntrinsicId
.AppDomain_CreateInstanceAndUnwrap:
1173
case
IntrinsicId
.AppDomain_CreateInstanceFrom:
1174
case
IntrinsicId
.AppDomain_CreateInstanceFromAndUnwrap:
1185
case
IntrinsicId
.Assembly_CreateInstance:
1190
case
IntrinsicId
.None:
src\tools\illink\src\ILLink.Shared\TrimAnalysis\Intrinsics.cs (64)
13
public static
IntrinsicId
GetIntrinsicIdForMethod (MethodProxy calledMethod)
17
"GetTypeInfo" when calledMethod.IsDeclaredOnType ("System.Reflection.IntrospectionExtensions") =>
IntrinsicId
.IntrospectionExtensions_GetTypeInfo,
20
"AsType" when calledMethod.IsDeclaredOnType ("System.Reflection.TypeInfo") =>
IntrinsicId
.TypeInfo_AsType,
23
"GetTypeFromHandle" when calledMethod.IsDeclaredOnType ("System.Type") =>
IntrinsicId
.Type_GetTypeFromHandle,
26
"get_TypeHandle" when calledMethod.IsDeclaredOnType ("System.Type") =>
IntrinsicId
.Type_get_TypeHandle,
33
=>
IntrinsicId
.MethodBase_GetMethodFromHandle,
36
"get_MethodHandle" when calledMethod.IsDeclaredOnType ("System.Reflection.MethodBase") =>
IntrinsicId
.MethodBase_get_MethodHandle,
39
"MakeGenericType" when calledMethod.IsDeclaredOnType ("System.Type") =>
IntrinsicId
.Type_MakeGenericType,
44
=>
IntrinsicId
.RuntimeReflectionExtensions_GetMethodInfo,
50
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeEvent,
56
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeField,
62
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeMethod,
68
=>
IntrinsicId
.RuntimeReflectionExtensions_GetRuntimeProperty,
74
=>
IntrinsicId
.Expression_Call,
80
=>
IntrinsicId
.Expression_Field,
87
=>
IntrinsicId
.Expression_Property,
93
=>
IntrinsicId
.Expression_New,
99
=>
IntrinsicId
.Enum_GetValues,
105
=>
IntrinsicId
.Marshal_SizeOf,
111
=>
IntrinsicId
.Marshal_OffsetOf,
117
=>
IntrinsicId
.Marshal_PtrToStructure,
123
=>
IntrinsicId
.Marshal_DestroyStructure,
129
=>
IntrinsicId
.Marshal_GetDelegateForFunctionPointer,
139
=>
IntrinsicId
.Type_GetType,
147
=>
IntrinsicId
.Type_GetConstructor,
154
=>
IntrinsicId
.Type_GetConstructors__BindingFlags,
170
=>
IntrinsicId
.Type_GetMethod,
177
=>
IntrinsicId
.Type_GetMethods__BindingFlags,
184
=>
IntrinsicId
.Type_GetField,
191
=>
IntrinsicId
.Type_GetFields__BindingFlags,
198
=>
IntrinsicId
.Type_GetEvent,
205
=>
IntrinsicId
.Type_GetEvents__BindingFlags,
212
=>
IntrinsicId
.Type_GetNestedType,
219
=>
IntrinsicId
.Type_GetNestedTypes__BindingFlags,
230
=>
IntrinsicId
.Type_GetMember,
237
=>
IntrinsicId
.Type_GetMembers__BindingFlags,
246
=>
IntrinsicId
.Type_GetInterface,
252
=>
IntrinsicId
.Type_get_AssemblyQualifiedName,
258
=>
IntrinsicId
.Type_get_UnderlyingSystemType,
264
=>
IntrinsicId
.Type_get_BaseType,
276
=>
IntrinsicId
.Type_GetProperty,
283
=>
IntrinsicId
.Type_GetProperties__BindingFlags,
287
=>
IntrinsicId
.Object_GetType,
291
=>
IntrinsicId
.TypeDelegator_Ctor,
294
=>
IntrinsicId
.Array_Empty,
300
=>
IntrinsicId
.Array_CreateInstance,
311
=>
IntrinsicId
.Activator_CreateInstance__Type,
320
=>
IntrinsicId
.Activator_CreateInstance__AssemblyName_TypeName,
329
=>
IntrinsicId
.Activator_CreateInstanceFrom,
337
=>
IntrinsicId
.AppDomain_CreateInstance,
345
=>
IntrinsicId
.AppDomain_CreateInstanceAndUnwrap,
353
=>
IntrinsicId
.AppDomain_CreateInstanceFrom,
361
=>
IntrinsicId
.AppDomain_CreateInstanceFromAndUnwrap,
368
=>
IntrinsicId
.Assembly_CreateInstance,
372
=>
IntrinsicId
.Assembly_get_Location,
377
=>
IntrinsicId
.Assembly_GetFile,
383
=>
IntrinsicId
.Assembly_GetFiles,
387
=>
IntrinsicId
.AssemblyName_get_CodeBase,
391
=>
IntrinsicId
.AssemblyName_get_EscapedCodeBase,
396
=>
IntrinsicId
.RuntimeHelpers_RunClassConstructor,
402
=>
IntrinsicId
.MethodInfo_MakeGenericMethod,
408
=>
IntrinsicId
.Nullable_GetUnderlyingType,
414
=>
IntrinsicId
.Delegate_get_Method,
416
_ =>
IntrinsicId
.None,
TrimAnalysis\HandleCallAction.cs (18)
48
IntrinsicId
intrinsicId,
55
case
IntrinsicId
.Array_Empty:
59
case
IntrinsicId
.TypeDelegator_Ctor:
65
case
IntrinsicId
.Object_GetType: {
118
case
IntrinsicId
.Array_CreateInstance:
119
case
IntrinsicId
.Assembly_GetFile:
120
case
IntrinsicId
.Assembly_GetFiles:
121
case
IntrinsicId
.AssemblyName_get_EscapedCodeBase:
122
case
IntrinsicId
.Assembly_get_Location:
123
case
IntrinsicId
.AssemblyName_get_CodeBase:
124
case
IntrinsicId
.Delegate_get_Method:
125
case
IntrinsicId
.Enum_GetValues:
126
case
IntrinsicId
.Marshal_DestroyStructure:
127
case
IntrinsicId
.Marshal_GetDelegateForFunctionPointer:
128
case
IntrinsicId
.Marshal_OffsetOf:
129
case
IntrinsicId
.Marshal_PtrToStructure:
130
case
IntrinsicId
.Marshal_SizeOf:
131
case
IntrinsicId
.RuntimeReflectionExtensions_GetMethodInfo:
TrimAnalysis\TrimAnalysisVisitor.cs (2)
332
var
intrinsicId = Intrinsics.GetIntrinsicIdForMethod (method);
338
static void UnhandledIntrinsicHelper (
IntrinsicId
intrinsicId)