177 references to IntrinsicId
ILLink.RoslynAnalyzer (177)
RequiresDynamicCodeAnalyzer.cs (3)
52var intrinsicId = Intrinsics.GetIntrinsicIdForMethod(method); 56case IntrinsicId.Type_MakeGenericType: 78case IntrinsicId.MethodInfo_MakeGenericMethod:
RequiresUnreferencedCodeAnalyzer.cs (1)
95if (member is IMethodSymbol method && Intrinsics.GetIntrinsicIdForMethod(new MethodProxy(method)) != IntrinsicId.None)
src\tools\illink\src\ILLink.Shared\TrimAnalysis\HandleCallAction.cs (84)
31public bool Invoke(MethodProxy calledMethod, MultiValue instanceValue, IReadOnlyList<MultiValue> argumentValues, IntrinsicId intrinsicId, out MultiValue methodReturnValue) 81IntrinsicId intrinsicId, 88IntrinsicId intrinsicId, 99case IntrinsicId.IntrospectionExtensions_GetTypeInfo: 109case IntrinsicId.TypeInfo_AsType: 119case IntrinsicId.Type_get_UnderlyingSystemType: 124case IntrinsicId.Type_GetTypeFromHandle: 156case IntrinsicId.Type_get_TypeHandle: 189case IntrinsicId.MethodBase_GetMethodFromHandle: 208case IntrinsicId.MethodBase_get_MethodHandle: 226case IntrinsicId.TypeDelegator_Ctor: 229case IntrinsicId.Array_Empty: 231case IntrinsicId.Object_GetType: 239case IntrinsicId.Type_GetInterface: 287case IntrinsicId.Type_GetInterfaces: 320case IntrinsicId.Type_get_AssemblyQualifiedName: 356case IntrinsicId.RuntimeHelpers_RunClassConstructor: 394case IntrinsicId.Type_GetConstructors__BindingFlags: 395case IntrinsicId.Type_GetMethods__BindingFlags: 396case IntrinsicId.Type_GetFields__BindingFlags: 397case IntrinsicId.Type_GetProperties__BindingFlags: 398case IntrinsicId.Type_GetEvents__BindingFlags: 399case IntrinsicId.Type_GetNestedTypes__BindingFlags: 400case IntrinsicId.Type_GetMembers__BindingFlags: 409IntrinsicId.Type_GetConstructors__BindingFlags => DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors, 410IntrinsicId.Type_GetMethods__BindingFlags => DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods, 411IntrinsicId.Type_GetEvents__BindingFlags => DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents, 412IntrinsicId.Type_GetFields__BindingFlags => DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields, 413IntrinsicId.Type_GetProperties__BindingFlags => DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, 414IntrinsicId.Type_GetNestedTypes__BindingFlags => DynamicallyAccessedMemberTypes.PublicNestedTypes | DynamicallyAccessedMemberTypes.NonPublicNestedTypes, 415IntrinsicId.Type_GetMembers__BindingFlags => DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors | 428IntrinsicId.Type_GetConstructors__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForConstructors(bindingFlags), 429IntrinsicId.Type_GetMethods__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForMethods(bindingFlags), 430IntrinsicId.Type_GetEvents__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents(bindingFlags), 431IntrinsicId.Type_GetFields__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields(bindingFlags), 432IntrinsicId.Type_GetProperties__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties(bindingFlags), 433IntrinsicId.Type_GetNestedTypes__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForNestedTypes(bindingFlags), 434IntrinsicId.Type_GetMembers__BindingFlags => GetDynamicallyAccessedMemberTypesFromBindingFlagsForMembers(bindingFlags), 457case IntrinsicId.Type_GetField: 458case IntrinsicId.Type_GetProperty: 459case IntrinsicId.Type_GetEvent: 476IntrinsicId.Type_GetEvent => GetDynamicallyAccessedMemberTypesFromBindingFlagsForEvents(bindingFlags), 477IntrinsicId.Type_GetField => GetDynamicallyAccessedMemberTypesFromBindingFlagsForFields(bindingFlags), 478IntrinsicId.Type_GetProperty => GetDynamicallyAccessedMemberTypesFromBindingFlagsForProperties(bindingFlags), 493case IntrinsicId.Type_GetEvent: 496case IntrinsicId.Type_GetField: 499case IntrinsicId.Type_GetProperty: 526case IntrinsicId.Type_GetMember: 588case IntrinsicId.Type_GetMethod: 669case IntrinsicId.Type_GetNestedType: 754case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeEvent: 755case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeField: 756case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeMethod: 757case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeProperty: 769IntrinsicId.RuntimeReflectionExtensions_GetRuntimeEvent => DynamicallyAccessedMemberTypes.PublicEvents, 770IntrinsicId.RuntimeReflectionExtensions_GetRuntimeField => DynamicallyAccessedMemberTypes.PublicFields, 771IntrinsicId.RuntimeReflectionExtensions_GetRuntimeMethod => DynamicallyAccessedMemberTypes.PublicMethods, 772IntrinsicId.RuntimeReflectionExtensions_GetRuntimeProperty => DynamicallyAccessedMemberTypes.PublicProperties, 788case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeEvent: 791case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeField: 794case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeMethod: 799case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeProperty: 837case IntrinsicId.Expression_New: 859case IntrinsicId.Expression_Property when calledMethod.HasParameterOfType((ParameterIndex)1, "System.Reflection.MethodInfo"): 896case IntrinsicId.Expression_Field: 897case IntrinsicId.Expression_Property: 899DynamicallyAccessedMemberTypes memberTypes = intrinsicId == IntrinsicId.Expression_Property 919if (intrinsicId == IntrinsicId.Expression_Property) 951case IntrinsicId.Expression_Call: 1006case IntrinsicId.Nullable_GetUnderlyingType: 1042case IntrinsicId.Type_GetType: 1098case IntrinsicId.Type_MakeGenericType: 1190case IntrinsicId.Type_get_BaseType: 1283case IntrinsicId.Type_GetConstructor: 1342case IntrinsicId.MethodInfo_MakeGenericMethod: 1383case IntrinsicId.Activator_CreateInstance__Type: 1469case IntrinsicId.Activator_CreateInstance__AssemblyName_TypeName: 1480case IntrinsicId.Activator_CreateInstanceFrom: 1503case IntrinsicId.AppDomain_CreateInstance: 1504case IntrinsicId.AppDomain_CreateInstanceAndUnwrap: 1505case IntrinsicId.AppDomain_CreateInstanceFrom: 1506case IntrinsicId.AppDomain_CreateInstanceFromAndUnwrap: 1517case IntrinsicId.Assembly_CreateInstance: 1522case IntrinsicId.None:
src\tools\illink\src\ILLink.Shared\TrimAnalysis\Intrinsics.cs (67)
13public 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)
95IntrinsicId intrinsicId, 103case IntrinsicId.Array_Empty: 107case IntrinsicId.TypeDelegator_Ctor: 113case IntrinsicId.Object_GetType: 193case IntrinsicId.TypeMapping_GetOrCreateProxyTypeMapping: 194case IntrinsicId.TypeMapping_GetOrCreateExternalTypeMapping: 208case IntrinsicId.Array_CreateInstance: 209case IntrinsicId.Assembly_GetFile: 210case IntrinsicId.Assembly_GetFiles: 211case IntrinsicId.AssemblyName_get_EscapedCodeBase: 212case IntrinsicId.Assembly_get_Location: 213case IntrinsicId.AssemblyName_get_CodeBase: 214case IntrinsicId.Delegate_get_Method: 215case IntrinsicId.Enum_GetValues: 216case IntrinsicId.Marshal_DestroyStructure: 217case IntrinsicId.Marshal_GetDelegateForFunctionPointer: 218case IntrinsicId.Marshal_OffsetOf: 219case IntrinsicId.Marshal_PtrToStructure: 220case IntrinsicId.Marshal_SizeOf: 221case IntrinsicId.RuntimeReflectionExtensions_GetMethodInfo:
TrimAnalysis\TrimAnalysisVisitor.cs (2)
374var intrinsicId = Intrinsics.GetIntrinsicIdForMethod(method); 380static void UnhandledIntrinsicHelper(IntrinsicId intrinsicId)