311 references to Specific
ILCompiler.Compiler (222)
Compiler\Compilation.cs (2)
486Debug.Assert(!calledMethod.IsCanonicalMethod(CanonicalFormKind.Specific)); 488MethodDesc targetMethod = calledMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\Dataflow\HandleCallAction.cs (2)
315_reflectionMarker.Dependencies.Add(_reflectionMarker.Factory.ReflectedMethod(ctorMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Marshal API"); 388_reflectionMarker.Dependencies.Add(_reflectionMarker.Factory.ReflectedDelegate(staticType.ConvertToCanonForm(CanonicalFormKind.Specific)), "Delegate.Method access");
Compiler\DelegateCreationInfo.cs (3)
244MethodDesc targetCanonMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 279targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 285targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\CustomAttributeBasedDependencyAlgorithm.cs (2)
128caDependencies.Add(factory.ReflectedMethod(constructor.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Attribute constructor"); 244dependencies.Add(factory.ReflectedMethod(setterMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Custom attribute blob");
Compiler\DependencyAnalysis\DelegateTargetVirtualMethodNode.cs (3)
23Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 49Debug.Assert(declaration.GetCanonMethodTarget(CanonicalFormKind.Specific) == declaration); 50Debug.Assert(implementation.GetCanonMethodTarget(CanonicalFormKind.Specific) == implementation);
Compiler\DependencyAnalysis\EETypeNode.cs (24)
88Debug.Assert(!type.IsCanonicalSubtype(CanonicalFormKind.Any) || type == type.ConvertToCanonForm(CanonicalFormKind.Specific)); 258return (_type.ConvertToCanonForm(CanonicalFormKind.Specific) != _type); 344sink.Add(new CombinedDependencyListEntry(maximallyConstructableType, factory.MaximallyConstructableType(_type.ConvertToCanonForm(CanonicalFormKind.Specific)), "Trigger full type generation if canonical form exists")); 349TypeDesc canonOwningType = _type.ConvertToCanonForm(CanonicalFormKind.Specific); 391MethodDesc canonImpl = impl.GetCanonMethodTarget(CanonicalFormKind.Specific); 409factory.DelegateTargetVirtualMethod(decl.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Slot is a delegate target")); 479MethodDesc defaultIntfMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 487factory.DelegateTargetVirtualMethod(interfaceMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Interface slot is delegate target")); 496factory.DelegateTargetVirtualMethod(implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), 497factory.DelegateTargetVirtualMethod(interfaceMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), 531MethodDesc defaultIntfMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 535defaultIntfMethod = factory.TypeSystemContext.GetDefaultInterfaceMethodImplementationThunk(defaultIntfMethod, defType.ConvertToCanonForm(CanonicalFormKind.Specific), providingInterfaceDefinitionType, out int providingInterfaceIndex); 549factory.DelegateTargetVirtualMethod(interfaceMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), 612sink.Add(new DependencyListEntry(factory.SealedVTable(_type.ConvertToCanonForm(CanonicalFormKind.Specific)), "Sealed Vtable")); 624TypeDesc canonicalType = _type.ConvertToCanonForm(CanonicalFormKind.Specific); 645foreach (var method in _type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific).GetAllMethodsAndAsyncVariants()) 650sink.Add(factory.MethodEntrypoint(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), 768SealedVTableNode sealedVTable = factory.SealedVTable(_type.ConvertToCanonForm(CanonicalFormKind.Specific)); 896declType.ConvertToCanonForm(CanonicalFormKind.Specific) == declType; 980MethodDesc canonImplMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 994else if (factory.DelegateTargetVirtualMethod(declMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)).Marked) 1049MethodDesc canonFinalizerMethod = finalizerMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1088SealedVTableNode sealedVTable = factory.SealedVTable(_type.ConvertToCanonForm(CanonicalFormKind.Specific)); 1190ISymbolNode dispatchMap = factory.InterfaceDispatchMap(_type.ConvertToCanonForm(CanonicalFormKind.Specific));
Compiler\DependencyAnalysis\ExactMethodInstantiationsEntryNode.cs (1)
22Debug.Assert(!method.GetCanonMethodTarget(CanonicalFormKind.Specific).IsCanonicalMethod(CanonicalFormKind.Any));
Compiler\DependencyAnalysis\FatFunctionPointerNode.cs (2)
26Debug.Assert(methodRepresented.GetCanonMethodTarget(CanonicalFormKind.Specific) != methodRepresented); 69MethodDesc canonMethod = Method.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\GCStaticsNode.cs (3)
22Debug.Assert(!type.IsCanonicalSubtype(CanonicalFormKind.Specific)); 68public override bool HasConditionalStaticDependencies => _type.ConvertToCanonForm(CanonicalFormKind.Specific) != _type; 76factory.NativeLayout.TemplateTypeLayout(_type.ConvertToCanonForm(CanonicalFormKind.Specific)),
Compiler\DependencyAnalysis\GCStaticsPreInitDataNode.cs (1)
23Debug.Assert(!preinitializationInfo.Type.IsCanonicalSubtype(CanonicalFormKind.Specific));
Compiler\DependencyAnalysis\GenericDictionaryNode.cs (10)
114return factory.GenericDictionaryLayout(_owningType.ConvertToCanonForm(CanonicalFormKind.Specific)); 124TypeDesc canonicalOwningType = _owningType.ConvertToCanonForm(CanonicalFormKind.Specific); 138factory.ConstructedTypeSymbol(arg.ConvertToCanonForm(CanonicalFormKind.Specific)), 160factory.MethodEntrypoint(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), 172Debug.Assert(owningType.ConvertToCanonForm(CanonicalFormKind.Specific) != owningType); 208MethodDesc canonicalTarget = _owningMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 226factory.ConstructedTypeSymbol(arg.ConvertToCanonForm(CanonicalFormKind.Specific)), 236factory.ConstructedTypeSymbol(arg.ConvertToCanonForm(CanonicalFormKind.Specific)), 247return factory.GenericDictionaryLayout(_owningMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 274Debug.Assert(owningMethod.GetCanonMethodTarget(CanonicalFormKind.Specific) != owningMethod);
Compiler\DependencyAnalysis\GenericLookupResult.cs (3)
661MethodDesc canonMethod = _method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1070MethodDesc canonMethod = _constrainedMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1139if (implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).IsSharedByGenericInstantiations)
Compiler\DependencyAnalysis\GenericMethodsTemplateMap.cs (2)
93if (method.IsCanonicalMethod(CanonicalFormKind.Specific)) 96Debug.Assert(method == method.GetCanonMethodTarget(CanonicalFormKind.Specific));
Compiler\DependencyAnalysis\GenericTypesTemplateMap.cs (1)
118Debug.Assert(type == type.ConvertToCanonForm(CanonicalFormKind.Specific));
Compiler\DependencyAnalysis\GenericVirtualMethodImplNode.cs (1)
22Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method);
Compiler\DependencyAnalysis\GvmDispatchCellInfoSectionNode.cs (1)
102MethodDesc canonMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ILScanNodeFactory.cs (1)
49if (!Target.IsWasm && method.IsCanonicalMethod(CanonicalFormKind.Specific) && !method.HasInstantiation)
Compiler\DependencyAnalysis\InterfaceDispatchMapNode.cs (3)
26Debug.Assert(type.ConvertToCanonForm(CanonicalFormKind.Specific) == type); 208int genericContext = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstArg() 258implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstArg())
Compiler\DependencyAnalysis\MethodAssociatedDataNode.cs (1)
31Debug.Assert(methodNode.Method.GetCanonMethodTarget(CanonicalFormKind.Specific) == methodNode.Method);
Compiler\DependencyAnalysis\NativeLayoutVertexNode.cs (24)
784Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method, "Assert that the canonical method passed in is in standard canonical form"); 847public TypeDesc CanonType => _type.ConvertToCanonForm(CanonicalFormKind.Specific); 854Debug.Assert(type.ConvertToCanonForm(CanonicalFormKind.Specific) == type, "Assert that the canonical type passed in is in standard canonical form"); 877MetadataType closestCanonDefType = (MetadataType)_type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific); 887MetadataType closestCanonDefType = (MetadataType)_type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific); 897ISymbolNode typeNode = context.MaximallyConstructableType(_type.ConvertToCanonForm(CanonicalFormKind.Specific)); 906sink.Add(context.GenericDictionaryLayout(_type.ConvertToCanonForm(CanonicalFormKind.Specific).GetClosestDefType()), "Dictionary layout"); 918if (context.PreinitializationManager.HasLazyStaticConstructor(_type.ConvertToCanonForm(CanonicalFormKind.Specific))) 920sink.Add(context.MethodEntrypoint(_type.GetStaticConstructor().GetCanonMethodTarget(CanonicalFormKind.Specific)), "cctor for template"); 932DefType closestCanonDefType = (DefType)_type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific); 973DictionaryLayoutNode associatedLayout = factory.GenericDictionaryLayout(_type.ConvertToCanonForm(CanonicalFormKind.Specific).GetClosestDefType()); 1004if (factory.PreinitializationManager.HasLazyStaticConstructor(_type.ConvertToCanonForm(CanonicalFormKind.Specific))) 1007MethodDesc canonCctorMethod = cctorMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1013DefType closestCanonDefType = (DefType)_type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific); 1215MethodDesc canonMethod = _method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1231method = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1266MethodDesc canonMethod = _method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1304GenericMethodsTemplateMap.AddTemplateMethodDependencies(sink, factory, _method.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1339var canonOwningType = (InstantiatedType)_field.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 1380factory.MetadataManager.GetDependenciesDueToLdToken(sink, factory, _method.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1384sink.Add(factory.GVMDependencies(_method.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Potential dynamic GVM call"); 1464MethodDesc canonMethod = _constrainedMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1482var canonConstrainedMethod = _constrainedMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1539GenericMethodsTemplateMap.AddTemplateMethodDependencies(sink, factory, _method.GetCanonMethodTarget(CanonicalFormKind.Specific));
Compiler\DependencyAnalysis\NodeFactory.cs (5)
1197MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1206MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1215MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1338new ShadowConcreteMethodNode(key, (IMethodBodyNode)_factory.MethodEntrypoint(key.GetCanonMethodTarget(CanonicalFormKind.Specific))); 1356new ShadowNonConcreteMethodNode(key, (IMethodBodyNode)_factory.MethodEntrypoint(key.GetCanonMethodTarget(CanonicalFormKind.Specific)));
Compiler\DependencyAnalysis\NodeFactory.NativeLayout.cs (2)
161TypeDesc arrayCanonicalType = type.ConvertToCanonForm(CanonicalFormKind.Specific); 191TypeDesc canonicalType = type.ConvertToCanonForm(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\NonGCStaticsNode.cs (4)
28Debug.Assert(!type.IsCanonicalSubtype(CanonicalFormKind.Specific)); 111TypeDesc canonType = type.ConvertToCanonForm(CanonicalFormKind.Specific); 157public override bool HasConditionalStaticDependencies => _type.ConvertToCanonForm(CanonicalFormKind.Specific) != _type; 165factory.NativeLayout.TemplateTypeLayout(_type.ConvertToCanonForm(CanonicalFormKind.Specific)),
Compiler\DependencyAnalysis\NotReadOnlyFieldNode.cs (1)
24|| field.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific) == field.OwningType);
Compiler\DependencyAnalysis\ProxyTypeMapNode.cs (1)
52TypeDesc canonKey = key.ConvertToCanonForm(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRunGenericHelperNode.cs (3)
126return factory.PreinitializationManager.HasLazyStaticConstructor(type.ConvertToCanonForm(CanonicalFormKind.Specific)); 251MethodDesc targetMethod = delegateCreationInfo.PossiblyUnresolvedTargetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 293MethodDesc targetMethod = delegateCreationInfo.PossiblyUnresolvedTargetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRunHelperNode.cs (2)
79method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 157info.PossiblyUnresolvedTargetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific));
Compiler\DependencyAnalysis\ReflectedDelegateNode.cs (1)
31|| delegateType.ConvertToCanonForm(CanonicalFormKind.Specific) == delegateType);
Compiler\DependencyAnalysis\ReflectedFieldNode.cs (1)
27|| field.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific) == field.OwningType);
Compiler\DependencyAnalysis\ReflectedMethodNode.cs (1)
27Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method);
Compiler\DependencyAnalysis\ReflectedTypeNode.cs (1)
29|| type.ConvertToCanonForm(CanonicalFormKind.Specific) == type);
Compiler\DependencyAnalysis\ReflectionFieldMapNode.cs (1)
147int hashCode = field.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific).GetHashCode();
Compiler\DependencyAnalysis\ReflectionInvokeMapNode.cs (2)
44Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 141Debug.Assert(method == method.GetCanonMethodTarget(CanonicalFormKind.Specific));
Compiler\DependencyAnalysis\ReflectionVirtualInvokeMapNode.cs (3)
86factory.NecessaryTypeSymbol(method.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific)), 95dependencies.Add(factory.GVMDependencies(slotDefiningMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), "GVM callable reflectable method"); 156TypeDesc containingTypeKey = method.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\RuntimeMethodHandleNode.cs (1)
56MethodDesc canonMethod = _targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ScannedMethodNode.cs (1)
34Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method);
Compiler\DependencyAnalysis\SealedVTableNode.cs (9)
139if (factory.DelegateTargetVirtualMethod(virtualSlots[i].GetCanonMethodTarget(CanonicalFormKind.Specific)).Marked) 140node = factory.AddressTakenMethodEntrypoint(implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific), unboxingStub: !implMethod.Signature.IsStatic && declType.IsValueType); 142node = factory.MethodEntrypoint(implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific), unboxingStub: !implMethod.Signature.IsStatic && declType.IsValueType); 199if (factory.DelegateTargetVirtualMethod(declMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)).Marked) 200node = factory.AddressTakenMethodEntrypoint(targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific), unboxingStub: !targetMethod.Signature.IsStatic && declType.IsValueType); 202node = factory.MethodEntrypoint(targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific), unboxingStub: !targetMethod.Signature.IsStatic && declType.IsValueType); 218MethodDesc canonImplMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 223canonImplMethod = factory.TypeSystemContext.GetDefaultInterfaceMethodImplementationThunk(canonImplMethod, declType.ConvertToCanonForm(CanonicalFormKind.Specific), providingInterfaceDefinitionType, out int providingInterfaceIndex); 234if (factory.DelegateTargetVirtualMethod(declMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)).Marked)
Compiler\DependencyAnalysis\ThreadStaticsNode.cs (3)
24Debug.Assert(!type.IsCanonicalSubtype(CanonicalFormKind.Specific)); 102_type.ConvertToCanonForm(CanonicalFormKind.Specific) != _type: 113factory.NativeLayout.TemplateTypeLayout(_type.ConvertToCanonForm(CanonicalFormKind.Specific)),
Compiler\DependencyAnalysis\UnboxingStubNode.cs (1)
37Debug.Assert(target.GetCanonMethodTarget(CanonicalFormKind.Specific) == target);
Compiler\DependencyAnalysis\VTableSliceNode.cs (3)
87TypeDesc canonType = _type.ConvertToCanonForm(CanonicalFormKind.Specific); 216return _type.ConvertToCanonForm(CanonicalFormKind.Specific) != _type; 241factory.VirtualMethodUse(method.GetCanonMethodTarget(CanonicalFormKind.Specific)),
Compiler\ILScanner.cs (16)
384MethodDesc targetMethod = methodDictLookup.Method.GetCanonMethodTarget(CanonicalFormKind.Specific); 499TypeDesc canonForm = type.ConvertToCanonForm(CanonicalFormKind.Specific); 569TypeDesc canonType = type.ConvertToCanonForm(CanonicalFormKind.Specific); 578baseType = baseType.ConvertToCanonForm(CanonicalFormKind.Specific); 588baseType = baseType.ConvertToCanonForm(CanonicalFormKind.Specific); 623_overriddenMethods.Add(baseVtable[i].GetCanonMethodTarget(CanonicalFormKind.Specific)); 653|| baseType.ConvertToCanonForm(CanonicalFormKind.Specific) != baseType) 685TypeDesc canonType = type.ConvertToCanonForm(CanonicalFormKind.Specific); 722MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 734if (!_canonConstructedTypes.Contains(implType.ConvertToCanonForm(CanonicalFormKind.Specific))) 909if (t.ConvertToCanonForm(CanonicalFormKind.Specific) != t) 960&& nonGCStatics.Type.ConvertToCanonForm(CanonicalFormKind.Specific) != nonGCStatics.Type 963_canonFormsWithCctorChecks.Add(nonGCStatics.Type.ConvertToCanonForm(CanonicalFormKind.Specific)); 969&& eeType.Type.ConvertToCanonForm(CanonicalFormKind.Specific) != eeType.Type 972_canonFormsWithCctorChecks.Add(eeType.Type.ConvertToCanonForm(CanonicalFormKind.Specific)); 1008var canonOwningType = (InstantiatedType)owningType.ConvertToCanonForm(CanonicalFormKind.Specific);
Compiler\MetadataManager.cs (4)
478factory.NativeLayout.TemplateMethodEntry(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), 529TypeDesc owningCanonicalType = field.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 866Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 898TypeDesc canonOwningType = field.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific);
Compiler\MultiFileCompilationModuleGroup.cs (2)
55Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) != method); 106type.ConvertToCanonForm(CanonicalFormKind.Specific).IsCanonicalSubtype(CanonicalFormKind.Any);
Compiler\PreinitializationManager.cs (1)
169(key.ConvertToCanonForm(CanonicalFormKind.Specific) is DefType canonType && (key == canonType || !_policy.CanPreinitializeAllConcreteFormsForCanonForm(canonType))));
Compiler\RootingHelpers.cs (2)
61foreach (var method in type.ConvertToCanonForm(CanonicalFormKind.Specific).GetMethods()) 234factory.ReflectedMethod(method.GetCanonMethodTarget(CanonicalFormKind.Specific)),
Compiler\RootingServiceProvider.cs (2)
29MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 66_rootAdder(_factory.ReflectedMethod(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), reason);
Compiler\RuntimeConstructableTypeDependencies.cs (2)
27&& !trimmingTargetType.ConvertToCanonForm(CanonicalFormKind.Specific).GetParameterType().IsCanonicalDefinitionType(CanonicalFormKind.Any)) 65TypeDesc canonType = type.ConvertToCanonForm(CanonicalFormKind.Specific);
Compiler\SingleFileCompilationModuleGroup.cs (1)
29Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) != method);
Compiler\SingleMethodCompilationModuleGroup.cs (2)
33return method == _method || method == _method.GetCanonMethodTarget(CanonicalFormKind.Specific); 38Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) != method);
Compiler\TypePreinit.cs (2)
3274Type.ConvertToCanonForm(CanonicalFormKind.Specific), 3287MethodDesc targetMethod = creationInfo.PossiblyUnresolvedTargetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\UsageBasedMetadataManager.cs (11)
309dependencies.Add(factory.ReflectedMethod(invokeMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Delegate invoke method is always reflectable"); 323dependencies.Add(factory.ReflectedMethod(defaultConstructor.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Array.Initialize needs default constructor"); 526factory.ReflectedMethod(reflectedMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), 546MethodDesc canonicalMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 564ReflectedMethodNode reflectedMethod = factory.ReflectedMethod(target.GetCanonMethodTarget(CanonicalFormKind.Specific)); 566TypeDesc canonDelegateType = delegateType.ConvertToCanonForm(CanonicalFormKind.Specific); 587DelegateTargetVirtualMethodNode targetVirtualMethod = factory.ReflectedDelegateTargetVirtualMethod(target.GetCanonMethodTarget(CanonicalFormKind.Specific)); 621decl.GetCanonMethodTarget(CanonicalFormKind.Specific), 622impl.GetCanonMethodTarget(CanonicalFormKind.Specific)), 705var dependency = factory.ReflectedMethod(method.GetCanonMethodTarget(CanonicalFormKind.Specific)); 744if (fieldOwningType.IsCanonicalSubtype(CanonicalFormKind.Specific))
Compiler\UserDefinedTypeDescriptor.cs (3)
248return type.ConvertToCanonForm(CanonicalFormKind.Specific); 534if (type.IsCanonicalSubtype(CanonicalFormKind.Specific) || ShouldUseCanonicalTypeRecord(type)) 536type = type.ConvertToCanonForm(CanonicalFormKind.Specific);
Compiler\VirtualMethodCallHelper.cs (2)
132baseType = baseType.ConvertToCanonForm(CanonicalFormKind.Specific); 175(type.ConvertToCanonForm(CanonicalFormKind.Specific) != type || type.IsCanonicalSubtype(CanonicalFormKind.Any));
IL\ILImporter.Scanner.cs (15)
217_compilation.TypeSystemContext.EnsureLoadableType(type.ConvertToCanonForm(CanonicalFormKind.Specific)); 223_compilation.TypeSystemContext.EnsureLoadableMethod(method.GetCanonMethodTarget(CanonicalFormKind.Specific)); 742constrained = constrained.ConvertToCanonForm(CanonicalFormKind.Specific); 867Debug.Assert(targetOfLookup.GetCanonMethodTarget(CanonicalFormKind.Specific) == targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 873else if (directCall && !allowInstParam && targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstArg()) 903targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1014methodToLookup.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1062TypeDesc canonDelegateType = ctorMethod.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 1135MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific); 1195&& !typeEqualityCheckType.ConvertToCanonForm(CanonicalFormKind.Specific).IsCanonicalSubtype(CanonicalFormKind.Any)) 1217&& !isinstCheckType.ConvertToCanonForm(CanonicalFormKind.Specific).IsCanonicalSubtype(CanonicalFormKind.Any) 1454TypeDesc canonFieldOwningType = fieldOwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 1591TypeDesc typeForAccessCheck = type.IsRuntimeDeterminedSubtype ? type.ConvertToCanonForm(CanonicalFormKind.Specific) : type; 2076MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific);
parent\parent\Common\Compiler\DependencyAnalysis\GVMDependenciesNode.cs (6)
32Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 110potentialOverrideType.ConvertToCanonForm(CanonicalFormKind.Specific) != potentialOverrideType) 135if (potentialInterfaces[interfaceIndex].ConvertToCanonForm(CanonicalFormKind.Specific) == methodOwningType) 161MethodDesc canonImpl = implementingMethodInstantiation.GetCanonMethodTarget(CanonicalFormKind.Specific); 218if (overrideTypeCur.ConvertToCanonForm(CanonicalFormKind.Specific) == methodOwningType) 241.GetCanonMethodTarget(CanonicalFormKind.Specific);
parent\parent\Common\Compiler\DependencyAnalysis\ShadowMethodNode.cs (1)
48Debug.Assert(canonicalMethod.Method == method.GetCanonMethodTarget(CanonicalFormKind.Specific));
parent\parent\Common\Compiler\DependencyAnalysis\VirtualMethodUseNode.cs (1)
65MethodDesc canonDecl = _decl.GetCanonMethodTarget(CanonicalFormKind.Specific);
parent\parent\Common\Compiler\DevirtualizationManager.cs (4)
78DefType canonicalInterfaceType = (DefType)declMethod.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 83runtimeInterface.ConvertToCanonForm(CanonicalFormKind.Specific) == canonicalInterfaceType) 185if ((checkType == null) || (checkType.ConvertToCanonForm(CanonicalFormKind.Specific) != declMethod.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific)))
parent\parent\Common\Compiler\MethodExtensions.cs (1)
133&& !owningType.ConvertToCanonForm(CanonicalFormKind.Specific).IsCanonicalSubtype(CanonicalFormKind.Any))
parent\parent\Common\Compiler\TypeExtensions.cs (6)
426interfaceMethod = interfaceMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 457TypeDesc interfaceTypeCanonical = interfaceType.ConvertToCanonForm(CanonicalFormKind.Specific); 504TypeDesc canonType = constrainedType.ConvertToCanonForm(CanonicalFormKind.Specific); 523if (potentialInterfaceType.ConvertToCanonForm(CanonicalFormKind.Specific) == 524interfaceType.ConvertToCanonForm(CanonicalFormKind.Specific)) 681return thisType.ConvertToCanonForm(CanonicalFormKind.Specific);
parent\parent\Common\TypeSystem\IL\Stubs\ComparerIntrinsics.cs (2)
218if (implementedInterface.ConvertToCanonForm(CanonicalFormKind.Specific) != 219interfaceType.MakeInstantiatedType(type).ConvertToCanonForm(CanonicalFormKind.Specific))
ILCompiler.ReadyToRun (53)
Compiler\DependencyAnalysis\ArrayInterfaceMethodsNode.cs (1)
65MethodDesc canonHelperMethod = helperMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\InheritedVirtualMethodsNode.cs (3)
31Debug.Assert(type == type.ConvertToCanonForm(CanonicalFormKind.Specific)); 62MethodDesc canonImpl = impl.GetCanonMethodTarget(CanonicalFormKind.Specific); 120implMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRun\DelayLoadHelperMethodImport.cs (1)
46MethodDesc canonMethod = _method.Method.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRun\MethodFixupSignature.cs (1)
86MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRun\ModuleTokenResolver.cs (2)
104method = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 337else if (type.IsCanonicalDefinitionType(CanonicalFormKind.Specific))
Compiler\DependencyAnalysis\ReadyToRun\SignatureBuilder.cs (1)
302else if (typeDesc.IsCanonicalDefinitionType(CanonicalFormKind.Specific))
Compiler\DependencyAnalysis\ReadyToRun\TypeFixupSignature.cs (1)
234foreach (MethodDesc method in type.ConvertToCanonForm(CanonicalFormKind.Specific).GetAllMethods())
Compiler\DependencyAnalysis\ReadyToRunCodegenNodeFactory.cs (7)
137Debug.Assert(method == method.GetCanonMethodTarget(CanonicalFormKind.Specific)); 211return _allMethodsOnType.GetOrAdd(type.ConvertToCanonForm(CanonicalFormKind.Specific)); 225return _arrayInterfaceMethods.GetOrAdd((ArrayType)arrayType.ConvertToCanonForm(CanonicalFormKind.Specific)); 233type = type.ConvertToCanonForm(CanonicalFormKind.Specific); 258MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 269MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 673MethodDesc compilableMethod = method.Method.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRunSymbolNodeFactory.cs (1)
451bool useInstantiatingStub = method.Method.GetCanonMethodTarget(CanonicalFormKind.Specific) != method.Method;
Compiler\ReadyToRunCodegenCompilation.cs (1)
261MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\ReadyToRunJitHelperRootProvider.cs (1)
211return result.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\SingleMethodCompilationModuleGroup.cs (1)
29return (method == _method) || (method == _method.GetCanonMethodTarget(CanonicalFormKind.Specific));
JitInterface\CorInfoImpl.ReadyToRun.cs (10)
259var canonicalizedOwningType = instantiatedOwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 300currentType = currentType.ConvertToCanonForm(CanonicalFormKind.Specific); 309interfaceType.ConvertToCanonForm(CanonicalFormKind.Specific) == canonicalizedOwningType) 2093useInstantiatingStub = originalMethod.OwningType.IsArray || originalMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstMethodDescArg(); 2347MethodDesc canonMethod = (isArrayConstructor ? null : targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 2771MethodDesc compilableTarget = nonUnboxingMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 2829MethodDesc canonMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 2896|| typeDefinition.IsCanonicalDefinitionType(CanonicalFormKind.Specific)) 3087runtimeLookup = fd.IsStatic && td.IsCanonicalSubtype(CanonicalFormKind.Specific); 3113runtimeLookup = td.IsCanonicalSubtype(CanonicalFormKind.Specific);
parent\parent\Common\Compiler\DependencyAnalysis\GVMDependenciesNode.cs (6)
32Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 110potentialOverrideType.ConvertToCanonForm(CanonicalFormKind.Specific) != potentialOverrideType) 135if (potentialInterfaces[interfaceIndex].ConvertToCanonForm(CanonicalFormKind.Specific) == methodOwningType) 161MethodDesc canonImpl = implementingMethodInstantiation.GetCanonMethodTarget(CanonicalFormKind.Specific); 218if (overrideTypeCur.ConvertToCanonForm(CanonicalFormKind.Specific) == methodOwningType) 241.GetCanonMethodTarget(CanonicalFormKind.Specific);
parent\parent\Common\Compiler\DependencyAnalysis\ShadowMethodNode.cs (1)
48Debug.Assert(canonicalMethod.Method == method.GetCanonMethodTarget(CanonicalFormKind.Specific));
parent\parent\Common\Compiler\DevirtualizationManager.cs (4)
78DefType canonicalInterfaceType = (DefType)declMethod.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 83runtimeInterface.ConvertToCanonForm(CanonicalFormKind.Specific) == canonicalInterfaceType) 185if ((checkType == null) || (checkType.ConvertToCanonForm(CanonicalFormKind.Specific) != declMethod.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific)))
parent\parent\Common\Compiler\TypeExtensions.cs (6)
426interfaceMethod = interfaceMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 457TypeDesc interfaceTypeCanonical = interfaceType.ConvertToCanonForm(CanonicalFormKind.Specific); 504TypeDesc canonType = constrainedType.ConvertToCanonForm(CanonicalFormKind.Specific); 523if (potentialInterfaceType.ConvertToCanonForm(CanonicalFormKind.Specific) == 524interfaceType.ConvertToCanonForm(CanonicalFormKind.Specific)) 681return thisType.ConvertToCanonForm(CanonicalFormKind.Specific);
parent\parent\Common\JitInterface\CorInfoImpl.cs (3)
1550MethodDesc impl = originalImpl.GetCanonMethodTarget(CanonicalFormKind.Specific); 3788MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific); 3854MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific);
parent\parent\Common\TypeSystem\IL\Stubs\ComparerIntrinsics.cs (2)
218if (implementedInterface.ConvertToCanonForm(CanonicalFormKind.Specific) != 219interfaceType.MakeInstantiatedType(type).ConvertToCanonForm(CanonicalFormKind.Specific))
ILCompiler.RyuJit (17)
Compiler\DependencyAnalysis\MethodCodeNode.cs (1)
38Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method);
Compiler\DependencyAnalysis\RyuJitNodeFactory.cs (1)
60if (!Target.IsWasm && method.IsCanonicalMethod(CanonicalFormKind.Specific) && !method.HasInstantiation)
JitInterface\CorInfoImpl.RyuJit.cs (12)
458Debug.Assert(expectedTargetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific) == targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1364&& (!pResult->exactContextNeedsRuntimeLookup || !targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstMethodDescArg())) 1423Debug.Assert(lookupMethod.GetCanonMethodTarget(CanonicalFormKind.Specific) == targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1438else if (directCall && !allowInstParam && targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstArg()) 1523targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1533targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1605targetOfLookup.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1696targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1895methodDesc = methodDesc.GetCanonMethodTarget(CanonicalFormKind.Specific); 2288TypeDesc canonType = type.ConvertToCanonForm(CanonicalFormKind.Specific);
parent\parent\Common\JitInterface\CorInfoImpl.cs (3)
1550MethodDesc impl = originalImpl.GetCanonMethodTarget(CanonicalFormKind.Specific); 3788MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific); 3854MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific);
ILCompiler.TypeSystem (19)
parent\parent\Common\TypeSystem\Canon\CanonTypes.cs (2)
105return policy == CanonicalFormKind.Specific || 111Debug.Assert(kind == CanonicalFormKind.Specific);
parent\parent\Common\TypeSystem\Canon\CastingHelper.Canon.cs (3)
20if (context.IsCanonicalDefinitionType(otherType, CanonicalFormKind.Specific)) 37if (context.IsCanonicalDefinitionType(otherType, CanonicalFormKind.Specific)) 43if (context.IsCanonicalDefinitionType(type, CanonicalFormKind.Specific))
parent\parent\Common\TypeSystem\Canon\InstantiatedMethod.Canon.cs (3)
43if ((kind == CanonicalFormKind.Specific) && 59case CanonicalFormKind.Specific: 75case CanonicalFormKind.Specific:
parent\parent\Common\TypeSystem\Canon\StandardCanonicalizationAlgorithm.cs (3)
89else if (kind == CanonicalFormKind.Specific) 106TypeDesc convertedType = typeToConvert.ConvertToCanonForm(CanonicalFormKind.Specific); 123TypeDesc convertedType = typeToConvert.ConvertToCanonForm(CanonicalFormKind.Specific);
parent\parent\Common\TypeSystem\Canon\TypeDesc.Canon.cs (2)
22case CanonicalFormKind.Specific: 38case CanonicalFormKind.Specific:
parent\parent\Common\TypeSystem\Canon\TypeSystemConstraintsHelpers.Canon.cs (1)
42if (context.IsCanonicalDefinitionType(instantiatedConstraintType, CanonicalFormKind.Specific))
parent\parent\Common\TypeSystem\Canon\TypeSystemContext.Canon.cs (1)
55else if (kind == CanonicalFormKind.Specific)
parent\parent\Common\TypeSystem\RuntimeDetermined\RuntimeDeterminedCanonicalizationAlgorithm.cs (3)
79else if (kind == CanonicalFormKind.Specific) 98TypeDesc canonicalType = typeToConvert.ConvertToCanonForm(CanonicalFormKind.Specific); 140return typeToConvert.ConvertToCanonForm(CanonicalFormKind.Specific);
parent\parent\Common\TypeSystem\RuntimeDetermined\RuntimeDeterminedTypeUtilities.cs (1)
16CanonicalFormKind currentPolicy = CanonicalFormKind.Specific;