184 instantiations of DependencyInfo
illink (184)
Linker.Dataflow\ReflectionMarker.cs (9)
101
_markStep.MarkTypeVisibleToReflection(typeReference, new
DependencyInfo
(DependencyKind.AccessedViaReflection, origin.Provider), origin);
104
Context.MarkingHelpers.MarkMatchingExportedType(typeResolutionRecord.ResolvedType, typeResolutionRecord.ReferringAssembly, new
DependencyInfo
(DependencyKind.DynamicallyAccessedMember, typeReference), origin);
117
_markStep.MarkTypeVisibleToReflection(type, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
128
_markStep.MarkMethodVisibleToReflection(method, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
136
_markStep.MarkFieldVisibleToReflection(field, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
144
_markStep.MarkPropertyVisibleToReflection(property, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
152
_markStep.MarkEventVisibleToReflection(@event, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
160
_markStep.MarkInterfaceImplementation(interfaceImplementation, origin, new
DependencyInfo
(dependencyKind, origin.Provider));
219
_markStep.MarkStaticConstructorVisibleToReflection(type, new
DependencyInfo
(DependencyKind.AccessedViaReflection, origin.Provider), origin);
Linker.Steps\DescriptorMarker.cs (8)
63
_context.MarkingHelpers.MarkExportedType(exportedType, assembly.MainModule, new
DependencyInfo
(DependencyKind.XmlDescriptor, assembly.MainModule), GetMessageOriginForPosition(nav));
99
_context.Annotations.Mark(type, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition(nav));
111
_context.MarkingHelpers.MarkExportedType(exported, assembly.MainModule, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition(nav));
121
_context.MarkingHelpers.MarkExportedType(currentType, assembly.MainModule, new
DependencyInfo
(DependencyKind.DeclaringType, currentType), GetMessageOriginForPosition(nav));
157
_context.Annotations.Mark(type, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition(nav));
165
_context.Annotations.Mark(parent, new
DependencyInfo
(DependencyKind.DeclaringType, currentType), GetMessageOriginForPosition(nav));
187
_context.Annotations.Mark(field, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition(nav));
204
_context.Annotations.Mark(method, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition(nav));
Linker.Steps\DiscoverCustomOperatorsHandler.cs (1)
90
Context.Annotations.Mark(method, new
DependencyInfo
(DependencyKind.PreservedOperator, method.DeclaringType), new MessageOrigin(method.DeclaringType));
Linker.Steps\MarkExportedTypesTargetStep.cs (1)
37
context.Annotations.Mark(type, new
DependencyInfo
(DependencyKind.ExportedType, exportedType), new MessageOrigin(assembly));
Linker.Steps\MarkStep.cs (130)
351
MarkEntireType(nested, new
DependencyInfo
(DependencyKind.NestedType, type), origin);
364
MarkFieldsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
365
MarkMethodsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
371
MarkPropertyVisibleToReflection(property, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
379
MarkEventVisibleToReflection(ev, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
441
MarkAssembly(assembly, new
DependencyInfo
(DependencyKind.AssemblyAction, null), emptyOrigin);
655
MarkType(type, new
DependencyInfo
(DependencyKind.DynamicInterfaceCastableImplementation, iface.InterfaceType), new MessageOrigin(Context.TryResolve(iface.InterfaceType)));
698
MarkMethod(dimInfo.Override, new
DependencyInfo
(DependencyKind.Override, dimInfo.Base), origin);
708
MarkMethod(ov.Override, new
DependencyInfo
(DependencyKind.Override, ov.Base), origin);
753
MarkMethod(overrideInformation.Override, new
DependencyInfo
(DependencyKind.OverrideOnInstantiatedType, overrideInformation.Override.DeclaringType), origin);
759
MarkMethod(overrideInformation.Override, new
DependencyInfo
(DependencyKind.Override, overrideInformation.Base), origin);
960
MarkingHelpers.MarkMatchingExportedType(type, assembly, new
DependencyInfo
(DependencyKind.DynamicDependency, type), origin);
1002
MarkMembersVisibleToReflection(members, new
DependencyInfo
(DependencyKind.DynamicDependency, context), origin);
1073
MarkingHelpers.MarkMatchingExportedType(td, assemblyDef, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin);
1101
MarkEntireType(td, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin);
1107
if (MarkDependencyMethod(td, member, signature, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin))
1110
if (MarkNamedField(td, member, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin))
1184
MarkMethod(ca.Constructor, new
DependencyInfo
(DependencyKind.AttributeConstructor, ca), origin);
1308
MarkType(security_type, new
DependencyInfo
(DependencyKind.AttributeType, sa), origin);
1319
MarkCustomAttributeProperty(named_argument, attribute, ca, new
DependencyInfo
(DependencyKind.AttributeProperty, ca), origin);
1365
MarkField(field, new
DependencyInfo
(DependencyKind.CustomAttributeField, ca), origin);
1430
MarkType(et, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1447
MarkType(argument.Type, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1448
MarkType((TypeReference)argument.Value, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentValue, ca), origin);
1453
MarkType(boxed_value.Type, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1504
MarkSecurityDeclarations(assembly, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assembly), assemblyOrigin);
1516
MarkCustomAttributes(assembly, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assembly), origin);
1517
MarkCustomAttributes(module, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, module), origin);
1520
MarkEntireType(type, new
DependencyInfo
(DependencyKind.TypeInAssembly, assembly), origin);
1549
markingHelpers.MarkExportedType(exportedType, assembly.MainModule, new
DependencyInfo
(DependencyKind.ExportedType, assembly), new MessageOrigin(assembly));
1585
MarkType(moduleType, new
DependencyInfo
(DependencyKind.TypeInAssembly, assembly), origin);
1627
MarkCustomAttribute(customAttribute, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assemblyLevelAttribute.Provider), assemblyOrigin);
1701
MarkType(reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
1704
reason = new
DependencyInfo
(DependencyKind.FieldOnGenericInstance, reference);
1853
MarkType(field.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, field), origin);
1856
MarkType(field.FieldType, new
DependencyInfo
(DependencyKind.FieldType, field), fieldOrigin);
1857
MarkCustomAttributes(field, new
DependencyInfo
(DependencyKind.CustomAttribute, field), fieldOrigin);
1858
MarkMarshalSpec(field, new
DependencyInfo
(DependencyKind.FieldMarshalSpec, field), fieldOrigin);
1887
DependencyKind.FieldAccess => new
DependencyInfo
(DependencyKind.TriggersCctorThroughFieldAccess, reason.Source),
1888
_ => new
DependencyInfo
(DependencyKind.CctorForField, field)
1955
MarkAssembly(module.Assembly, new
DependencyInfo
(DependencyKind.AssemblyOfModule, module), origin);
1968
MarkDefaultConstructor(type, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
1969
MarkMethodsIf(type.Methods, IsSpecialSerializationConstructor, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
1972
MarkMethodsIf(type.Methods, HasOnSerializeOrDeserializeAttribute, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
2135
MarkStaticConstructor(type, new
DependencyInfo
(DependencyKind.TriggersCctorForCalledMethod, reason.Source), origin);
2157
MarkModule(module, new
DependencyInfo
(DependencyKind.ScopeOfType, type), origin);
2164
MarkType(type.BaseType, new
DependencyInfo
(DependencyKind.BaseType, type), typeOrigin);
2173
MarkType(type.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, type), typeOrigin);
2174
MarkCustomAttributes(type, new
DependencyInfo
(DependencyKind.CustomAttribute, type), typeOrigin);
2175
MarkSecurityDeclarations(type, new
DependencyInfo
(DependencyKind.CustomAttribute, type), typeOrigin);
2183
MarkMethodIf(type.Methods, static m => m.Name == "Finalize", new
DependencyInfo
(DependencyKind.MethodForSpecialType, type), typeOrigin);
2244
MarkMethod(method, new
DependencyInfo
(DependencyKind.VirtualNeededDueToPreservedScope, type), typeOrigin);
2249
MarkStaticConstructor(type, new
DependencyInfo
(DependencyKind.CctorForType, type), typeOrigin);
2343
if (MarkMethodsIf(type.Methods, MethodDefinitionExtensions.IsPublicInstancePropertyMethod, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, type), origin))
2344
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2370
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2371
MarkNamedMethod(type, name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2387
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2434
MarkMethodVisibleToReflection(method, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2443
MarkFieldVisibleToReflection(field, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2450
MarkPropertyVisibleToReflection(property, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2459
MarkMethodsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.KeptForSpecialAttribute, attribute), origin);
2460
MarkFieldsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2488
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2489
MarkType(proxyTypeReference, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2493
MarkMethodsVisibleToReflection(proxyType, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2494
MarkFieldsVisibleToReflection(proxyType, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2534
MarkNamedField(method.DeclaringType, member_name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2535
MarkNamedProperty(method.DeclaringType, member_name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2619
MarkCustomAttributes(parameter, new
DependencyInfo
(DependencyKind.GenericParameterCustomAttribute, parameter.Owner), origin);
2625
MarkCustomAttributes(constraint, new
DependencyInfo
(DependencyKind.GenericParameterConstraintCustomAttribute, parameter.Owner), origin);
2626
MarkType(constraint.ConstraintType, new
DependencyInfo
(DependencyKind.GenericParameterConstraintType, parameter.Owner), origin);
2871
MarkStaticFields(nestedType, new
DependencyInfo
(DependencyKind.EventSourceProviderField, td), origin);
2877
MarkMethodsIf(type.Methods, m => m.Name == ".ctor" || m.Name == "Invoke", new
DependencyInfo
(DependencyKind.MethodForSpecialType, type), origin);
2896
MarkType(fnptr.ReturnType, new
DependencyInfo
(DependencyKind.ReturnType, fnptr), origin);
2903
(type, reason) = (specification.ElementType, new
DependencyInfo
(DependencyKind.ElementType, specification));
2916
MarkType(fnptr.Parameters[i].ParameterType, new
DependencyInfo
(DependencyKind.ParameterType, fnptr), origin);
2922
MarkType(mod.ModifierType, new
DependencyInfo
(DependencyKind.ModifierType, mod), origin);
2937
var argumentTypeDef = MarkType(argument, new
DependencyInfo
(DependencyKind.GenericArgumentType, instance), origin);
2944
MarkDefaultConstructor(argumentTypeDef, new
DependencyInfo
(DependencyKind.DefaultCtorForNewConstrainedGenericArgument, instance), origin);
2968
var di = new
DependencyInfo
(DependencyKind.TypePreserve, type);
2990
var di = new
DependencyInfo
(DependencyKind.TypePreserve, type);
3066
MarkMethodCollection(list, new
DependencyInfo
(DependencyKind.PreservedMethod, type), origin);
3076
MarkMethodCollection(list, new
DependencyInfo
(DependencyKind.PreservedMethod, method), origin);
3146
MarkType(reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
3159
MarkType(reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
3161
reason = new
DependencyInfo
(DependencyKind.MethodOnGenericInstance, reference);
3208
MarkType(method.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringTypeOfCalledMethod, method), new MessageOrigin(reason.Source as IMemberDefinition ?? method));
3215
MarkEvent(@event, new
DependencyInfo
(kind, originalReason.Source), origin);
3338
(method, reason) = (specification.ElementMethod, new
DependencyInfo
(DependencyKind.ElementMethod, specification));
3362
MarkType(method.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, method), methodOrigin);
3363
MarkCustomAttributes(method, new
DependencyInfo
(DependencyKind.CustomAttribute, method), methodOrigin);
3364
MarkSecurityDeclarations(method, new
DependencyInfo
(DependencyKind.CustomAttribute, method), methodOrigin);
3371
Tracer.AddDirectDependency(method.DeclaringType, new
DependencyInfo
(DependencyKind.InstantiatedByCtor, method), marked: false);
3384
MarkProperty(property, new
DependencyInfo
(PropagateDependencyKindToAccessors(reason.Kind, DependencyKind.PropertyOfPropertyMethod), method));
3391
MarkType(pd.ParameterType, new
DependencyInfo
(DependencyKind.ParameterType, method), methodOrigin);
3392
MarkCustomAttributes(pd, new
DependencyInfo
(DependencyKind.ParameterAttribute, method), methodOrigin);
3393
MarkMarshalSpec(pd, new
DependencyInfo
(DependencyKind.ParameterMarshalSpec, method), methodOrigin);
3416
MarkMethod(@base, new
DependencyInfo
(DependencyKind.MethodImplOverride, method), methodOrigin);
3439
MarkType(method.ReturnType, new
DependencyInfo
(DependencyKind.ReturnType, method), methodOrigin);
3440
MarkCustomAttributes(method.MethodReturnType, new
DependencyInfo
(DependencyKind.ReturnTypeAttribute, method), methodOrigin);
3441
MarkMarshalSpec(method.MethodReturnType, new
DependencyInfo
(DependencyKind.ReturnTypeMarshalSpec, method), methodOrigin);
3467
MarkMethodIf(declaringType.Methods, m => m.Name == methodPair, new
DependencyInfo
(DependencyKind.MethodForSpecialType, declaringType), methodOrigin);
3504
MarkFields(type, includeStatic: type.IsEnum, reason: new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
3577
if (!MarkDefaultConstructor(baseType, new
DependencyInfo
(DependencyKind.BaseDefaultCtorForStubbedMethod, method), origin))
3583
MarkAndCacheConvertToThrowExceptionCtor(new
DependencyInfo
(DependencyKind.UnreachableBodyRequirement, method), origin);
3626
var ctor = MarkMethodIf(disablePrivateReflection.Methods, MethodDefinitionExtensions.IsDefaultConstructor, new
DependencyInfo
(DependencyKind.DisablePrivateReflectionRequirement, disablePrivateReflection), emptyOrigin);
3651
MarkMethod(ov.Base, new
DependencyInfo
(DependencyKind.BaseMethod, method), origin);
3661
Annotations.MarkProcessed(pii.Module, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method));
3681
MarkDefaultConstructor(returnTypeDefinition, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3682
MarkFields(returnTypeDefinition, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3689
MarkFields(method.DeclaringType, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3706
MarkFields(paramTypeDefinition, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3709
MarkDefaultConstructor(paramTypeDefinition, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3759
MarkCustomAttributes(prop, new
DependencyInfo
(DependencyKind.CustomAttribute, prop), propertyOrigin);
3768
MarkMethodIfNotNull(evt.AddMethod, new
DependencyInfo
(dependencyKind, evt), origin);
3769
MarkMethodIfNotNull(evt.InvokeMethod, new
DependencyInfo
(dependencyKind, evt), origin);
3770
MarkMethodIfNotNull(evt.RemoveMethod, new
DependencyInfo
(dependencyKind, evt), origin);
3776
MarkCustomAttributes(evt, new
DependencyInfo
(DependencyKind.CustomAttribute, evt), eventOrigin);
3794
MarkAndCacheConvertToThrowExceptionCtor(new
DependencyInfo
(DependencyKind.UnreachableBodyRequirement, body.Method), origin);
3886
MarkType(var.VariableType, new
DependencyInfo
(DependencyKind.VariableType, methodIL.Method), origin);
3890
MarkType(eh.CatchType, new
DependencyInfo
(DependencyKind.CatchType, methodIL.Method), origin);
3970
MarkField((FieldReference)instruction.Operand, new
DependencyInfo
(DependencyKind.FieldAccess, method), origin);
3994
MarkMethodVisibleToReflection(methodReference, new
DependencyInfo
(dependencyKind, method), origin);
3998
MarkMethod(methodReference, new
DependencyInfo
(dependencyKind, method), origin);
4007
var reason = new
DependencyInfo
(DependencyKind.Ldtoken, method);
4067
MarkType(operand, new
DependencyInfo
(DependencyKind.InstructionTypeRef, method), origin);
4084
Annotations.MarkProcessed(iface, reason ?? new
DependencyInfo
(DependencyKind.InterfaceImplementationOnType, origin.Provider));
4088
MarkCustomAttributes(iface, new
DependencyInfo
(DependencyKind.CustomAttribute, iface), origin);
4090
MarkType(iface.InterfaceType, reason ?? new
DependencyInfo
(DependencyKind.InterfaceImplementationInterfaceType, iface), origin);
Linker.Steps\ProcessReferencesStep.cs (1)
50
Annotations.Mark(assembly.MainModule, new
DependencyInfo
(DependencyKind.AssemblyAction, assembly), new MessageOrigin(assembly));
Linker.Steps\ReflectionBlockedStep.cs (1)
83
Annotations.Mark(ca, new
DependencyInfo
(DependencyKind.DisablePrivateReflection, ca));
Linker.Steps\RootAssemblyInputStep.cs (5)
27
var di = new
DependencyInfo
(DependencyKind.RootAssembly, assembly);
145
Annotations.Mark(type, new
DependencyInfo
(DependencyKind.RootAssembly, type.Module.Assembly), new MessageOrigin(type.Module.Assembly));
162
Annotations.Mark(type, new
DependencyInfo
(DependencyKind.RootAssembly, type.Module.Assembly), new MessageOrigin(type.Module.Assembly));
176
var di = new
DependencyInfo
(DependencyKind.RootAssembly, assembly);
199
Context.Annotations.Mark(attribute, new
DependencyInfo
(DependencyKind.RootAssembly, assembly));
Linker.Steps\UnsafeAccessorMarker.cs (5)
97
_context.MarkingHelpers.MarkMatchingExportedType(typeResolutionRecord.ResolvedType, typeResolutionRecord.ReferringAssembly, new
DependencyInfo
(DependencyKind.AccessedViaReflection, method), new MessageOrigin(method));
114
_context.MarkingHelpers.MarkMatchingExportedType(typeResolutionRecord.ResolvedType, typeResolutionRecord.ReferringAssembly, new
DependencyInfo
(DependencyKind.AccessedViaReflection, method), new MessageOrigin(method));
164
_markStep.MarkMethodVisibleToReflection(targetMethod, new
DependencyInfo
(DependencyKind.UnsafeAccessorTarget, method), new MessageOrigin(method));
189
_markStep.MarkMethodVisibleToReflection(targetMethod, new
DependencyInfo
(DependencyKind.UnsafeAccessorTarget, method), new MessageOrigin(method));
217
_markStep.MarkFieldVisibleToReflection(targetField, new
DependencyInfo
(DependencyKind.UnsafeAccessorTarget, method), new MessageOrigin(method));
Linker\Annotations.cs (1)
506
Mark(method, new
DependencyInfo
(DependencyKind.PreservedMethod, definition), new MessageOrigin(definition));
Linker\DependencyInfo.cs (3)
158
public static readonly DependencyInfo Unspecified = new
DependencyInfo
(DependencyKind.Unspecified, null);
159
public static readonly DependencyInfo AlreadyMarked = new
DependencyInfo
(DependencyKind.AlreadyMarked, null);
160
public static readonly DependencyInfo DisablePrivateReflectionRequirement = new
DependencyInfo
(DependencyKind.DisablePrivateReflectionRequirement, null);
Linker\MarkingHelpers.cs (1)
45
MarkExportedType(exportedType, assembly.MainModule, new
DependencyInfo
(DependencyKind.ExportedType, typeReference), origin);
Linker\SerializationMarker.cs (10)
133
var reason = new
DependencyInfo
(ToDependencyKind(serializerKind), provider);
188
MarkRecursiveMembersInternal(argType, new
DependencyInfo
(DependencyKind.GenericArgumentType, typeRef));
191
typeReason = new
DependencyInfo
(DependencyKind.ElementType, typeRef);
209
MarkRecursiveMembersInternal(type.BaseType, new
DependencyInfo
(DependencyKind.SerializedRecursiveType, type));
219
MarkRecursiveMembersInternal(field.FieldType, new
DependencyInfo
(DependencyKind.SerializedRecursiveType, type));
220
_context.Annotations.Mark(field, new
DependencyInfo
(DependencyKind.SerializedMember, type), new MessageOrigin(type));
235
MarkRecursiveMembersInternal(property.PropertyType, new
DependencyInfo
(DependencyKind.SerializedRecursiveType, type));
237
_context.Annotations.Mark(get, new
DependencyInfo
(DependencyKind.SerializedMember, type), new MessageOrigin(type));
239
_context.Annotations.Mark(set, new
DependencyInfo
(DependencyKind.SerializedMember, type), new MessageOrigin(type));
252
_context.Annotations.Mark(method, new
DependencyInfo
(DependencyKind.SerializedMember, type), new MessageOrigin(type));
Linker\TypeMapHandler.cs (8)
70
MarkTypeMapAttribute(entry, new
DependencyInfo
(DependencyKind.TypeMapEntry, callingMethod));
77
var info = new
DependencyInfo
(DependencyKind.TypeMapAssemblyTarget, callingMethod);
91
MarkTypeMapAttribute(entry, new
DependencyInfo
(DependencyKind.TypeMapEntry, callingMethod));
98
var info = new
DependencyInfo
(DependencyKind.TypeMapAssemblyTarget, callingMethod);
135
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapEntry, targetType));
191
_markStep.MarkCustomAttribute(attr.Attribute, new
DependencyInfo
(DependencyKind.TypeMapEntry, null), new MessageOrigin(attr.Origin));
208
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapEntry, null));
228
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapEntry, dependencySource));
93 references to DependencyInfo
illink (93)
Linker.Steps\MarkStep.cs (66)
63
protected Queue<(MethodDefinition,
DependencyInfo
)> _methods;
66
protected Queue<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)> _lateMarkedAttributes;
223
_methods = new Queue<(MethodDefinition,
DependencyInfo
)>();
226
_lateMarkedAttributes = new Queue<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)>();
334
internal void MarkEntireType(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
478
MarkType(type,
DependencyInfo
.AlreadyMarked, pending.Value);
481
MarkMethod(method,
DependencyInfo
.AlreadyMarked, pending.Value);
485
MarkField(field,
DependencyInfo
.AlreadyMarked, pending.Value);
488
MarkModule(module,
DependencyInfo
.AlreadyMarked, pending.Value);
532
(MethodDefinition method,
DependencyInfo
reason) = _methods.Dequeue();
542
protected virtual void EnqueueMethod(MethodDefinition method, in
DependencyInfo
reason)
822
void MarkMarshalSpec(IMarshalInfoProvider spec, in
DependencyInfo
reason, MessageOrigin origin)
839
void MarkCustomAttributes(ICustomAttributeProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
907
protected virtual bool ProcessLinkerSpecialAttribute(CustomAttribute ca, ICustomAttributeProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
1005
void MarkMembersVisibleToReflection(IEnumerable<IMetadataTokenProvider> members, in
DependencyInfo
reason, MessageOrigin origin)
1117
bool MarkDependencyMethod(TypeDefinition type, string name, string[]? signature, in
DependencyInfo
reason, MessageOrigin origin)
1181
protected internal virtual void MarkCustomAttribute(CustomAttribute ca, in
DependencyInfo
reason, MessageOrigin origin)
1243
protected internal void MarkStaticConstructor(TypeDefinition type, in
DependencyInfo
reason, in MessageOrigin origin)
1277
protected void MarkSecurityDeclarations(ISecurityDeclarationProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
1288
protected virtual void MarkSecurityDeclaration(SecurityDeclaration sd, in
DependencyInfo
reason, MessageOrigin origin)
1297
protected virtual void MarkSecurityAttribute(SecurityAttribute sa, in
DependencyInfo
reason, MessageOrigin origin)
1322
protected void MarkCustomAttributeProperty(CustomAttributeNamedArgument namedArgument, TypeDefinition attribute, ICustomAttribute ca, in
DependencyInfo
reason, MessageOrigin origin)
1465
public void MarkAssembly(AssemblyDefinition assembly,
DependencyInfo
reason, MessageOrigin origin)
1662
var skippedItems = new List<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)>();
1694
protected void MarkField(FieldReference reference,
DependencyInfo
reason, in MessageOrigin origin)
1831
void MarkField(FieldDefinition field, in
DependencyInfo
reason, in MessageOrigin origin)
1884
var
cctorReason = reason.Kind switch
1943
void MarkModule(ModuleDefinition module,
DependencyInfo
reason, MessageOrigin origin)
1975
protected internal virtual void MarkTypeVisibleToReflection(TypeReference type, in
DependencyInfo
reason, in MessageOrigin origin)
1995
internal void MarkMethodVisibleToReflection(MethodReference method, in
DependencyInfo
reason, in MessageOrigin origin)
2015
bool MarkMethodsVisibleToReflection(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2029
internal void MarkFieldVisibleToReflection(FieldReference field, in
DependencyInfo
reason, in MessageOrigin origin)
2041
bool MarkFieldsVisibleToReflection(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin, bool markBackingFieldsOnlyIfPropertyMarked = false)
2066
internal void MarkPropertyVisibleToReflection(PropertyDefinition property, in
DependencyInfo
reason, in MessageOrigin origin)
2077
internal void MarkEventVisibleToReflection(EventDefinition @event, in
DependencyInfo
reason, in MessageOrigin origin)
2089
internal void MarkStaticConstructorVisibleToReflection(TypeDefinition type, in
DependencyInfo
reason, in MessageOrigin origin)
2100
protected internal virtual TypeDefinition? MarkType(TypeReference reference,
DependencyInfo
reason, MessageOrigin origin)
2511
protected int MarkNamedMethod(TypeDefinition type, string method_name, in
DependencyInfo
reason, MessageOrigin origin)
2538
bool MarkNamedField(TypeDefinition type, string field_name, in
DependencyInfo
reason, MessageOrigin origin)
2555
void MarkNamedProperty(TypeDefinition type, string property_name, in
DependencyInfo
reason, MessageOrigin origin)
2727
protected internal bool MarkMethodsIf(Collection<MethodDefinition> methods, Func<MethodDefinition, bool> predicate, in
DependencyInfo
reason, in MessageOrigin origin)
2741
protected MethodDefinition? MarkMethodIf(Collection<MethodDefinition> methods, Func<MethodDefinition, bool> predicate, in
DependencyInfo
reason, in MessageOrigin origin)
2754
protected bool MarkDefaultConstructor(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2762
void MarkCustomMarshalerGetInstance(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2777
void MarkICustomMarshalerMethods(TypeDefinition inputType, in
DependencyInfo
reason, MessageOrigin origin)
2880
protected (TypeReference,
DependencyInfo
) GetOriginalType(TypeReference type,
DependencyInfo
reason, MessageOrigin origin)
2968
var
di = new DependencyInfo(DependencyKind.TypePreserve, type);
2990
var
di = new DependencyInfo(DependencyKind.TypePreserve, type);
3079
protected bool MarkFields(TypeDefinition type, bool includeStatic, in
DependencyInfo
reason, MessageOrigin origin)
3112
protected void MarkStaticFields(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
3124
protected virtual bool MarkMethods(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
3133
void MarkMethodCollection(IList<MethodDefinition> methods, in
DependencyInfo
reason, MessageOrigin origin)
3139
protected virtual MethodDefinition? MarkMethod(MethodReference reference,
DependencyInfo
reason, in MessageOrigin origin)
3141
DependencyInfo
originalReason = reason;
3328
protected (MethodReference,
DependencyInfo
) GetOriginalMethod(MethodReference method,
DependencyInfo
reason, MessageOrigin origin)
3345
protected virtual void ProcessMethod(MethodDefinition method, in
DependencyInfo
reason)
3588
protected virtual void MarkAndCacheConvertToThrowExceptionCtor(
DependencyInfo
reason, MessageOrigin origin)
3624
MarkType(disablePrivateReflection,
DependencyInfo
.DisablePrivateReflectionRequirement, emptyOrigin);
3751
protected internal void MarkProperty(PropertyDefinition prop, in
DependencyInfo
reason)
3763
protected internal virtual void MarkEvent(EventDefinition evt, in
DependencyInfo
reason, MessageOrigin origin)
3780
internal void MarkMethodIfNotNull(MethodReference method, in
DependencyInfo
reason, in MessageOrigin origin)
4007
var
reason = new DependencyInfo(DependencyKind.Ldtoken, method);
4072
void MarkInterfaceImplementationList(List<InterfaceImplementation> ifaces, MessageOrigin origin,
DependencyInfo
? reason = null)
4080
protected internal virtual void MarkInterfaceImplementation(InterfaceImplementation iface, MessageOrigin origin,
DependencyInfo
? reason = null)
Linker.Steps\RootAssemblyInputStep.cs (2)
27
var
di = new DependencyInfo(DependencyKind.RootAssembly, assembly);
176
var
di = new DependencyInfo(DependencyKind.RootAssembly, assembly);
Linker\Annotations.cs (3)
161
public void Mark(IMetadataTokenProvider provider, in
DependencyInfo
reason, in MessageOrigin origin)
175
public void Mark(CustomAttribute attribute, in
DependencyInfo
reason)
263
public bool MarkProcessed(IMetadataTokenProvider provider, in
DependencyInfo
reason)
Linker\DependencyInfo.cs (10)
153
public readonly struct DependencyInfo : IEquatable<
DependencyInfo
>
158
public static readonly
DependencyInfo
Unspecified = new DependencyInfo(DependencyKind.Unspecified, null);
159
public static readonly
DependencyInfo
AlreadyMarked = new DependencyInfo(DependencyKind.AlreadyMarked, null);
160
public static readonly
DependencyInfo
DisablePrivateReflectionRequirement = new DependencyInfo(DependencyKind.DisablePrivateReflectionRequirement, null);
161
public bool Equals(
DependencyInfo
other) => (Kind, Source) == (other.Kind, other.Source);
162
public override bool Equals(object? obj) => obj is
DependencyInfo
info && this.Equals(info);
164
public static bool operator ==(
DependencyInfo
lhs,
DependencyInfo
rhs) => lhs.Equals(rhs);
165
public static bool operator !=(
DependencyInfo
lhs,
DependencyInfo
rhs) => !lhs.Equals(rhs);
Linker\DgmlDependencyRecorder.cs (1)
113
public void RecordDependency(object target, in
DependencyInfo
reason, bool marked)
Linker\IDependencyRecorder.cs (1)
56
void RecordDependency(object target, in
DependencyInfo
reason, bool marked);
Linker\MarkingHelpers.cs (2)
17
public void MarkMatchingExportedType(TypeDefinition typeToMatch, AssemblyDefinition assembly, in
DependencyInfo
reason, in MessageOrigin origin)
26
public void MarkExportedType(ExportedType exportedType, ModuleDefinition module, in
DependencyInfo
reason, in MessageOrigin origin)
Linker\SerializationMarker.cs (3)
133
var
reason = new DependencyInfo(ToDependencyKind(serializerKind), provider);
177
void MarkRecursiveMembersInternal(TypeReference typeRef, in
DependencyInfo
reason)
182
DependencyInfo
typeReason = reason;
Linker\Tracer.cs (1)
77
public void AddDirectDependency(object target, in
DependencyInfo
reason, bool marked)
Linker\TypeMapHandler.cs (3)
77
var
info = new DependencyInfo(DependencyKind.TypeMapAssemblyTarget, callingMethod);
98
var
info = new DependencyInfo(DependencyKind.TypeMapAssemblyTarget, callingMethod);
104
void MarkTypeMapAttribute(CustomAttributeWithOrigin entry,
DependencyInfo
info)
Linker\XmlDependencyRecorder.cs (1)
97
public void RecordDependency(object target, in
DependencyInfo
reason, bool marked)