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)