177 references to IntrinsicId
ILLink.RoslynAnalyzer (177)
RequiresDynamicCodeAnalyzer.cs (3)
53var intrinsicId = Intrinsics.GetIntrinsicIdForMethod(method); 57case IntrinsicId.Type_MakeGenericType: 79case IntrinsicId.MethodInfo_MakeGenericMethod:
RequiresUnreferencedCodeAnalyzer.cs (1)
73if (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: 589case IntrinsicId.Type_GetMethod: 670case IntrinsicId.Type_GetNestedType: 755case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeEvent: 756case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeField: 757case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeMethod: 758case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeProperty: 770IntrinsicId.RuntimeReflectionExtensions_GetRuntimeEvent => DynamicallyAccessedMemberTypes.PublicEvents, 771IntrinsicId.RuntimeReflectionExtensions_GetRuntimeField => DynamicallyAccessedMemberTypes.PublicFields, 772IntrinsicId.RuntimeReflectionExtensions_GetRuntimeMethod => DynamicallyAccessedMemberTypes.PublicMethods, 773IntrinsicId.RuntimeReflectionExtensions_GetRuntimeProperty => DynamicallyAccessedMemberTypes.PublicProperties, 789case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeEvent: 792case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeField: 795case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeMethod: 800case IntrinsicId.RuntimeReflectionExtensions_GetRuntimeProperty: 838case IntrinsicId.Expression_New: 860case IntrinsicId.Expression_Property when calledMethod.HasParameterOfType((ParameterIndex)1, "System.Reflection.MethodInfo"): 897case IntrinsicId.Expression_Field: 898case IntrinsicId.Expression_Property: 900DynamicallyAccessedMemberTypes memberTypes = intrinsicId == IntrinsicId.Expression_Property 920if (intrinsicId == IntrinsicId.Expression_Property) 952case IntrinsicId.Expression_Call: 1007case IntrinsicId.Nullable_GetUnderlyingType: 1043case IntrinsicId.Type_GetType: 1099case IntrinsicId.Type_MakeGenericType: 1191case IntrinsicId.Type_get_BaseType: 1284case IntrinsicId.Type_GetConstructor: 1343case IntrinsicId.MethodInfo_MakeGenericMethod: 1384case IntrinsicId.Activator_CreateInstance__Type: 1470case IntrinsicId.Activator_CreateInstance__AssemblyName_TypeName: 1481case IntrinsicId.Activator_CreateInstanceFrom: 1504case IntrinsicId.AppDomain_CreateInstance: 1505case IntrinsicId.AppDomain_CreateInstanceAndUnwrap: 1506case IntrinsicId.AppDomain_CreateInstanceFrom: 1507case IntrinsicId.AppDomain_CreateInstanceFromAndUnwrap: 1518case IntrinsicId.Assembly_CreateInstance: 1523case 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)
98IntrinsicId intrinsicId, 106case IntrinsicId.Array_Empty: 110case IntrinsicId.TypeDelegator_Ctor: 116case IntrinsicId.Object_GetType: 196case IntrinsicId.TypeMapping_GetOrCreateProxyTypeMapping: 197case IntrinsicId.TypeMapping_GetOrCreateExternalTypeMapping: 211case IntrinsicId.Array_CreateInstance: 212case IntrinsicId.Assembly_GetFile: 213case IntrinsicId.Assembly_GetFiles: 214case IntrinsicId.AssemblyName_get_EscapedCodeBase: 215case IntrinsicId.Assembly_get_Location: 216case IntrinsicId.AssemblyName_get_CodeBase: 217case IntrinsicId.Delegate_get_Method: 218case IntrinsicId.Enum_GetValues: 219case IntrinsicId.Marshal_DestroyStructure: 220case IntrinsicId.Marshal_GetDelegateForFunctionPointer: 221case IntrinsicId.Marshal_OffsetOf: 222case IntrinsicId.Marshal_PtrToStructure: 223case IntrinsicId.Marshal_SizeOf: 224case IntrinsicId.RuntimeReflectionExtensions_GetMethodInfo:
TrimAnalysis\TrimAnalysisVisitor.cs (2)
384var intrinsicId = Intrinsics.GetIntrinsicIdForMethod(method); 390static void UnhandledIntrinsicHelper(IntrinsicId intrinsicId)