184 instantiations of DependencyInfo
illink (184)
Linker.Dataflow\ReflectionMarker.cs (9)
103
_markStep.MarkTypeVisibleToReflection(typeReference, new
DependencyInfo
(DependencyKind.AccessedViaReflection, origin.Provider), origin);
106
Context.MarkingHelpers.MarkMatchingExportedType(typeResolutionRecord.ResolvedType, typeResolutionRecord.ReferringAssembly, new
DependencyInfo
(DependencyKind.DynamicallyAccessedMember, typeReference), origin);
119
_markStep.MarkTypeVisibleToReflection(type, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
130
_markStep.MarkMethodVisibleToReflection(method, new
DependencyInfo
(dependencyKind, origin.Provider), origin, suppressTrimAnalysisWarnings: _suppressTrimAnalysisWarnings);
138
_markStep.MarkFieldVisibleToReflection(field, new
DependencyInfo
(dependencyKind, origin.Provider), origin, suppressTrimAnalysisWarnings: _suppressTrimAnalysisWarnings);
146
_markStep.MarkPropertyVisibleToReflection(property, new
DependencyInfo
(dependencyKind, origin.Provider), origin, suppressTrimAnalysisWarnings: _suppressTrimAnalysisWarnings);
154
_markStep.MarkEventVisibleToReflection(@event, new
DependencyInfo
(dependencyKind, origin.Provider), origin, suppressTrimAnalysisWarnings: _suppressTrimAnalysisWarnings);
162
_markStep.MarkInterfaceImplementation(interfaceImplementation, origin, new
DependencyInfo
(dependencyKind, origin.Provider));
221
_markStep.MarkStaticConstructorVisibleToReflection(type, new
DependencyInfo
(DependencyKind.AccessedViaReflection, origin.Provider), origin, suppressTrimAnalysisWarnings: _suppressTrimAnalysisWarnings);
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));
165
_context.Annotations.Mark(type, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition(nav));
173
_context.Annotations.Mark(parent, new
DependencyInfo
(DependencyKind.DeclaringType, currentType), GetMessageOriginForPosition(nav));
195
var reason = new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation);
215
var reason = new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation);
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 (131)
354
MarkEntireType(nested, new
DependencyInfo
(DependencyKind.NestedType, type), origin);
367
MarkFieldsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
368
MarkMethodsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
374
MarkPropertyVisibleToReflection(property, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
382
MarkEventVisibleToReflection(ev, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
444
MarkAssembly(assembly, new
DependencyInfo
(DependencyKind.AssemblyAction, null), emptyOrigin);
676
MarkType(type, new
DependencyInfo
(DependencyKind.DynamicInterfaceCastableImplementation, iface.InterfaceType), new MessageOrigin(Context.TryResolve(iface.InterfaceType)));
719
MarkMethod(dimInfo.Override, new
DependencyInfo
(DependencyKind.Override, dimInfo.Base), origin);
729
MarkMethod(ov.Override, new
DependencyInfo
(DependencyKind.Override, ov.Base), origin);
774
MarkMethod(overrideInformation.Override, new
DependencyInfo
(DependencyKind.OverrideOnInstantiatedType, overrideInformation.Override.DeclaringType), origin);
780
MarkMethod(overrideInformation.Override, new
DependencyInfo
(DependencyKind.Override, overrideInformation.Base), origin);
981
MarkingHelpers.MarkMatchingExportedType(type, assembly, new
DependencyInfo
(DependencyKind.DynamicDependency, type), origin);
1023
MarkMembersVisibleToReflection(members, new
DependencyInfo
(DependencyKind.DynamicDependency, context), origin);
1094
MarkingHelpers.MarkMatchingExportedType(td, assemblyDef, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin);
1122
MarkEntireType(td, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin);
1128
if (MarkDependencyMethod(td, member, signature, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin))
1131
if (MarkNamedField(td, member, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin))
1205
MarkMethod(ca.Constructor, new
DependencyInfo
(DependencyKind.AttributeConstructor, ca), origin);
1332
MarkType(security_type, new
DependencyInfo
(DependencyKind.AttributeType, sa), origin);
1343
MarkCustomAttributeProperty(named_argument, attribute, ca, new
DependencyInfo
(DependencyKind.AttributeProperty, ca), origin);
1389
MarkField(field, new
DependencyInfo
(DependencyKind.CustomAttributeField, ca), origin);
1454
MarkType(et, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1471
MarkType(argument.Type, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1472
MarkType((TypeReference)argument.Value, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentValue, ca), origin);
1477
MarkType(boxed_value.Type, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1533
MarkSecurityDeclarations(assembly, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assembly), assemblyOrigin);
1545
MarkCustomAttributes(assembly, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assembly), origin);
1546
MarkCustomAttributes(module, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, module), origin);
1549
MarkEntireType(type, new
DependencyInfo
(DependencyKind.TypeInAssembly, assembly), origin);
1558
MarkingHelpers.MarkExportedType(exportedType, module, new
DependencyInfo
(DependencyKind.ExportedType, assembly), origin);
1619
MarkType(moduleType, new
DependencyInfo
(DependencyKind.TypeInAssembly, assembly), origin);
1661
MarkCustomAttribute(customAttribute, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assemblyLevelAttribute.Provider), assemblyOrigin);
1735
MarkType(reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
1738
reason = new
DependencyInfo
(DependencyKind.FieldOnGenericInstance, reference);
1890
MarkType(field.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, field), origin);
1893
MarkType(field.FieldType, new
DependencyInfo
(DependencyKind.FieldType, field), fieldOrigin);
1894
MarkCustomAttributes(field, new
DependencyInfo
(DependencyKind.CustomAttribute, field), fieldOrigin);
1895
MarkMarshalSpec(field, new
DependencyInfo
(DependencyKind.FieldMarshalSpec, field), fieldOrigin);
1924
DependencyKind.FieldAccess => new
DependencyInfo
(DependencyKind.TriggersCctorThroughFieldAccess, reason.Source),
1925
_ => new
DependencyInfo
(DependencyKind.CctorForField, field)
1995
MarkAssembly(module.Assembly, new
DependencyInfo
(DependencyKind.AssemblyOfModule, module), origin);
2008
MarkDefaultConstructor(type, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
2009
MarkMethodsIf(type.Methods, IsSpecialSerializationConstructor, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
2012
MarkMethodsIf(type.Methods, HasOnSerializeOrDeserializeAttribute, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
2049
MarkTypeVisibleToReflection(methodDefinition.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, methodDefinition), origin);
2104
MarkTypeVisibleToReflection(fieldDefinition.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, fieldDefinition), origin);
2224
MarkStaticConstructor(type, new
DependencyInfo
(DependencyKind.TriggersCctorForCalledMethod, reason.Source), origin);
2246
MarkModule(module, new
DependencyInfo
(DependencyKind.ScopeOfType, type), origin);
2253
MarkType(type.BaseType, new
DependencyInfo
(DependencyKind.BaseType, type), typeOrigin);
2261
MarkType(type.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, type), typeOrigin);
2262
MarkCustomAttributes(type, new
DependencyInfo
(DependencyKind.CustomAttribute, type), typeOrigin);
2263
MarkSecurityDeclarations(type, new
DependencyInfo
(DependencyKind.CustomAttribute, type), typeOrigin);
2271
MarkMethodIf(type.Methods, static m => m.Name == "Finalize", new
DependencyInfo
(DependencyKind.MethodForSpecialType, type), typeOrigin);
2332
MarkMethod(method, new
DependencyInfo
(DependencyKind.VirtualNeededDueToPreservedScope, type), typeOrigin);
2337
MarkStaticConstructor(type, new
DependencyInfo
(DependencyKind.CctorForType, type), typeOrigin);
2431
if (MarkMethodsIf(type.Methods, MethodDefinitionExtensions.IsPublicInstancePropertyMethod, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, type), origin))
2432
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2458
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2459
MarkNamedMethod(type, name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2475
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2522
MarkMethodVisibleToReflection(method, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2531
MarkFieldVisibleToReflection(field, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2538
MarkPropertyVisibleToReflection(property, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2547
MarkMethodsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.KeptForSpecialAttribute, attribute), origin);
2548
MarkFieldsVisibleToReflection(type, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2576
Tracer.AddDirectDependency(attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2577
MarkType(proxyTypeReference, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2581
MarkMethodsVisibleToReflection(proxyType, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2582
MarkFieldsVisibleToReflection(proxyType, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2622
MarkNamedField(method.DeclaringType, member_name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2623
MarkNamedProperty(method.DeclaringType, member_name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2707
MarkCustomAttributes(parameter, new
DependencyInfo
(DependencyKind.GenericParameterCustomAttribute, parameter.Owner), origin);
2713
MarkCustomAttributes(constraint, new
DependencyInfo
(DependencyKind.GenericParameterConstraintCustomAttribute, parameter.Owner), origin);
2714
MarkType(constraint.ConstraintType, new
DependencyInfo
(DependencyKind.GenericParameterConstraintType, parameter.Owner), origin);
2959
MarkStaticFields(nestedType, new
DependencyInfo
(DependencyKind.EventSourceProviderField, td), origin);
2965
MarkMethodsIf(type.Methods, m => m.Name == ".ctor" || m.Name == "Invoke", new
DependencyInfo
(DependencyKind.MethodForSpecialType, type), origin);
2984
MarkType(fnptr.ReturnType, new
DependencyInfo
(DependencyKind.ReturnType, fnptr), origin);
2991
(type, reason) = (specification.ElementType, new
DependencyInfo
(DependencyKind.ElementType, specification));
3004
MarkType(fnptr.Parameters[i].ParameterType, new
DependencyInfo
(DependencyKind.ParameterType, fnptr), origin);
3010
MarkType(mod.ModifierType, new
DependencyInfo
(DependencyKind.ModifierType, mod), origin);
3021
var argumentTypeDef = MarkType(argument, new
DependencyInfo
(DependencyKind.GenericArgumentType, instance), origin);
3049
var di = new
DependencyInfo
(DependencyKind.TypePreserve, type);
3071
var di = new
DependencyInfo
(DependencyKind.TypePreserve, type);
3147
MarkMethodCollection(list, new
DependencyInfo
(DependencyKind.PreservedMethod, type), origin);
3157
MarkMethodCollection(list, new
DependencyInfo
(DependencyKind.PreservedMethod, method), origin);
3227
MarkType(reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
3240
MarkType(reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
3242
reason = new
DependencyInfo
(DependencyKind.MethodOnGenericInstance, reference);
3278
MarkType(method.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringTypeOfCalledMethod, method), new MessageOrigin(reason.Source as IMemberDefinition ?? method));
3285
MarkEvent(@event, new
DependencyInfo
(kind, originalReason.Source), origin);
3408
(method, reason) = (specification.ElementMethod, new
DependencyInfo
(DependencyKind.ElementMethod, specification));
3432
MarkType(method.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, method), methodOrigin);
3433
MarkCustomAttributes(method, new
DependencyInfo
(DependencyKind.CustomAttribute, method), methodOrigin);
3434
MarkSecurityDeclarations(method, new
DependencyInfo
(DependencyKind.CustomAttribute, method), methodOrigin);
3441
Tracer.AddDirectDependency(method.DeclaringType, new
DependencyInfo
(DependencyKind.InstantiatedByCtor, method), marked: false);
3454
MarkProperty(property, new
DependencyInfo
(PropagateDependencyKindToAccessors(reason.Kind, DependencyKind.PropertyOfPropertyMethod), method));
3461
MarkType(pd.ParameterType, new
DependencyInfo
(DependencyKind.ParameterType, method), methodOrigin);
3462
MarkCustomAttributes(pd, new
DependencyInfo
(DependencyKind.ParameterAttribute, method), methodOrigin);
3463
MarkMarshalSpec(pd, new
DependencyInfo
(DependencyKind.ParameterMarshalSpec, method), methodOrigin);
3486
MarkMethod(@base, new
DependencyInfo
(DependencyKind.MethodImplOverride, method), methodOrigin);
3509
MarkType(method.ReturnType, new
DependencyInfo
(DependencyKind.ReturnType, method), methodOrigin);
3510
MarkCustomAttributes(method.MethodReturnType, new
DependencyInfo
(DependencyKind.ReturnTypeAttribute, method), methodOrigin);
3511
MarkMarshalSpec(method.MethodReturnType, new
DependencyInfo
(DependencyKind.ReturnTypeMarshalSpec, method), methodOrigin);
3537
MarkMethodIf(declaringType.Methods, m => m.Name == methodPair, new
DependencyInfo
(DependencyKind.MethodForSpecialType, declaringType), methodOrigin);
3574
MarkFields(type, includeStatic: type.IsEnum, reason: new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
3647
if (!MarkDefaultConstructor(baseType, new
DependencyInfo
(DependencyKind.BaseDefaultCtorForStubbedMethod, method), origin))
3653
MarkAndCacheConvertToThrowExceptionCtor(new
DependencyInfo
(DependencyKind.UnreachableBodyRequirement, method), origin);
3696
var ctor = MarkMethodIf(disablePrivateReflection.Methods, MethodDefinitionExtensions.IsDefaultConstructor, new
DependencyInfo
(DependencyKind.DisablePrivateReflectionRequirement, disablePrivateReflection), emptyOrigin);
3721
MarkMethod(ov.Base, new
DependencyInfo
(DependencyKind.BaseMethod, method), origin);
3731
Annotations.MarkProcessed(pii.Module, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method));
3751
MarkDefaultConstructor(returnTypeDefinition, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3752
MarkFields(returnTypeDefinition, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3759
MarkFields(method.DeclaringType, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3776
MarkFields(paramTypeDefinition, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3779
MarkDefaultConstructor(paramTypeDefinition, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3829
MarkCustomAttributes(prop, new
DependencyInfo
(DependencyKind.CustomAttribute, prop), propertyOrigin);
3838
MarkMethodIfNotNull(evt.AddMethod, new
DependencyInfo
(dependencyKind, evt), origin, suppressTrimAnalysisWarnings: suppressTrimAnalysisWarnings);
3839
MarkMethodIfNotNull(evt.InvokeMethod, new
DependencyInfo
(dependencyKind, evt), origin, suppressTrimAnalysisWarnings: suppressTrimAnalysisWarnings);
3840
MarkMethodIfNotNull(evt.RemoveMethod, new
DependencyInfo
(dependencyKind, evt), origin, suppressTrimAnalysisWarnings: suppressTrimAnalysisWarnings);
3846
MarkCustomAttributes(evt, new
DependencyInfo
(DependencyKind.CustomAttribute, evt), eventOrigin);
3864
MarkAndCacheConvertToThrowExceptionCtor(new
DependencyInfo
(DependencyKind.UnreachableBodyRequirement, body.Method), origin);
3956
MarkType(var.VariableType, new
DependencyInfo
(DependencyKind.VariableType, methodIL.Method), origin);
3960
MarkType(eh.CatchType, new
DependencyInfo
(DependencyKind.CatchType, methodIL.Method), origin);
4040
MarkField((FieldReference)instruction.Operand, new
DependencyInfo
(DependencyKind.FieldAccess, method), origin);
4064
MarkMethodVisibleToReflection(methodReference, new
DependencyInfo
(dependencyKind, method), origin);
4068
MarkMethod(methodReference, new
DependencyInfo
(dependencyKind, method), origin);
4077
var reason = new
DependencyInfo
(DependencyKind.Ldtoken, method);
4137
MarkType(operand, new
DependencyInfo
(DependencyKind.InstructionTypeRef, method), origin);
4154
Annotations.MarkProcessed(iface, reason ?? new
DependencyInfo
(DependencyKind.InterfaceImplementationOnType, origin.Provider));
4164
MarkCustomAttributes(iface, new
DependencyInfo
(DependencyKind.CustomAttribute, iface), origin);
4166
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)
26
var di = new
DependencyInfo
(DependencyKind.RootAssembly, assembly);
139
Annotations.Mark(type, new
DependencyInfo
(DependencyKind.RootAssembly, type.Module.Assembly), new MessageOrigin(type.Module.Assembly));
156
Annotations.Mark(type, new
DependencyInfo
(DependencyKind.RootAssembly, type.Module.Assembly), new MessageOrigin(type.Module.Assembly));
170
var di = new
DependencyInfo
(DependencyKind.RootAssembly, assembly);
193
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)
548
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 (7)
80
MarkTypeMapAttribute(entry, new
DependencyInfo
(DependencyKind.TypeMapEntry, callingMethod));
100
MarkTypeMapAttribute(entry, new
DependencyInfo
(DependencyKind.TypeMapEntry, callingMethod));
137
MarkTypeMapAttribute(entry, new
DependencyInfo
(DependencyKind.TypeMapAssemblyTarget, callingMethod));
155
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapAssemblyTarget, callingMethod));
179
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapEntry, targetType));
266
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapEntry, null));
286
MarkTypeMapAttribute(attr, new
DependencyInfo
(DependencyKind.TypeMapEntry, dependencySource));
96 references to DependencyInfo
illink (96)
Linker.Steps\DescriptorMarker.cs (2)
195
var
reason = new DependencyInfo(DependencyKind.XmlDescriptor, _xmlDocumentLocation);
215
var
reason = new DependencyInfo(DependencyKind.XmlDescriptor, _xmlDocumentLocation);
Linker.Steps\MarkStep.cs (69)
63
protected Queue<(MethodDefinition,
DependencyInfo
)> _methods;
66
protected Queue<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)> _lateMarkedAttributes;
226
_methods = new Queue<(MethodDefinition,
DependencyInfo
)>();
229
_lateMarkedAttributes = new Queue<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)>();
337
internal void MarkEntireType(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
481
MarkType(type,
DependencyInfo
.AlreadyMarked, pending.Value);
484
MarkMethod(method,
DependencyInfo
.AlreadyMarked, pending.Value);
488
MarkField(field,
DependencyInfo
.AlreadyMarked, pending.Value);
491
MarkModule(module,
DependencyInfo
.AlreadyMarked, pending.Value);
511
MarkMethodVisibleToReflection(method,
DependencyInfo
.AlreadyMarked, origin);
517
MarkFieldVisibleToReflection(field,
DependencyInfo
.AlreadyMarked, origin);
523
MarkTypeVisibleToReflection(type,
DependencyInfo
.AlreadyMarked, origin);
553
(MethodDefinition method,
DependencyInfo
reason) = _methods.Dequeue();
563
protected virtual void EnqueueMethod(MethodDefinition method, in
DependencyInfo
reason)
843
void MarkMarshalSpec(IMarshalInfoProvider spec, in
DependencyInfo
reason, MessageOrigin origin)
860
void MarkCustomAttributes(ICustomAttributeProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
928
protected virtual bool ProcessLinkerSpecialAttribute(CustomAttribute ca, ICustomAttributeProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
1026
void MarkMembersVisibleToReflection(IEnumerable<IMetadataTokenProvider> members, in
DependencyInfo
reason, MessageOrigin origin)
1138
bool MarkDependencyMethod(TypeDefinition type, string name, string[]? signature, in
DependencyInfo
reason, MessageOrigin origin)
1202
protected internal virtual void MarkCustomAttribute(CustomAttribute ca, in
DependencyInfo
reason, MessageOrigin origin)
1267
protected internal void MarkStaticConstructor(TypeDefinition type, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
1301
protected void MarkSecurityDeclarations(ISecurityDeclarationProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
1312
protected virtual void MarkSecurityDeclaration(SecurityDeclaration sd, in
DependencyInfo
reason, MessageOrigin origin)
1321
protected virtual void MarkSecurityAttribute(SecurityAttribute sa, in
DependencyInfo
reason, MessageOrigin origin)
1346
protected void MarkCustomAttributeProperty(CustomAttributeNamedArgument namedArgument, TypeDefinition attribute, ICustomAttribute ca, in
DependencyInfo
reason, MessageOrigin origin)
1489
public virtual void MarkAssembly(AssemblyDefinition assembly,
DependencyInfo
reason, MessageOrigin origin)
1696
var skippedItems = new List<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)>();
1728
protected void MarkField(FieldReference reference,
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
1868
void MarkField(FieldDefinition field, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
1921
var
cctorReason = reason.Kind switch
1983
void MarkModule(ModuleDefinition module,
DependencyInfo
reason, MessageOrigin origin)
2015
protected internal virtual void MarkTypeVisibleToReflection(TypeReference type, in
DependencyInfo
reason, in MessageOrigin origin)
2038
internal void MarkMethodVisibleToReflection(MethodReference method, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
2080
bool MarkMethodsVisibleToReflection(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2094
internal void MarkFieldVisibleToReflection(FieldReference field, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
2130
bool MarkFieldsVisibleToReflection(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin, bool markBackingFieldsOnlyIfPropertyMarked = false)
2155
internal void MarkPropertyVisibleToReflection(PropertyDefinition property, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
2166
internal void MarkEventVisibleToReflection(EventDefinition @event, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
2178
internal void MarkStaticConstructorVisibleToReflection(TypeDefinition type, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
2189
protected internal virtual TypeDefinition? MarkType(TypeReference reference,
DependencyInfo
reason, MessageOrigin origin)
2599
protected int MarkNamedMethod(TypeDefinition type, string method_name, in
DependencyInfo
reason, MessageOrigin origin)
2626
bool MarkNamedField(TypeDefinition type, string field_name, in
DependencyInfo
reason, MessageOrigin origin)
2643
void MarkNamedProperty(TypeDefinition type, string property_name, in
DependencyInfo
reason, MessageOrigin origin)
2815
protected internal bool MarkMethodsIf(Collection<MethodDefinition> methods, Func<MethodDefinition, bool> predicate, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
2829
protected MethodDefinition? MarkMethodIf(Collection<MethodDefinition> methods, Func<MethodDefinition, bool> predicate, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
2842
protected bool MarkDefaultConstructor(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2850
void MarkCustomMarshalerGetInstance(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2865
void MarkICustomMarshalerMethods(TypeDefinition inputType, in
DependencyInfo
reason, MessageOrigin origin)
2968
protected (TypeReference,
DependencyInfo
) GetOriginalType(TypeReference type,
DependencyInfo
reason, MessageOrigin origin)
3049
var
di = new DependencyInfo(DependencyKind.TypePreserve, type);
3071
var
di = new DependencyInfo(DependencyKind.TypePreserve, type);
3160
protected bool MarkFields(TypeDefinition type, bool includeStatic, in
DependencyInfo
reason, MessageOrigin origin)
3193
protected void MarkStaticFields(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
3205
protected virtual bool MarkMethods(TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
3214
void MarkMethodCollection(IList<MethodDefinition> methods, in
DependencyInfo
reason, MessageOrigin origin)
3220
protected virtual MethodDefinition? MarkMethod(MethodReference reference,
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
3222
DependencyInfo
originalReason = reason;
3398
protected (MethodReference,
DependencyInfo
) GetOriginalMethod(MethodReference method,
DependencyInfo
reason, MessageOrigin origin)
3415
protected virtual void ProcessMethod(MethodDefinition method, in
DependencyInfo
reason)
3658
protected virtual void MarkAndCacheConvertToThrowExceptionCtor(
DependencyInfo
reason, MessageOrigin origin)
3694
MarkType(disablePrivateReflection,
DependencyInfo
.DisablePrivateReflectionRequirement, emptyOrigin);
3821
protected internal void MarkProperty(PropertyDefinition prop, in
DependencyInfo
reason)
3833
protected internal virtual void MarkEvent(EventDefinition evt, in
DependencyInfo
reason, MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
3850
internal void MarkMethodIfNotNull(MethodReference method, in
DependencyInfo
reason, in MessageOrigin origin, bool suppressTrimAnalysisWarnings = false)
4077
var
reason = new DependencyInfo(DependencyKind.Ldtoken, method);
4142
void MarkInterfaceImplementationList(List<InterfaceImplementation> ifaces, MessageOrigin origin,
DependencyInfo
? reason = null)
4150
protected internal virtual void MarkInterfaceImplementation(InterfaceImplementation iface, MessageOrigin origin,
DependencyInfo
? reason = null)
Linker.Steps\RootAssemblyInputStep.cs (2)
26
var
di = new DependencyInfo(DependencyKind.RootAssembly, assembly);
170
var
di = new DependencyInfo(DependencyKind.RootAssembly, assembly);
Linker\Annotations.cs (3)
164
public void Mark(IMetadataTokenProvider provider, in
DependencyInfo
reason, in MessageOrigin origin)
178
public void Mark(CustomAttribute attribute, in
DependencyInfo
reason)
305
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 (1)
112
void MarkTypeMapAttribute(CustomAttributeWithOrigin entry,
DependencyInfo
info)
Linker\XmlDependencyRecorder.cs (1)
97
public void RecordDependency(object target, in
DependencyInfo
reason, bool marked)