313 references to Specific
ILCompiler.Compiler (225)
Compiler\Compilation.cs (2)
486Debug.Assert(!calledMethod.IsCanonicalMethod(CanonicalFormKind.Specific)); 488MethodDesc targetMethod = calledMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\Dataflow\HandleCallAction.cs (2)
314_reflectionMarker.Dependencies.Add(_reflectionMarker.Factory.ReflectedMethod(ctorMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Marshal API"); 387_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)
125caDependencies.Add(factory.ReflectedMethod(constructor.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Attribute constructor"); 242dependencies.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 (25)
87Debug.Assert(!type.IsCanonicalSubtype(CanonicalFormKind.Any) || type == type.ConvertToCanonForm(CanonicalFormKind.Specific)); 257return (_type.ConvertToCanonForm(CanonicalFormKind.Specific) != _type); 345result.Add(new CombinedDependencyListEntry(maximallyConstructableType, factory.MaximallyConstructableType(_type.ConvertToCanonForm(CanonicalFormKind.Specific)), "Trigger full type generation if canonical form exists")); 350TypeDesc canonOwningType = _type.ConvertToCanonForm(CanonicalFormKind.Specific); 392MethodDesc canonImpl = impl.GetCanonMethodTarget(CanonicalFormKind.Specific); 410factory.DelegateTargetVirtualMethod(decl.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Slot is a delegate target")); 480MethodDesc defaultIntfMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 488factory.DelegateTargetVirtualMethod(interfaceMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Interface slot is delegate target")); 497factory.DelegateTargetVirtualMethod(implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), 498factory.DelegateTargetVirtualMethod(interfaceMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), 532MethodDesc defaultIntfMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 536defaultIntfMethod = factory.TypeSystemContext.GetDefaultInterfaceMethodImplementationThunk(defaultIntfMethod, defType.ConvertToCanonForm(CanonicalFormKind.Specific), providingInterfaceDefinitionType, out int providingInterfaceIndex); 550factory.DelegateTargetVirtualMethod(interfaceMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), 617dependencies.Add(new DependencyListEntry(factory.SealedVTable(_type.ConvertToCanonForm(CanonicalFormKind.Specific)), "Sealed Vtable")); 629TypeDesc canonicalType = _type.ConvertToCanonForm(CanonicalFormKind.Specific); 650foreach (var method in _type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific).GetAllMethodsAndAsyncVariants()) 655dependencies.Add(factory.MethodEntrypoint(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), 774SealedVTableNode sealedVTable = factory.SealedVTable(_type.ConvertToCanonForm(CanonicalFormKind.Specific)); 891templateType = templateType.ConvertToCanonForm(CanonicalFormKind.Specific); 925declType.ConvertToCanonForm(CanonicalFormKind.Specific) == declType; 1009MethodDesc canonImplMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1023else if (factory.DelegateTargetVirtualMethod(declMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)).Marked) 1078MethodDesc canonFinalizerMethod = finalizerMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1117SealedVTableNode sealedVTable = factory.SealedVTable(_type.ConvertToCanonForm(CanonicalFormKind.Specific)); 1219ISymbolNode 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)
21Debug.Assert(!type.IsCanonicalSubtype(CanonicalFormKind.Specific)); 72public override bool HasConditionalStaticDependencies => _type.ConvertToCanonForm(CanonicalFormKind.Specific) != _type; 81factory.NativeLayout.TemplateTypeLayout(_type.ConvertToCanonForm(CanonicalFormKind.Specific)),
Compiler\DependencyAnalysis\GCStaticsPreInitDataNode.cs (1)
23Debug.Assert(!preinitializationInfo.Type.IsCanonicalSubtype(CanonicalFormKind.Specific));
Compiler\DependencyAnalysis\GenericDictionaryNode.cs (10)
113return factory.GenericDictionaryLayout(_owningType.ConvertToCanonForm(CanonicalFormKind.Specific)); 125TypeDesc canonicalOwningType = _owningType.ConvertToCanonForm(CanonicalFormKind.Specific); 139factory.ConstructedTypeSymbol(arg.ConvertToCanonForm(CanonicalFormKind.Specific)), 161factory.MethodEntrypoint(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), 172Debug.Assert(owningType.ConvertToCanonForm(CanonicalFormKind.Specific) != owningType); 210MethodDesc canonicalTarget = _owningMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 228factory.ConstructedTypeSymbol(arg.ConvertToCanonForm(CanonicalFormKind.Specific)), 238factory.ConstructedTypeSymbol(arg.ConvertToCanonForm(CanonicalFormKind.Specific)), 251return factory.GenericDictionaryLayout(_owningMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 278Debug.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)
103MethodDesc canonMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ILScanNodeFactory.cs (1)
49if (method.IsCanonicalMethod(CanonicalFormKind.Specific) && !method.HasInstantiation)
Compiler\DependencyAnalysis\InterfaceDispatchMapNode.cs (3)
25Debug.Assert(type.ConvertToCanonForm(CanonicalFormKind.Specific) == type); 210int genericContext = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstArg() 260implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstArg())
Compiler\DependencyAnalysis\MethodAssociatedDataNode.cs (1)
31Debug.Assert(methodNode.Method.GetCanonMethodTarget(CanonicalFormKind.Specific) == methodNode.Method);
Compiler\DependencyAnalysis\NativeLayoutVertexNode.cs (24)
812Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method, "Assert that the canonical method passed in is in standard canonical form"); 880public TypeDesc CanonType => _type.ConvertToCanonForm(CanonicalFormKind.Specific); 887Debug.Assert(type.ConvertToCanonForm(CanonicalFormKind.Specific) == type, "Assert that the canonical type passed in is in standard canonical form"); 910MetadataType closestCanonDefType = (MetadataType)_type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific); 920MetadataType closestCanonDefType = (MetadataType)_type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific); 930ISymbolNode typeNode = context.MaximallyConstructableType(_type.ConvertToCanonForm(CanonicalFormKind.Specific)); 939yield return new DependencyListEntry(context.GenericDictionaryLayout(_type.ConvertToCanonForm(CanonicalFormKind.Specific).GetClosestDefType()), "Dictionary layout"); 951if (context.PreinitializationManager.HasLazyStaticConstructor(_type.ConvertToCanonForm(CanonicalFormKind.Specific))) 953yield return new DependencyListEntry(context.MethodEntrypoint(_type.GetStaticConstructor().GetCanonMethodTarget(CanonicalFormKind.Specific)), "cctor for template"); 965DefType closestCanonDefType = (DefType)_type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific); 1011DictionaryLayoutNode associatedLayout = factory.GenericDictionaryLayout(_type.ConvertToCanonForm(CanonicalFormKind.Specific).GetClosestDefType()); 1042if (factory.PreinitializationManager.HasLazyStaticConstructor(_type.ConvertToCanonForm(CanonicalFormKind.Specific))) 1045MethodDesc canonCctorMethod = cctorMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1051DefType closestCanonDefType = (DefType)_type.GetClosestDefType().ConvertToCanonForm(CanonicalFormKind.Specific); 1257method = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1274method = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1311MethodDesc canonMethod = _method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1352GenericMethodsTemplateMap.GetTemplateMethodDependencies(ref dependencies, factory, _method.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1391var canonOwningType = (InstantiatedType)_field.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 1436factory.MetadataManager.GetDependenciesDueToLdToken(ref result, factory, _method.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1440result.Add(factory.GVMDependencies(_method.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Potential dynamic GVM call"); 1521MethodDesc canonMethod = _constrainedMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1539var canonConstrainedMethod = _constrainedMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1598GenericMethodsTemplateMap.GetTemplateMethodDependencies(ref dependencies, factory, _method.GetCanonMethodTarget(CanonicalFormKind.Specific));
Compiler\DependencyAnalysis\NodeFactory.cs (5)
1168MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1177MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1186MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 1309new ShadowConcreteMethodNode(key, _factory.MethodEntrypoint(key.GetCanonMethodTarget(CanonicalFormKind.Specific))); 1327new ShadowNonConcreteMethodNode(key, _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)
27Debug.Assert(!type.IsCanonicalSubtype(CanonicalFormKind.Specific)); 110TypeDesc canonType = type.ConvertToCanonForm(CanonicalFormKind.Specific); 156public 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)); 231MethodDesc targetMethod = delegateCreationInfo.PossiblyUnresolvedTargetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 276MethodDesc targetMethod = delegateCreationInfo.PossiblyUnresolvedTargetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRunHelperNode.cs (2)
80method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 163info.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)
150int hashCode = field.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific).GetHashCode();
Compiler\DependencyAnalysis\ReflectionInvokeMapNode.cs (2)
43Debug.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)
57MethodDesc canonMethod = _targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ScannedMethodNode.cs (1)
34Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method);
Compiler\DependencyAnalysis\SealedVTableNode.cs (9)
138if (factory.DelegateTargetVirtualMethod(virtualSlots[i].GetCanonMethodTarget(CanonicalFormKind.Specific)).Marked) 139node = factory.AddressTakenMethodEntrypoint(implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific), unboxingStub: !implMethod.Signature.IsStatic && declType.IsValueType); 141node = factory.MethodEntrypoint(implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific), unboxingStub: !implMethod.Signature.IsStatic && declType.IsValueType); 198if (factory.DelegateTargetVirtualMethod(declMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)).Marked) 199node = factory.AddressTakenMethodEntrypoint(targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific), unboxingStub: !targetMethod.Signature.IsStatic && declType.IsValueType); 201node = factory.MethodEntrypoint(targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific), unboxingStub: !targetMethod.Signature.IsStatic && declType.IsValueType); 217MethodDesc canonImplMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 222canonImplMethod = factory.TypeSystemContext.GetDefaultInterfaceMethodImplementationThunk(canonImplMethod, declType.ConvertToCanonForm(CanonicalFormKind.Specific), providingInterfaceDefinitionType, out int providingInterfaceIndex); 233if (factory.DelegateTargetVirtualMethod(declMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)).Marked)
Compiler\DependencyAnalysis\ThreadStaticsNode.cs (3)
23Debug.Assert(!type.IsCanonicalSubtype(CanonicalFormKind.Specific)); 105_type.ConvertToCanonForm(CanonicalFormKind.Specific) != _type: 117factory.NativeLayout.TemplateTypeLayout(_type.ConvertToCanonForm(CanonicalFormKind.Specific)),
Compiler\DependencyAnalysis\UnboxingStubNode.cs (1)
33Debug.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)
391MethodDesc targetMethod = methodDictLookup.Method.GetCanonMethodTarget(CanonicalFormKind.Specific); 506TypeDesc canonForm = type.ConvertToCanonForm(CanonicalFormKind.Specific); 576TypeDesc canonType = type.ConvertToCanonForm(CanonicalFormKind.Specific); 585baseType = baseType.ConvertToCanonForm(CanonicalFormKind.Specific); 595baseType = baseType.ConvertToCanonForm(CanonicalFormKind.Specific); 630_overriddenMethods.Add(baseVtable[i].GetCanonMethodTarget(CanonicalFormKind.Specific)); 660|| baseType.ConvertToCanonForm(CanonicalFormKind.Specific) != baseType) 692TypeDesc canonType = type.ConvertToCanonForm(CanonicalFormKind.Specific); 729MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 741if (!_canonConstructedTypes.Contains(implType.ConvertToCanonForm(CanonicalFormKind.Specific))) 912if (t.ConvertToCanonForm(CanonicalFormKind.Specific) != t) 963&& nonGCStatics.Type.ConvertToCanonForm(CanonicalFormKind.Specific) != nonGCStatics.Type 966_canonFormsWithCctorChecks.Add(nonGCStatics.Type.ConvertToCanonForm(CanonicalFormKind.Specific)); 972&& eeType.Type.ConvertToCanonForm(CanonicalFormKind.Specific) != eeType.Type 975_canonFormsWithCctorChecks.Add(eeType.Type.ConvertToCanonForm(CanonicalFormKind.Specific)); 1011var canonOwningType = (InstantiatedType)owningType.ConvertToCanonForm(CanonicalFormKind.Specific);
Compiler\MetadataManager.cs (4)
485factory.NativeLayout.TemplateMethodEntry(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), 537TypeDesc owningCanonicalType = field.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 869Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 901TypeDesc 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)
54foreach (var method in type.ConvertToCanonForm(CanonicalFormKind.Specific).GetMethods()) 189dependencies.Add(factory.ReflectedMethod(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), reason);
Compiler\RootingServiceProvider.cs (2)
29MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 66_rootAdder(_factory.ReflectedMethod(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), reason);
Compiler\RuntimeConstructableTypeDependencies.cs (2)
26&& !trimmingTargetType.ConvertToCanonForm(CanonicalFormKind.Specific).GetParameterType().IsCanonicalDefinitionType(CanonicalFormKind.Any)) 64TypeDesc 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)
3263Type.ConvertToCanonForm(CanonicalFormKind.Specific), 3277MethodDesc targetMethod = creationInfo.PossiblyUnresolvedTargetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\UsageBasedMetadataManager.cs (11)
311dependencies.Add(factory.ReflectedMethod(invokeMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Delegate invoke method is always reflectable"); 326dependencies.Add(factory.ReflectedMethod(defaultConstructor.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Array.Initialize needs default constructor"); 535factory.ReflectedMethod(reflectedMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)), 557MethodDesc canonicalMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 576ReflectedMethodNode reflectedMethod = factory.ReflectedMethod(target.GetCanonMethodTarget(CanonicalFormKind.Specific)); 578TypeDesc canonDelegateType = delegateType.ConvertToCanonForm(CanonicalFormKind.Specific); 599DelegateTargetVirtualMethodNode targetVirtualMethod = factory.ReflectedDelegateTargetVirtualMethod(target.GetCanonMethodTarget(CanonicalFormKind.Specific)); 634decl.GetCanonMethodTarget(CanonicalFormKind.Specific), 635impl.GetCanonMethodTarget(CanonicalFormKind.Specific)), 716dependencies.Add(factory.ReflectedMethod(method.GetCanonMethodTarget(CanonicalFormKind.Specific)), "Abstract reflectable method"); 746if (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 (4)
126TypeDesc templateBaseType = owningType.ConvertToCanonForm(CanonicalFormKind.Specific).BaseType; 134baseType = baseType.ConvertToCanonForm(CanonicalFormKind.Specific); 135templateBaseType = templateBaseType.ConvertToCanonForm(CanonicalFormKind.Specific); 200(type.ConvertToCanonForm(CanonicalFormKind.Specific) != type || type.IsCanonicalSubtype(CanonicalFormKind.Any));
IL\ILImporter.Scanner.cs (15)
216_compilation.TypeSystemContext.EnsureLoadableType(type.ConvertToCanonForm(CanonicalFormKind.Specific)); 222_compilation.TypeSystemContext.EnsureLoadableMethod(method.GetCanonMethodTarget(CanonicalFormKind.Specific)); 741constrained = constrained.ConvertToCanonForm(CanonicalFormKind.Specific); 866Debug.Assert(targetOfLookup.GetCanonMethodTarget(CanonicalFormKind.Specific) == targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 872else if (directCall && !allowInstParam && targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstArg()) 902targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1013methodToLookup.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1061TypeDesc canonDelegateType = ctorMethod.OwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 1134MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific); 1194&& !typeEqualityCheckType.ConvertToCanonForm(CanonicalFormKind.Specific).IsCanonicalSubtype(CanonicalFormKind.Any)) 1214&& !isinstCheckType.ConvertToCanonForm(CanonicalFormKind.Specific).IsCanonicalSubtype(CanonicalFormKind.Any) 1451TypeDesc canonFieldOwningType = fieldOwningType.ConvertToCanonForm(CanonicalFormKind.Specific); 1588TypeDesc typeForAccessCheck = type.IsRuntimeDeterminedSubtype ? type.ConvertToCanonForm(CanonicalFormKind.Specific) : type; 2073MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific);
parent\parent\Common\Compiler\DependencyAnalysis\GVMDependenciesNode.cs (6)
32Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 112potentialOverrideType.ConvertToCanonForm(CanonicalFormKind.Specific) != potentialOverrideType) 137if (potentialInterfaces[interfaceIndex].ConvertToCanonForm(CanonicalFormKind.Specific) == methodOwningType) 163MethodDesc canonImpl = implementingMethodInstantiation.GetCanonMethodTarget(CanonicalFormKind.Specific); 220if (overrideTypeCur.ConvertToCanonForm(CanonicalFormKind.Specific) == methodOwningType) 243.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)
67MethodDesc 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 (52)
Compiler\DependencyAnalysis\ArrayInterfaceMethodsNode.cs (1)
67MethodDesc canonHelperMethod = helperMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\InheritedVirtualMethodsNode.cs (3)
31Debug.Assert(type == type.ConvertToCanonForm(CanonicalFormKind.Specific)); 64MethodDesc canonImpl = impl.GetCanonMethodTarget(CanonicalFormKind.Specific); 122implMethod = implMethod.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRun\DelayLoadHelperMethodImport.cs (1)
48MethodDesc canonMethod = _method.Method.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRun\MethodFixupSignature.cs (1)
57MethodDesc canonMethod = Method.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRun\ModuleTokenResolver.cs (2)
102method = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 335else if (type.IsCanonicalDefinitionType(CanonicalFormKind.Specific))
Compiler\DependencyAnalysis\ReadyToRun\SignatureBuilder.cs (1)
302else if (typeDesc.IsCanonicalDefinitionType(CanonicalFormKind.Specific))
Compiler\DependencyAnalysis\ReadyToRun\TypeFixupSignature.cs (1)
237foreach (MethodDesc method in type.ConvertToCanonForm(CanonicalFormKind.Specific).GetAllMethods())
Compiler\DependencyAnalysis\ReadyToRunCodegenNodeFactory.cs (7)
136Debug.Assert(method == method.GetCanonMethodTarget(CanonicalFormKind.Specific)); 210return _allMethodsOnType.GetOrAdd(type.ConvertToCanonForm(CanonicalFormKind.Specific)); 224return _arrayInterfaceMethods.GetOrAdd((ArrayType)arrayType.ConvertToCanonForm(CanonicalFormKind.Specific)); 232type = type.ConvertToCanonForm(CanonicalFormKind.Specific); 259MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 270MethodDesc canonMethod = method.GetCanonMethodTarget(CanonicalFormKind.Specific); 665MethodDesc compilableMethod = method.Method.GetCanonMethodTarget(CanonicalFormKind.Specific);
Compiler\DependencyAnalysis\ReadyToRunSymbolNodeFactory.cs (1)
407bool useInstantiatingStub = method.Method.GetCanonMethodTarget(CanonicalFormKind.Specific) != method.Method;
Compiler\ReadyToRunCodegenCompilation.cs (1)
261MethodDesc canonMethod = method.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) 1950useInstantiatingStub = originalMethod.OwningType.IsArray || originalMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstMethodDescArg(); 2204MethodDesc canonMethod = (isArrayConstructor ? null : targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 2604MethodDesc compilableTarget = nonUnboxingMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 2662MethodDesc canonMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 2729|| typeDefinition.IsCanonicalDefinitionType(CanonicalFormKind.Specific)) 2920runtimeLookup = fd.IsStatic && td.IsCanonicalSubtype(CanonicalFormKind.Specific); 2946runtimeLookup = td.IsCanonicalSubtype(CanonicalFormKind.Specific);
parent\parent\Common\Compiler\DependencyAnalysis\GVMDependenciesNode.cs (6)
32Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method); 112potentialOverrideType.ConvertToCanonForm(CanonicalFormKind.Specific) != potentialOverrideType) 137if (potentialInterfaces[interfaceIndex].ConvertToCanonForm(CanonicalFormKind.Specific) == methodOwningType) 163MethodDesc canonImpl = implementingMethodInstantiation.GetCanonMethodTarget(CanonicalFormKind.Specific); 220if (overrideTypeCur.ConvertToCanonForm(CanonicalFormKind.Specific) == methodOwningType) 243.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)
1502MethodDesc impl = originalImpl.GetCanonMethodTarget(CanonicalFormKind.Specific); 3736MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific); 3802MethodDesc 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)
36Debug.Assert(method.GetCanonMethodTarget(CanonicalFormKind.Specific) == method);
Compiler\DependencyAnalysis\RyuJitNodeFactory.cs (1)
57if (method.IsCanonicalMethod(CanonicalFormKind.Specific) && !method.HasInstantiation)
JitInterface\CorInfoImpl.RyuJit.cs (12)
454Debug.Assert(expectedTargetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific) == targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1360&& (!pResult->exactContextNeedsRuntimeLookup || !targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstMethodDescArg())) 1419Debug.Assert(lookupMethod.GetCanonMethodTarget(CanonicalFormKind.Specific) == targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1434else if (directCall && !allowInstParam && targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific).RequiresInstArg()) 1519targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1529targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1601targetOfLookup.GetCanonMethodTarget(CanonicalFormKind.Specific)); 1686targetMethod = targetMethod.GetCanonMethodTarget(CanonicalFormKind.Specific); 1885methodDesc = methodDesc.GetCanonMethodTarget(CanonicalFormKind.Specific); 2282TypeDesc canonType = type.ConvertToCanonForm(CanonicalFormKind.Specific);
parent\parent\Common\JitInterface\CorInfoImpl.cs (3)
1502MethodDesc impl = originalImpl.GetCanonMethodTarget(CanonicalFormKind.Specific); 3736MethodDesc targetMethod = runtimeDeterminedResult.GetCanonMethodTarget(CanonicalFormKind.Specific); 3802MethodDesc 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;