2 instantiations of InterfaceImplementation
Mono.Cecil (2)
Mono.Cecil\AssemblyReader.cs (1)
1238
new
InterfaceImplementation
(
Mono.Cecil\WindowsRuntimeProjections.cs (1)
320
var unprojectedInterface = new
InterfaceImplementation
(unprojectedType);
85 references to InterfaceImplementation
illink (57)
Linker.Dataflow\DynamicallyAccessedMembersBinder.cs (6)
134
foreach (
var
i in typeDefinition.GetAllInterfaceImplementations(context, declaredOnly))
391
public static IEnumerable<
InterfaceImplementation
> GetAllInterfaceImplementations(this TypeDefinition thisType, LinkContext context, bool declaredOnly)
396
foreach (
var
i in type.Interfaces)
404
foreach (
var
innerInterface in interfaceType.GetAllInterfaceImplementations(context, declaredOnly: true))
446
foreach (
var
iface in type.GetAllInterfaceImplementations(context, declaredOnly: true))
451
foreach (
var
iface in type.Interfaces)
Linker.Dataflow\DynamicallyAccessedMembersTypeHierarchy.cs (3)
77
foreach (
InterfaceImplementation
iface in type.Interfaces)
194
foreach (
InterfaceImplementation
iface in type.Interfaces)
245
foreach (
var
iface in type.Interfaces)
Linker.Dataflow\ReflectionMarker.cs (2)
54
case
InterfaceImplementation
interfaceImplementation:
155
void MarkInterfaceImplementation(in MessageOrigin origin,
InterfaceImplementation
interfaceImplementation, DependencyKind dependencyKind = DependencyKind.AccessedViaReflection)
Linker.Steps\MarkStep.cs (10)
358
foreach (
InterfaceImplementation
iface in type.Interfaces)
649
foreach (
var
iface in type.Interfaces)
794
foreach (
var
intf in type.Interfaces)
1026
case
InterfaceImplementation
interfaceType:
2592
protected virtual bool ShouldMarkInterfaceImplementationList(TypeDefinition type, List<
InterfaceImplementation
> ifaces, TypeReference ifaceType)
2695
InterfaceImplementation
? iface = overrideInformation.InterfaceImplementor.InterfaceImplementation;
2791
foreach (
var
iface in type.Interfaces)
4060
void MarkInterfaceImplementationList(List<
InterfaceImplementation
> ifaces, MessageOrigin origin, DependencyInfo? reason = null)
4062
foreach (
var
iface in ifaces)
4068
protected internal virtual void MarkInterfaceImplementation(
InterfaceImplementation
iface, MessageOrigin origin, DependencyInfo? reason = null)
Linker.Steps\SweepStep.cs (2)
345
var
iface = type.Interfaces[i];
614
protected virtual void InterfaceRemoved(TypeDefinition type,
InterfaceImplementation
iface)
Linker\Annotations.cs (2)
443
/// InterfaceImpl is the <see cref="
InterfaceImplementation
" /> for the interface <paramref name="method" /> is declared on, and
737
internal List<(TypeReference InterfaceType, List<
InterfaceImplementation
> ImplementationChain)>? GetRecursiveInterfaces(TypeDefinition type)
Linker\CustomAttributeSource.cs (1)
31
InterfaceImplementation
ii => ii.InterfaceType.Module.Assembly,
Linker\DependencyRecorderHelper.cs (2)
95
if (source is
InterfaceImplementation
|| target is
InterfaceImplementation
)
Linker\InterfaceImplementor.cs (4)
21
public
InterfaceImplementation
InterfaceImplementation { get; }
27
public InterfaceImplementor(TypeDefinition implementor,
InterfaceImplementation
interfaceImplementation, TypeDefinition interfaceType, IMetadataResolver resolver)
37
foreach (
InterfaceImplementation
iface in implementor.Interfaces)
51
foreach (
InterfaceImplementation
ifaceImpl in currentIface.Interfaces)
Linker\MethodBodyScanner.cs (6)
71
public IEnumerable<(
InterfaceImplementation
, TypeDefinition)>? GetReferencedInterfaces(MethodIL methodIL)
81
var interfaceImplementations = new HashSet<(
InterfaceImplementation
, TypeDefinition)>();
156
void AddMatchingInterfaces(HashSet<(
InterfaceImplementation
, TypeDefinition)> results, TypeDefinition type, TypeDefinition[] interfaceTypes)
163
if (HasInterface(type, interfaceType, out
InterfaceImplementation
? implementation))
168
bool HasInterface(TypeDefinition type, TypeDefinition interfaceType, [NotNullWhen(true)] out
InterfaceImplementation
? implementation)
174
foreach (
var
iface in type.Interfaces)
Linker\OverrideInformation.cs (1)
31
public
InterfaceImplementation
? MatchingInterfaceImplementation
Linker\TypeHierarchyCache.cs (1)
50
foreach (
var
iface in baseType.Interfaces)
Linker\TypeMapInfo.cs (11)
93
/// InterfaceImpl is the <see cref="
InterfaceImplementation
" /> for the interface <paramref name="method" /> is declared on, and
119
Dictionary<TypeDefinition, List<(TypeReference, List<
InterfaceImplementation
>)>> interfaces = new();
133
internal List<(TypeReference InterfaceType, List<
InterfaceImplementation
> ImplementationChain)>? GetRecursiveInterfaces(TypeDefinition type)
141
List<(TypeReference InterfaceType, List<
InterfaceImplementation
> ImplementationChain)> GetRecursiveInterfaceImplementations(TypeDefinition type)
143
List<(TypeReference, List<
InterfaceImplementation
>)> firstImplementationChain = new();
150
static void AddRecursiveInterfaces(TypeReference typeRef, IEnumerable<
InterfaceImplementation
> pathToType, List<(TypeReference, List<
InterfaceImplementation
>)> firstImplementationChain, LinkContext Context)
157
foreach (
var
iface in type.Interfaces)
167
foreach (
var
iface in type.Interfaces)
341
void FindAndAddDefaultInterfaceImplementations(TypeDefinition typeThatImplementsInterface, TypeDefinition typeThatMayHaveDIM, MethodDefinition interfaceMethodToBeImplemented,
InterfaceImplementation
originalInterfaceImpl)
346
foreach (
var
interfaceImpl in typeThatMayHaveDIM.Interfaces)
Linker\TypeReferenceExtensions.cs (3)
170
public static IEnumerable<(TypeReference InflatedInterface,
InterfaceImplementation
OriginalImpl)> GetInflatedInterfaces(this TypeReference typeRef, ITryResolveMetadata resolver)
179
foreach (
var
interfaceImpl in typeDef.Interfaces)
184
foreach (
var
interfaceImpl in typeDef.Interfaces)
Linker\TypeReferenceWalker.cs (1)
67
foreach (
var
iface in typeDefinition.Interfaces)
Linker\XmlDependencyRecorder.cs (2)
126
if (source is
InterfaceImplementation
|| target is
InterfaceImplementation
)
Microsoft.Maui.Controls.Build.Tasks (3)
TypeReferenceExtensions.cs (3)
72
foreach (
var
face in typeDef.Interfaces)
155
InterfaceImplementation
iface;
284
foreach (
var
face in typeDef.Interfaces)
Mono.Cecil (24)
Mono.Cecil\AssemblyWriter.cs (1)
1580
var
iface_impl = interfaces [i];
Mono.Cecil\TypeDefinition.cs (6)
128
public Collection<
InterfaceImplementation
> Interfaces {
568
class InterfaceImplementationCollection : Collection<
InterfaceImplementation
>
583
protected override void OnAdd (
InterfaceImplementation
item, int index)
588
protected override void OnInsert (
InterfaceImplementation
item, int index)
593
protected override void OnSet (
InterfaceImplementation
item, int index)
598
protected override void OnRemove (
InterfaceImplementation
item, int index)
Mono.Cecil\WindowsRuntimeProjections.cs (17)
24
public readonly Collection<KeyValuePair<
InterfaceImplementation
,
InterfaceImplementation
>> RedirectedInterfaces;
26
public TypeDefinitionProjection (TypeDefinition type, TypeDefinitionTreatment treatment, Collection<MethodDefinition> redirectedMethods, Collection<KeyValuePair<
InterfaceImplementation
,
InterfaceImplementation
>> redirectedInterfaces)
223
Collection<KeyValuePair<
InterfaceImplementation
,
InterfaceImplementation
>> redirectedInterfaces = null;
271
private static TypeDefinitionTreatment GenerateRedirectionInformation (TypeDefinition type, out Collection<MethodDefinition> redirectedMethods, out Collection<KeyValuePair<
InterfaceImplementation
,
InterfaceImplementation
>> redirectedInterfaces)
277
foreach (
var
implementedInterface in type.Interfaces) {
289
redirectedInterfaces = new Collection<KeyValuePair<
InterfaceImplementation
,
InterfaceImplementation
>> ();
291
foreach (
var
@interface in type.Interfaces) {
300
foreach (
var
implementedInterface in type.Interfaces) {
320
var
unprojectedInterface = new InterfaceImplementation (unprojectedType);
321
redirectedInterfaces.Add (new KeyValuePair<
InterfaceImplementation
,
InterfaceImplementation
> (implementedInterface, unprojectedInterface));
340
foreach (
var
implementedInterface in typeDef.Interfaces) {
tlens (1)
TLens.Analyzers\InterfacesAnalyzer.cs (1)
20
foreach (
var
iface in type.Interfaces)