181 instantiations of DependencyInfo
illink (181)
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)
347
MarkEntireType(nested, new
DependencyInfo
(DependencyKind.NestedType, type), origin);
360
MarkFieldsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
361
MarkMethodsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
367
MarkPropertyVisibleToReflection(property, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
375
MarkEventVisibleToReflection(ev, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
437
MarkAssembly(assembly, new
DependencyInfo
(DependencyKind.AssemblyAction, null), emptyOrigin);
651
MarkType(type, new
DependencyInfo
(DependencyKind.DynamicInterfaceCastableImplementation, iface.InterfaceType), new MessageOrigin(Context.TryResolve(iface.InterfaceType)));
694
MarkMethod(dimInfo.Override, new
DependencyInfo
(DependencyKind.Override, dimInfo.Base), origin);
704
MarkMethod(ov.Override, new
DependencyInfo
(DependencyKind.Override, ov.Base), origin);
749
MarkMethod(overrideInformation.Override, new
DependencyInfo
(DependencyKind.OverrideOnInstantiatedType, overrideInformation.Override.DeclaringType), origin);
755
MarkMethod(overrideInformation.Override, new
DependencyInfo
(DependencyKind.Override, overrideInformation.Base), origin);
956
MarkingHelpers.MarkMatchingExportedType(type, assembly, new
DependencyInfo
(DependencyKind.DynamicDependency, type), origin);
998
MarkMembersVisibleToReflection(members, new
DependencyInfo
(DependencyKind.DynamicDependency, context), origin);
1069
MarkingHelpers.MarkMatchingExportedType(td, assemblyDef, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin);
1097
MarkEntireType(td, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin);
1103
if (MarkDependencyMethod(td, member, signature, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin))
1106
if (MarkNamedField(td, member, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin))
1180
MarkMethod(ca.Constructor, new
DependencyInfo
(DependencyKind.AttributeConstructor, ca), origin);
1304
MarkType(security_type, new
DependencyInfo
(DependencyKind.AttributeType, sa), origin);
1315
MarkCustomAttributeProperty(named_argument, attribute, ca, new
DependencyInfo
(DependencyKind.AttributeProperty, ca), origin);
1361
MarkField(field, new
DependencyInfo
(DependencyKind.CustomAttributeField, ca), origin);
1426
MarkType(et, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1443
MarkType(argument.Type, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1444
MarkType((TypeReference)argument.Value, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentValue, ca), origin);
1449
MarkType(boxed_value.Type, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1500
MarkSecurityDeclarations(assembly, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assembly), assemblyOrigin);
1512
MarkCustomAttributes(assembly, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assembly), origin);
1513
MarkCustomAttributes(module, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, module), origin);
1516
MarkEntireType(type, new
DependencyInfo
(DependencyKind.TypeInAssembly, assembly), origin);
1545
markingHelpers.MarkExportedType(exportedType, assembly.MainModule, new
DependencyInfo
(DependencyKind.ExportedType, assembly), new MessageOrigin(assembly));
1581
MarkType(moduleType, new
DependencyInfo
(DependencyKind.TypeInAssembly, assembly), origin);
1623
MarkCustomAttribute(customAttribute, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assemblyLevelAttribute.Provider), assemblyOrigin);
1697
MarkType(reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
1700
reason = new
DependencyInfo
(DependencyKind.FieldOnGenericInstance, reference);
1849
MarkType(field.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, field), origin);
1852
MarkType(field.FieldType, new
DependencyInfo
(DependencyKind.FieldType, field), fieldOrigin);
1853
MarkCustomAttributes(field, new
DependencyInfo
(DependencyKind.CustomAttribute, field), fieldOrigin);
1854
MarkMarshalSpec(field, new
DependencyInfo
(DependencyKind.FieldMarshalSpec, field), fieldOrigin);
1883
DependencyKind.FieldAccess => new
DependencyInfo
(DependencyKind.TriggersCctorThroughFieldAccess, reason.Source),
1884
_ => new
DependencyInfo
(DependencyKind.CctorForField, field)
1951
MarkAssembly(module.Assembly, new
DependencyInfo
(DependencyKind.AssemblyOfModule, module), origin);
1964
MarkDefaultConstructor(type, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
1965
MarkMethodsIf(type.Methods, IsSpecialSerializationConstructor, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
1968
MarkMethodsIf(type.Methods, HasOnSerializeOrDeserializeAttribute, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
2131
MarkStaticConstructor(type, new
DependencyInfo
(DependencyKind.TriggersCctorForCalledMethod, reason.Source), origin);
2153
MarkModule(module, new
DependencyInfo
(DependencyKind.ScopeOfType, type), origin);
2160
MarkType(type.BaseType, new
DependencyInfo
(DependencyKind.BaseType, type), typeOrigin);
2169
MarkType(type.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, type), typeOrigin);
2170
MarkCustomAttributes(type, new
DependencyInfo
(DependencyKind.CustomAttribute, type), typeOrigin);
2171
MarkSecurityDeclarations(type, new
DependencyInfo
(DependencyKind.CustomAttribute, type), typeOrigin);
2179
MarkMethodIf(type.Methods, static m => m.Name == "Finalize", new
DependencyInfo
(DependencyKind.MethodForSpecialType, type), typeOrigin);
2240
MarkMethod(method, new
DependencyInfo
(DependencyKind.VirtualNeededDueToPreservedScope, type), typeOrigin);
2245
MarkStaticConstructor(type, new
DependencyInfo
(DependencyKind.CctorForType, type), typeOrigin);
2339
if (MarkMethodsIf(type.Methods, MethodDefinitionExtensions.IsPublicInstancePropertyMethod, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, type), origin))
2340
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2366
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2367
MarkNamedMethod(type, name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2383
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2430
MarkMethodVisibleToReflection(method, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2439
MarkFieldVisibleToReflection(field, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2446
MarkPropertyVisibleToReflection(property, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2455
MarkMethodsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.KeptForSpecialAttribute, attribute), origin);
2456
MarkFieldsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2484
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2485
MarkType(proxyTypeReference, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2489
MarkMethodsVisibleToReflection(proxyType, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2490
MarkFieldsVisibleToReflection(proxyType, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2530
MarkNamedField(method.DeclaringType, member_name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2531
MarkNamedProperty(method.DeclaringType, member_name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2615
MarkCustomAttributes(parameter, new
DependencyInfo
(DependencyKind.GenericParameterCustomAttribute, parameter.Owner), origin);
2621
MarkCustomAttributes(constraint, new
DependencyInfo
(DependencyKind.GenericParameterConstraintCustomAttribute, parameter.Owner), origin);
2622
MarkType(constraint.ConstraintType, new
DependencyInfo
(DependencyKind.GenericParameterConstraintType, parameter.Owner), origin);
2867
MarkStaticFields(nestedType, new
DependencyInfo
(DependencyKind.EventSourceProviderField, td), origin);
2873
MarkMethodsIf(type.Methods, m => m.Name == ".ctor" || m.Name == "Invoke", new
DependencyInfo
(DependencyKind.MethodForSpecialType, type), origin);
2892
MarkType(fnptr.ReturnType, new
DependencyInfo
(DependencyKind.ReturnType, fnptr), origin);
2899
(type, reason) = (specification.ElementType, new
DependencyInfo
(DependencyKind.ElementType, specification));
2912
MarkType(fnptr.Parameters[i].ParameterType, new
DependencyInfo
(DependencyKind.ParameterType, fnptr), origin);
2918
MarkType(mod.ModifierType, new
DependencyInfo
(DependencyKind.ModifierType, mod), origin);
2933
var argumentTypeDef = MarkType(argument, new
DependencyInfo
(DependencyKind.GenericArgumentType, instance), origin);
2940
MarkDefaultConstructor(argumentTypeDef, new
DependencyInfo
(DependencyKind.DefaultCtorForNewConstrainedGenericArgument, instance), origin);
2964
var di = new
DependencyInfo
(DependencyKind.TypePreserve, type);
2986
var di = new
DependencyInfo
(DependencyKind.TypePreserve, type);
3062
MarkMethodCollection(list, new
DependencyInfo
(DependencyKind.PreservedMethod, type), origin);
3072
MarkMethodCollection(list, new
DependencyInfo
(DependencyKind.PreservedMethod, method), origin);
3142
MarkType(reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
3155
MarkType(reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
3157
reason = new
DependencyInfo
(DependencyKind.MethodOnGenericInstance, reference);
3204
MarkType(method.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringTypeOfCalledMethod, method), new MessageOrigin(reason.Source as IMemberDefinition ?? method));
3211
MarkEvent(@event, new
DependencyInfo
(kind, originalReason.Source), origin);
3334
(method, reason) = (specification.ElementMethod, new
DependencyInfo
(DependencyKind.ElementMethod, specification));
3358
MarkType(method.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, method), methodOrigin);
3359
MarkCustomAttributes(method, new
DependencyInfo
(DependencyKind.CustomAttribute, method), methodOrigin);
3360
MarkSecurityDeclarations(method, new
DependencyInfo
(DependencyKind.CustomAttribute, method), methodOrigin);
3367
Tracer.AddDirectDependency(method.DeclaringType, new
DependencyInfo
(DependencyKind.InstantiatedByCtor, method), marked: false);
3380
MarkProperty(property, new
DependencyInfo
(PropagateDependencyKindToAccessors(reason.Kind, DependencyKind.PropertyOfPropertyMethod), method));
3387
MarkType(pd.ParameterType, new
DependencyInfo
(DependencyKind.ParameterType, method), methodOrigin);
3388
MarkCustomAttributes(pd, new
DependencyInfo
(DependencyKind.ParameterAttribute, method), methodOrigin);
3389
MarkMarshalSpec(pd, new
DependencyInfo
(DependencyKind.ParameterMarshalSpec, method), methodOrigin);
3412
MarkMethod(@base, new
DependencyInfo
(DependencyKind.MethodImplOverride, method), methodOrigin);
3435
MarkType(method.ReturnType, new
DependencyInfo
(DependencyKind.ReturnType, method), methodOrigin);
3436
MarkCustomAttributes(method.MethodReturnType, new
DependencyInfo
(DependencyKind.ReturnTypeAttribute, method), methodOrigin);
3437
MarkMarshalSpec(method.MethodReturnType, new
DependencyInfo
(DependencyKind.ReturnTypeMarshalSpec, method), methodOrigin);
3463
MarkMethodIf(declaringType.Methods, m => m.Name == methodPair, new
DependencyInfo
(DependencyKind.MethodForSpecialType, declaringType), methodOrigin);
3500
MarkFields(type, includeStatic: type.IsEnum, reason: new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
3573
if (!MarkDefaultConstructor(baseType, new
DependencyInfo
(DependencyKind.BaseDefaultCtorForStubbedMethod, method), origin))
3579
MarkAndCacheConvertToThrowExceptionCtor(new
DependencyInfo
(DependencyKind.UnreachableBodyRequirement, method), origin);
3622
var ctor = MarkMethodIf(disablePrivateReflection.Methods, MethodDefinitionExtensions.IsDefaultConstructor, new
DependencyInfo
(DependencyKind.DisablePrivateReflectionRequirement, disablePrivateReflection), emptyOrigin);
3647
MarkMethod(ov.Base, new
DependencyInfo
(DependencyKind.BaseMethod, method), origin);
3657
Annotations.MarkProcessed(pii.Module, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method));
3677
MarkDefaultConstructor(returnTypeDefinition, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3678
MarkFields(returnTypeDefinition, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3685
MarkFields(method.DeclaringType, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3702
MarkFields(paramTypeDefinition, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3705
MarkDefaultConstructor(paramTypeDefinition, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3755
MarkCustomAttributes(prop, new
DependencyInfo
(DependencyKind.CustomAttribute, prop), propertyOrigin);
3764
MarkMethodIfNotNull(evt.AddMethod, new
DependencyInfo
(dependencyKind, evt), origin);
3765
MarkMethodIfNotNull(evt.InvokeMethod, new
DependencyInfo
(dependencyKind, evt), origin);
3766
MarkMethodIfNotNull(evt.RemoveMethod, new
DependencyInfo
(dependencyKind, evt), origin);
3772
MarkCustomAttributes(evt, new
DependencyInfo
(DependencyKind.CustomAttribute, evt), eventOrigin);
3790
MarkAndCacheConvertToThrowExceptionCtor(new
DependencyInfo
(DependencyKind.UnreachableBodyRequirement, body.Method), origin);
3882
MarkType(var.VariableType, new
DependencyInfo
(DependencyKind.VariableType, methodIL.Method), origin);
3886
MarkType(eh.CatchType, new
DependencyInfo
(DependencyKind.CatchType, methodIL.Method), origin);
3966
MarkField((FieldReference)instruction.Operand, new
DependencyInfo
(DependencyKind.FieldAccess, method), origin);
3990
MarkMethodVisibleToReflection(methodReference, new
DependencyInfo
(dependencyKind, method), origin);
3994
MarkMethod(methodReference, new
DependencyInfo
(dependencyKind, method), origin);
4003
var reason = new
DependencyInfo
(DependencyKind.Ldtoken, method);
4063
MarkType(operand, new
DependencyInfo
(DependencyKind.InstructionTypeRef, method), origin);
4080
Annotations.MarkProcessed(iface, reason ?? new
DependencyInfo
(DependencyKind.InterfaceImplementationOnType, origin.Provider));
4084
MarkCustomAttributes(iface, new
DependencyInfo
(DependencyKind.CustomAttribute, iface), origin);
4086
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)
157
public static readonly DependencyInfo Unspecified = new
DependencyInfo
(DependencyKind.Unspecified, null);
158
public static readonly DependencyInfo AlreadyMarked = new
DependencyInfo
(DependencyKind.AlreadyMarked, null);
159
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 (5)
87
MarkTypeMapAttribute(entry, new
DependencyInfo
(DependencyKind.TypeMapEntry, callingMethod));
101
MarkTypeMapAttribute(entry, new
DependencyInfo
(DependencyKind.TypeMapEntry, callingMethod));
135
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapEntry, targetType));
189
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapEntry, null));
201
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapEntry, trimTarget));
91 references to DependencyInfo
illink (91)
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)>();
330
internal void MarkEntireType(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
474
MarkType(type,
DependencyInfo
.AlreadyMarked, pending.Value);
477
MarkMethod(method,
DependencyInfo
.AlreadyMarked, pending.Value);
481
MarkField(field,
DependencyInfo
.AlreadyMarked, pending.Value);
484
MarkModule(module,
DependencyInfo
.AlreadyMarked, pending.Value);
528
(MethodDefinition method,
DependencyInfo
reason) = _methods.Dequeue();
538
protected virtual void EnqueueMethod(MethodDefinition method, in
DependencyInfo
reason)
818
void MarkMarshalSpec(IMarshalInfoProvider spec, in
DependencyInfo
reason, MessageOrigin origin)
835
void MarkCustomAttributes(ICustomAttributeProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
903
protected virtual bool ProcessLinkerSpecialAttribute(CustomAttribute ca, ICustomAttributeProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
1001
void MarkMembersVisibleToReflection(IEnumerable<IMetadataTokenProvider> members, in
DependencyInfo
reason, MessageOrigin origin)
1113
bool MarkDependencyMethod(TypeDefinition type, string name, string[]? signature, in
DependencyInfo
reason, MessageOrigin origin)
1177
protected internal virtual void MarkCustomAttribute(CustomAttribute ca, in
DependencyInfo
reason, MessageOrigin origin)
1239
protected internal void MarkStaticConstructor(TypeDefinition type, in
DependencyInfo
reason, in MessageOrigin origin)
1273
protected void MarkSecurityDeclarations(ISecurityDeclarationProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
1284
protected virtual void MarkSecurityDeclaration(SecurityDeclaration sd, in
DependencyInfo
reason, MessageOrigin origin)
1293
protected virtual void MarkSecurityAttribute(SecurityAttribute sa, in
DependencyInfo
reason, MessageOrigin origin)
1318
protected void MarkCustomAttributeProperty(CustomAttributeNamedArgument namedArgument, TypeDefinition attribute, ICustomAttribute ca, in
DependencyInfo
reason, MessageOrigin origin)
1461
protected virtual void MarkAssembly(AssemblyDefinition assembly,
DependencyInfo
reason, MessageOrigin origin)
1658
var skippedItems = new List<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)>();
1690
protected void MarkField(FieldReference reference,
DependencyInfo
reason, in MessageOrigin origin)
1827
void MarkField(FieldDefinition field, in
DependencyInfo
reason, in MessageOrigin origin)
1880
var
cctorReason = reason.Kind switch
1939
void MarkModule(ModuleDefinition module,
DependencyInfo
reason, MessageOrigin origin)
1971
protected internal virtual void MarkTypeVisibleToReflection(TypeReference type, in
DependencyInfo
reason, in MessageOrigin origin)
1991
internal void MarkMethodVisibleToReflection(MethodReference method, in
DependencyInfo
reason, in MessageOrigin origin)
2011
bool MarkMethodsVisibleToReflection(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2025
internal void MarkFieldVisibleToReflection(FieldReference field, in
DependencyInfo
reason, in MessageOrigin origin)
2037
bool MarkFieldsVisibleToReflection(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin, bool markBackingFieldsOnlyIfPropertyMarked = false)
2062
internal void MarkPropertyVisibleToReflection(PropertyDefinition property, in
DependencyInfo
reason, in MessageOrigin origin)
2073
internal void MarkEventVisibleToReflection(EventDefinition @event, in
DependencyInfo
reason, in MessageOrigin origin)
2085
internal void MarkStaticConstructorVisibleToReflection(TypeDefinition type, in
DependencyInfo
reason, in MessageOrigin origin)
2096
protected internal virtual TypeDefinition? MarkType(TypeReference reference,
DependencyInfo
reason, MessageOrigin origin)
2507
protected int MarkNamedMethod(TypeDefinition type, string method_name, in
DependencyInfo
reason, MessageOrigin origin)
2534
bool MarkNamedField(TypeDefinition type, string field_name, in
DependencyInfo
reason, MessageOrigin origin)
2551
void MarkNamedProperty(TypeDefinition type, string property_name, in
DependencyInfo
reason, MessageOrigin origin)
2723
protected internal bool MarkMethodsIf(Collection<MethodDefinition> methods, Func<MethodDefinition, bool> predicate, in
DependencyInfo
reason, in MessageOrigin origin)
2737
protected MethodDefinition? MarkMethodIf(Collection<MethodDefinition> methods, Func<MethodDefinition, bool> predicate, in
DependencyInfo
reason, in MessageOrigin origin)
2750
protected bool MarkDefaultConstructor(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2758
void MarkCustomMarshalerGetInstance(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2773
void MarkICustomMarshalerMethods(TypeDefinition inputType, in
DependencyInfo
reason, MessageOrigin origin)
2876
protected (TypeReference,
DependencyInfo
) GetOriginalType(TypeReference type,
DependencyInfo
reason, MessageOrigin origin)
2964
var
di = new DependencyInfo(DependencyKind.TypePreserve, type);
2986
var
di = new DependencyInfo(DependencyKind.TypePreserve, type);
3075
protected bool MarkFields(TypeDefinition type, bool includeStatic, in
DependencyInfo
reason, MessageOrigin origin)
3108
protected void MarkStaticFields(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
3120
protected virtual bool MarkMethods(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
3129
void MarkMethodCollection(IList<MethodDefinition> methods, in
DependencyInfo
reason, MessageOrigin origin)
3135
protected virtual MethodDefinition? MarkMethod(MethodReference reference,
DependencyInfo
reason, in MessageOrigin origin)
3137
DependencyInfo
originalReason = reason;
3324
protected (MethodReference,
DependencyInfo
) GetOriginalMethod(MethodReference method,
DependencyInfo
reason, MessageOrigin origin)
3341
protected virtual void ProcessMethod(MethodDefinition method, in
DependencyInfo
reason)
3584
protected virtual void MarkAndCacheConvertToThrowExceptionCtor(
DependencyInfo
reason, MessageOrigin origin)
3620
MarkType(disablePrivateReflection,
DependencyInfo
.DisablePrivateReflectionRequirement, emptyOrigin);
3747
protected internal void MarkProperty(PropertyDefinition prop, in
DependencyInfo
reason)
3759
protected internal virtual void MarkEvent(EventDefinition evt, in
DependencyInfo
reason, MessageOrigin origin)
3776
internal void MarkMethodIfNotNull(MethodReference method, in
DependencyInfo
reason, in MessageOrigin origin)
4003
var
reason = new DependencyInfo(DependencyKind.Ldtoken, method);
4068
void MarkInterfaceImplementationList(List<InterfaceImplementation> ifaces, MessageOrigin origin,
DependencyInfo
? reason = null)
4076
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)
152
public readonly struct DependencyInfo : IEquatable<
DependencyInfo
>
157
public static readonly
DependencyInfo
Unspecified = new DependencyInfo(DependencyKind.Unspecified, null);
158
public static readonly
DependencyInfo
AlreadyMarked = new DependencyInfo(DependencyKind.AlreadyMarked, null);
159
public static readonly
DependencyInfo
DisablePrivateReflectionRequirement = new DependencyInfo(DependencyKind.DisablePrivateReflectionRequirement, null);
160
public bool Equals(
DependencyInfo
other) => (Kind, Source) == (other.Kind, other.Source);
161
public override bool Equals(object? obj) => obj is
DependencyInfo
info && this.Equals(info);
163
public static bool operator ==(
DependencyInfo
lhs,
DependencyInfo
rhs) => lhs.Equals(rhs);
164
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 (1)
105
void MarkTypeMapAttribute(CustomAttributeWithOrigin entry,
DependencyInfo
info)
Linker\XmlDependencyRecorder.cs (1)
97
public void RecordDependency(object target, in
DependencyInfo
reason, bool marked)