173 instantiations of DependencyInfo
illink (173)
Linker.Dataflow\ReflectionMarker.cs (9)
96
_markStep.MarkTypeVisibleToReflection (typeReference, new
DependencyInfo
(DependencyKind.AccessedViaReflection, origin.Provider), origin);
98
_context.MarkingHelpers.MarkMatchingExportedType (typeResolutionRecord.ResolvedType, typeResolutionRecord.ReferringAssembly, new
DependencyInfo
(DependencyKind.DynamicallyAccessedMember, typeReference), origin);
111
_markStep.MarkTypeVisibleToReflection (type, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
122
_markStep.MarkMethodVisibleToReflection (method, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
130
_markStep.MarkFieldVisibleToReflection (field, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
138
_markStep.MarkPropertyVisibleToReflection (property, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
146
_markStep.MarkEventVisibleToReflection (@event, new
DependencyInfo
(dependencyKind, origin.Provider), origin);
154
_markStep.MarkInterfaceImplementation (interfaceImplementation, origin, new
DependencyInfo
(dependencyKind, origin.Provider));
213
_markStep.MarkStaticConstructorVisibleToReflection (type, new
DependencyInfo
(DependencyKind.AccessedViaReflection, origin.Provider), origin);
Linker.Steps\DescriptorMarker.cs (7)
62
_context.MarkingHelpers.MarkExportedType (exportedType, assembly.MainModule, new
DependencyInfo
(DependencyKind.XmlDescriptor, assembly.MainModule), GetMessageOriginForPosition (nav));
93
_context.Annotations.Mark (type, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition (nav));
105
_context.MarkingHelpers.MarkExportedType (exported, assembly.MainModule, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition (nav));
136
_context.Annotations.Mark (type, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition (nav));
142
_context.Annotations.Mark (parent, new
DependencyInfo
(DependencyKind.DeclaringType, currentType), GetMessageOriginForPosition (nav));
164
_context.Annotations.Mark (field, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition (nav));
178
_context.Annotations.Mark (method, new
DependencyInfo
(DependencyKind.XmlDescriptor, _xmlDocumentLocation), GetMessageOriginForPosition (nav));
Linker.Steps\DiscoverCustomOperatorsHandler.cs (1)
84
Context.Annotations.Mark (method, new
DependencyInfo
(DependencyKind.PreservedOperator, method.DeclaringType), new MessageOrigin (method.DeclaringType));
Linker.Steps\MarkExportedTypesTargetStep.cs (1)
36
context.Annotations.Mark (type, new
DependencyInfo
(DependencyKind.ExportedType, exportedType), new MessageOrigin (assembly));
Linker.Steps\MarkStep.cs (130)
325
MarkEntireType (nested, new
DependencyInfo
(DependencyKind.NestedType, type), origin);
337
MarkFieldsVisibleToReflection (type, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
338
MarkMethodsVisibleToReflection (type, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
342
MarkPropertyVisibleToReflection (property, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
348
MarkEventVisibleToReflection (ev, new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
406
MarkAssembly (assembly, new
DependencyInfo
(DependencyKind.AssemblyAction, null), emptyOrigin);
601
MarkType (type, new
DependencyInfo
(DependencyKind.DynamicInterfaceCastableImplementation, iface.InterfaceType), new MessageOrigin (Context.TryResolve (iface.InterfaceType)));
639
MarkMethod (dimInfo.Override, new
DependencyInfo
(DependencyKind.Override, dimInfo.Base), origin);
647
MarkMethod (ov.Override, new
DependencyInfo
(DependencyKind.Override, ov.Base), origin);
691
MarkMethod (overrideInformation.Override, new
DependencyInfo
(DependencyKind.OverrideOnInstantiatedType, overrideInformation.Override.DeclaringType), origin);
695
MarkMethod (overrideInformation.Override, new
DependencyInfo
(DependencyKind.Override, overrideInformation.Base), origin);
876
MarkingHelpers.MarkMatchingExportedType (type, assembly, new
DependencyInfo
(DependencyKind.DynamicDependency, type), origin);
907
MarkMembersVisibleToReflection (members, new
DependencyInfo
(DependencyKind.DynamicDependency, context), origin);
970
MarkingHelpers.MarkMatchingExportedType (td, assemblyDef, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin);
991
MarkEntireType (td, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin);
996
if (MarkDependencyMethod (td, member, signature, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin))
999
if (MarkNamedField (td, member, new
DependencyInfo
(DependencyKind.PreservedDependency, ca), origin))
1065
MarkMethod (ca.Constructor, new
DependencyInfo
(DependencyKind.AttributeConstructor, ca), origin);
1183
MarkType (security_type, new
DependencyInfo
(DependencyKind.AttributeType, sa), origin);
1194
MarkCustomAttributeProperty (named_argument, attribute, ca, new
DependencyInfo
(DependencyKind.AttributeProperty, ca), origin);
1238
MarkField (field, new
DependencyInfo
(DependencyKind.CustomAttributeField, ca), origin);
1298
MarkType (et, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1313
MarkType (argument.Type, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1314
MarkType ((TypeReference) argument.Value, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentValue, ca), origin);
1319
MarkType (boxed_value.Type, new
DependencyInfo
(DependencyKind.CustomAttributeArgumentType, ca), origin);
1366
MarkSecurityDeclarations (assembly, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assembly), assemblyOrigin);
1378
MarkCustomAttributes (assembly, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assembly), origin);
1379
MarkCustomAttributes (module, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, module), origin);
1382
MarkEntireType (type, new
DependencyInfo
(DependencyKind.TypeInAssembly, assembly), origin);
1411
markingHelpers.MarkExportedType (exportedType, assembly.MainModule, new
DependencyInfo
(DependencyKind.ExportedType, assembly), new MessageOrigin (assembly));
1444
MarkType (moduleType, new
DependencyInfo
(DependencyKind.TypeInAssembly, assembly), origin);
1483
MarkCustomAttribute (customAttribute, new
DependencyInfo
(DependencyKind.AssemblyOrModuleAttribute, assemblyLevelAttribute.Provider), assemblyOrigin);
1550
MarkType (reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
1553
reason = new
DependencyInfo
(DependencyKind.FieldOnGenericInstance, reference);
1680
MarkType (field.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, field), origin);
1683
MarkType (field.FieldType, new
DependencyInfo
(DependencyKind.FieldType, field), fieldOrigin);
1684
MarkCustomAttributes (field, new
DependencyInfo
(DependencyKind.CustomAttribute, field), fieldOrigin);
1685
MarkMarshalSpec (field, new
DependencyInfo
(DependencyKind.FieldMarshalSpec, field), fieldOrigin);
1710
DependencyKind.FieldAccess => new
DependencyInfo
(DependencyKind.TriggersCctorThroughFieldAccess, reason.Source),
1711
_ => new
DependencyInfo
(DependencyKind.CctorForField, field)
1778
MarkAssembly (module.Assembly, new
DependencyInfo
(DependencyKind.AssemblyOfModule, module), origin);
1790
MarkDefaultConstructor (type, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
1791
MarkMethodsIf (type.Methods, IsSpecialSerializationConstructor, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
1794
MarkMethodsIf (type.Methods, HasOnSerializeOrDeserializeAttribute, new
DependencyInfo
(DependencyKind.SerializationMethodForType, type), origin);
1928
MarkStaticConstructor (type, new
DependencyInfo
(DependencyKind.TriggersCctorForCalledMethod, reason.Source), origin);
1945
MarkModule (module, new
DependencyInfo
(DependencyKind.ScopeOfType, type), origin);
1952
MarkType (type.BaseType, new
DependencyInfo
(DependencyKind.BaseType, type), typeOrigin);
1960
MarkType (type.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, type), typeOrigin);
1961
MarkCustomAttributes (type, new
DependencyInfo
(DependencyKind.CustomAttribute, type), typeOrigin);
1962
MarkSecurityDeclarations (type, new
DependencyInfo
(DependencyKind.CustomAttribute, type), typeOrigin);
1979
MarkMethodIf (type.Methods, static m => m.Name == "Finalize", new
DependencyInfo
(DependencyKind.MethodForSpecialType, type), typeOrigin);
2029
MarkMethod (method, new
DependencyInfo
(DependencyKind.VirtualNeededDueToPreservedScope, type), typeOrigin);
2033
MarkStaticConstructor (type, new
DependencyInfo
(DependencyKind.CctorForType, type), typeOrigin);
2122
if (MarkMethodsIf (type.Methods, MethodDefinitionExtensions.IsPublicInstancePropertyMethod, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, type), origin))
2123
Tracer.AddDirectDependency (attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2146
Tracer.AddDirectDependency (attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2147
MarkNamedMethod (type, name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2162
Tracer.AddDirectDependency (attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2202
MarkMethodVisibleToReflection (method, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2208
MarkFieldVisibleToReflection (field, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2214
MarkPropertyVisibleToReflection (property, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2222
MarkMethodsVisibleToReflection (type, new
DependencyInfo
(DependencyKind.KeptForSpecialAttribute, attribute), origin);
2223
MarkFieldsVisibleToReflection (type, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2247
Tracer.AddDirectDependency (attribute, new
DependencyInfo
(DependencyKind.CustomAttribute, type), marked: false);
2248
MarkType (proxyTypeReference, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2251
MarkMethodsVisibleToReflection (proxyType, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2252
MarkFieldsVisibleToReflection (proxyType, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2291
MarkNamedField (method.DeclaringType, member_name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2292
MarkNamedProperty (method.DeclaringType, member_name, new
DependencyInfo
(DependencyKind.ReferencedBySpecialAttribute, attribute), origin);
2373
MarkCustomAttributes (parameter, new
DependencyInfo
(DependencyKind.GenericParameterCustomAttribute, parameter.Owner), origin);
2378
MarkCustomAttributes (constraint, new
DependencyInfo
(DependencyKind.GenericParameterConstraintCustomAttribute, parameter.Owner), origin);
2379
MarkType (constraint.ConstraintType, new
DependencyInfo
(DependencyKind.GenericParameterConstraintType, parameter.Owner), origin);
2612
MarkStaticFields (nestedType, new
DependencyInfo
(DependencyKind.EventSourceProviderField, td), origin);
2618
MarkMethodsIf (type.Methods, m => m.Name == ".ctor" || m.Name == "Invoke", new
DependencyInfo
(DependencyKind.MethodForSpecialType, type), origin);
2634
MarkType (fnptr.ReturnType, new
DependencyInfo
(DependencyKind.ReturnType, fnptr), origin);
2641
(type, reason) = (specification.ElementType, new
DependencyInfo
(DependencyKind.ElementType, specification));
2653
MarkType (fnptr.Parameters[i].ParameterType, new
DependencyInfo
(DependencyKind.ParameterType, fnptr), origin);
2659
MarkType (mod.ModifierType, new
DependencyInfo
(DependencyKind.ModifierType, mod), origin);
2673
var argumentTypeDef = MarkType (argument, new
DependencyInfo
(DependencyKind.GenericArgumentType, instance), origin);
2690
MarkDefaultConstructor (argumentTypeDef, new
DependencyInfo
(DependencyKind.DefaultCtorForNewConstrainedGenericArgument, instance), origin);
2713
var di = new
DependencyInfo
(DependencyKind.TypePreserve, type);
2733
var di = new
DependencyInfo
(DependencyKind.TypePreserve, type);
2799
MarkMethodCollection (list, new
DependencyInfo
(DependencyKind.PreservedMethod, type), origin);
2809
MarkMethodCollection (list, new
DependencyInfo
(DependencyKind.PreservedMethod, method), origin);
2874
MarkType (reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
2885
MarkType (reference.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, reference), origin);
2887
reason = new
DependencyInfo
(DependencyKind.MethodOnGenericInstance, reference);
2931
MarkType (method.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringTypeOfCalledMethod, method), new MessageOrigin (reason.Source as IMemberDefinition ?? method));
2937
MarkEvent (@event, new
DependencyInfo
(kind, originalReason.Source), origin);
3057
(method, reason) = (specification.ElementMethod, new
DependencyInfo
(DependencyKind.ElementMethod, specification));
3081
MarkType (method.DeclaringType, new
DependencyInfo
(DependencyKind.DeclaringType, method), methodOrigin);
3082
MarkCustomAttributes (method, new
DependencyInfo
(DependencyKind.CustomAttribute, method), methodOrigin);
3083
MarkSecurityDeclarations (method, new
DependencyInfo
(DependencyKind.CustomAttribute, method), methodOrigin);
3089
Tracer.AddDirectDependency (method.DeclaringType, new
DependencyInfo
(DependencyKind.InstantiatedByCtor, method), marked: false);
3099
MarkProperty (property, new
DependencyInfo
(PropagateDependencyKindToAccessors (reason.Kind, DependencyKind.PropertyOfPropertyMethod), method));
3104
MarkType (pd.ParameterType, new
DependencyInfo
(DependencyKind.ParameterType, method), methodOrigin);
3105
MarkCustomAttributes (pd, new
DependencyInfo
(DependencyKind.ParameterAttribute, method), methodOrigin);
3106
MarkMarshalSpec (pd, new
DependencyInfo
(DependencyKind.ParameterMarshalSpec, method), methodOrigin);
3127
MarkMethod (@base, new
DependencyInfo
(DependencyKind.MethodImplOverride, method), methodOrigin);
3148
MarkType (method.ReturnType, new
DependencyInfo
(DependencyKind.ReturnType, method), methodOrigin);
3149
MarkCustomAttributes (method.MethodReturnType, new
DependencyInfo
(DependencyKind.ReturnTypeAttribute, method), methodOrigin);
3150
MarkMarshalSpec (method.MethodReturnType, new
DependencyInfo
(DependencyKind.ReturnTypeMarshalSpec, method), methodOrigin);
3172
MarkMethodIf (declaringType.Methods, m => m.Name == methodPair, new
DependencyInfo
(DependencyKind.MethodForSpecialType, declaringType), methodOrigin);
3208
MarkFields (type, includeStatic: type.IsEnum, reason: new
DependencyInfo
(DependencyKind.MemberOfType, type), origin);
3273
if (!MarkDefaultConstructor (baseType, new
DependencyInfo
(DependencyKind.BaseDefaultCtorForStubbedMethod, method), origin))
3279
MarkAndCacheConvertToThrowExceptionCtor (new
DependencyInfo
(DependencyKind.UnreachableBodyRequirement, method), origin);
3322
var ctor = MarkMethodIf (disablePrivateReflection.Methods, MethodDefinitionExtensions.IsDefaultConstructor, new
DependencyInfo
(DependencyKind.DisablePrivateReflectionRequirement, disablePrivateReflection), emptyOrigin);
3345
MarkMethod (ov.Base, new
DependencyInfo
(DependencyKind.BaseMethod, method), origin);
3354
Annotations.MarkProcessed (pii.Module, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method));
3371
MarkDefaultConstructor (returnTypeDefinition, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3372
MarkFields (returnTypeDefinition, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3378
MarkFields (method.DeclaringType, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3391
MarkFields (paramTypeDefinition, includeStaticFields, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3393
MarkDefaultConstructor (paramTypeDefinition, new
DependencyInfo
(DependencyKind.InteropMethodDependency, method), origin);
3441
MarkCustomAttributes (prop, new
DependencyInfo
(DependencyKind.CustomAttribute, prop), propertyOrigin);
3450
MarkMethodIfNotNull (evt.AddMethod, new
DependencyInfo
(dependencyKind, evt), origin);
3451
MarkMethodIfNotNull (evt.InvokeMethod, new
DependencyInfo
(dependencyKind, evt), origin);
3452
MarkMethodIfNotNull (evt.RemoveMethod, new
DependencyInfo
(dependencyKind, evt), origin);
3458
MarkCustomAttributes (evt, new
DependencyInfo
(DependencyKind.CustomAttribute, evt), eventOrigin);
3475
MarkAndCacheConvertToThrowExceptionCtor (new
DependencyInfo
(DependencyKind.UnreachableBodyRequirement, body.Method), origin);
3541
MarkType (var.VariableType, new
DependencyInfo
(DependencyKind.VariableType, methodIL.Method), origin);
3545
MarkType (eh.CatchType, new
DependencyInfo
(DependencyKind.CatchType, methodIL.Method), origin);
3610
MarkField ((FieldReference) instruction.Operand, new
DependencyInfo
(DependencyKind.FieldAccess, method), origin);
3631
MarkMethodVisibleToReflection (methodReference, new
DependencyInfo
(dependencyKind, method), origin);
3633
MarkMethod (methodReference, new
DependencyInfo
(dependencyKind, method), origin);
3641
var reason = new
DependencyInfo
(DependencyKind.Ldtoken, method);
3685
MarkType (operand, new
DependencyInfo
(DependencyKind.InstructionTypeRef, method), origin);
3701
Annotations.MarkProcessed (iface, reason ?? new
DependencyInfo
(DependencyKind.InterfaceImplementationOnType, origin.Provider));
3704
MarkCustomAttributes (iface, new
DependencyInfo
(DependencyKind.CustomAttribute, iface), origin);
3706
MarkType (iface.InterfaceType, reason ?? new
DependencyInfo
(DependencyKind.InterfaceImplementationInterfaceType, iface), origin);
Linker.Steps\ProcessReferencesStep.cs (1)
48
Annotations.Mark (assembly.MainModule, new
DependencyInfo
(DependencyKind.AssemblyAction, assembly), new MessageOrigin (assembly));
Linker.Steps\ReflectionBlockedStep.cs (1)
75
Annotations.Mark (ca, new
DependencyInfo
(DependencyKind.DisablePrivateReflection, ca));
Linker.Steps\RootAssemblyInputStep.cs (5)
27
var di = new
DependencyInfo
(DependencyKind.RootAssembly, assembly);
139
Annotations.Mark (type, new
DependencyInfo
(DependencyKind.RootAssembly, type.Module.Assembly), new MessageOrigin (type.Module.Assembly));
155
Annotations.Mark (type, new
DependencyInfo
(DependencyKind.RootAssembly, type.Module.Assembly), new MessageOrigin (type.Module.Assembly));
169
var di = new
DependencyInfo
(DependencyKind.RootAssembly, assembly);
190
Context.Annotations.Mark (attribute, new
DependencyInfo
(DependencyKind.RootAssembly, assembly));
Linker.Steps\UnsafeAccessorMarker.cs (3)
86
_markStep.MarkMethodVisibleToReflection (targetMethod, new
DependencyInfo
(DependencyKind.UnsafeAccessorTarget, method), new MessageOrigin (method));
110
_markStep.MarkMethodVisibleToReflection (targetMethod, new
DependencyInfo
(DependencyKind.UnsafeAccessorTarget, method), new MessageOrigin (method));
137
_markStep.MarkFieldVisibleToReflection (targetField, new
DependencyInfo
(DependencyKind.UnsafeAccessorTarget, method), new MessageOrigin (method));
Linker\Annotations.cs (1)
510
Mark (method, new
DependencyInfo
(DependencyKind.PreservedMethod, definition), new MessageOrigin (definition));
Linker\DependencyInfo.cs (3)
155
public static readonly DependencyInfo Unspecified = new
DependencyInfo
(DependencyKind.Unspecified, null);
156
public static readonly DependencyInfo AlreadyMarked = new
DependencyInfo
(DependencyKind.AlreadyMarked, null);
157
public static readonly DependencyInfo DisablePrivateReflectionRequirement = new
DependencyInfo
(DependencyKind.DisablePrivateReflectionRequirement, null);
Linker\MarkingHelpers.cs (1)
44
MarkExportedType (exportedType, assembly.MainModule, new
DependencyInfo
(DependencyKind.ExportedType, typeReference), origin);
Linker\SerializationMarker.cs (10)
126
var reason = new
DependencyInfo
(ToDependencyKind (serializerKind), provider);
178
MarkRecursiveMembersInternal (argType, new
DependencyInfo
(DependencyKind.GenericArgumentType, typeRef));
181
typeReason = new
DependencyInfo
(DependencyKind.ElementType, typeRef);
199
MarkRecursiveMembersInternal (type.BaseType, new
DependencyInfo
(DependencyKind.SerializedRecursiveType, type));
207
MarkRecursiveMembersInternal (field.FieldType, new
DependencyInfo
(DependencyKind.SerializedRecursiveType, type));
208
_context.Annotations.Mark (field, new
DependencyInfo
(DependencyKind.SerializedMember, type), new MessageOrigin (type));
221
MarkRecursiveMembersInternal (property.PropertyType, new
DependencyInfo
(DependencyKind.SerializedRecursiveType, type));
223
_context.Annotations.Mark (get, new
DependencyInfo
(DependencyKind.SerializedMember, type), new MessageOrigin (type));
225
_context.Annotations.Mark (set, new
DependencyInfo
(DependencyKind.SerializedMember, type), new MessageOrigin (type));
236
_context.Annotations.Mark (method, new
DependencyInfo
(DependencyKind.SerializedMember, type), new MessageOrigin (type));
90 references to DependencyInfo
illink (90)
Linker.Steps\MarkStep.cs (66)
61
protected Queue<(MethodDefinition,
DependencyInfo
)> _methods;
64
protected Queue<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)> _lateMarkedAttributes;
213
_methods = new Queue<(MethodDefinition,
DependencyInfo
)> ();
216
_lateMarkedAttributes = new Queue<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)> ();
309
internal void MarkEntireType (TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
440
MarkType (type,
DependencyInfo
.AlreadyMarked, pending.Value);
443
MarkMethod (method,
DependencyInfo
.AlreadyMarked, pending.Value);
447
MarkField (field,
DependencyInfo
.AlreadyMarked, pending.Value);
450
MarkModule (module,
DependencyInfo
.AlreadyMarked, pending.Value);
491
(MethodDefinition method,
DependencyInfo
reason) = _methods.Dequeue ();
501
protected virtual void EnqueueMethod (MethodDefinition method, in
DependencyInfo
reason)
755
void MarkMarshalSpec (IMarshalInfoProvider spec, in
DependencyInfo
reason, MessageOrigin origin)
770
void MarkCustomAttributes (ICustomAttributeProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
832
protected virtual bool ProcessLinkerSpecialAttribute (CustomAttribute ca, ICustomAttributeProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
910
void MarkMembersVisibleToReflection (IEnumerable<IMetadataTokenProvider> members, in
DependencyInfo
reason, MessageOrigin origin)
1006
bool MarkDependencyMethod (TypeDefinition type, string name, string[]? signature, in
DependencyInfo
reason, MessageOrigin origin)
1062
protected virtual void MarkCustomAttribute (CustomAttribute ca, in
DependencyInfo
reason, MessageOrigin origin)
1121
protected internal void MarkStaticConstructor (TypeDefinition type, in
DependencyInfo
reason, in MessageOrigin origin)
1153
protected void MarkSecurityDeclarations (ISecurityDeclarationProvider provider, in
DependencyInfo
reason, MessageOrigin origin)
1164
protected virtual void MarkSecurityDeclaration (SecurityDeclaration sd, in
DependencyInfo
reason, MessageOrigin origin)
1173
protected virtual void MarkSecurityAttribute (SecurityAttribute sa, in
DependencyInfo
reason, MessageOrigin origin)
1197
protected void MarkCustomAttributeProperty (CustomAttributeNamedArgument namedArgument, TypeDefinition attribute, ICustomAttribute ca, in
DependencyInfo
reason, MessageOrigin origin)
1331
protected virtual void MarkAssembly (AssemblyDefinition assembly,
DependencyInfo
reason, MessageOrigin origin)
1515
var skippedItems = new List<(AttributeProviderPair,
DependencyInfo
, MessageOrigin)> ();
1544
protected void MarkField (FieldReference reference,
DependencyInfo
reason, in MessageOrigin origin)
1661
void MarkField (FieldDefinition field, in
DependencyInfo
reason, in MessageOrigin origin)
1708
var
cctorReason = reason.Kind switch {
1769
void MarkModule (ModuleDefinition module,
DependencyInfo
reason, MessageOrigin origin)
1797
protected internal virtual void MarkTypeVisibleToReflection (TypeReference type, in
DependencyInfo
reason, in MessageOrigin origin)
1810
internal void MarkMethodVisibleToReflection (MethodReference method, in
DependencyInfo
reason, in MessageOrigin origin)
1819
bool MarkMethodsVisibleToReflection (TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
1832
internal void MarkFieldVisibleToReflection (FieldReference field, in
DependencyInfo
reason, in MessageOrigin origin)
1837
bool MarkFieldsVisibleToReflection (TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin, bool markBackingFieldsOnlyIfPropertyMarked = false)
1860
internal void MarkPropertyVisibleToReflection (PropertyDefinition property, in
DependencyInfo
reason, in MessageOrigin origin)
1871
internal void MarkEventVisibleToReflection (EventDefinition @event, in
DependencyInfo
reason, in MessageOrigin origin)
1883
internal void MarkStaticConstructorVisibleToReflection (TypeDefinition type, in
DependencyInfo
reason, in MessageOrigin origin)
1894
protected internal virtual TypeDefinition? MarkType (TypeReference reference,
DependencyInfo
reason, MessageOrigin origin)
2269
protected int MarkNamedMethod (TypeDefinition type, string method_name, in
DependencyInfo
reason, MessageOrigin origin)
2295
bool MarkNamedField (TypeDefinition type, string field_name, in
DependencyInfo
reason, MessageOrigin origin)
2311
void MarkNamedProperty (TypeDefinition type, string property_name, in
DependencyInfo
reason, MessageOrigin origin)
2479
protected internal bool MarkMethodsIf (Collection<MethodDefinition> methods, Func<MethodDefinition, bool> predicate, in
DependencyInfo
reason, in MessageOrigin origin)
2491
protected MethodDefinition? MarkMethodIf (Collection<MethodDefinition> methods, Func<MethodDefinition, bool> predicate, in
DependencyInfo
reason, in MessageOrigin origin)
2502
protected bool MarkDefaultConstructor (TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2510
void MarkCustomMarshalerGetInstance (TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2525
void MarkICustomMarshalerMethods (TypeDefinition inputType, in
DependencyInfo
reason, MessageOrigin origin)
2621
protected (TypeReference,
DependencyInfo
) GetOriginalType (TypeReference type,
DependencyInfo
reason, MessageOrigin origin)
2713
var
di = new DependencyInfo (DependencyKind.TypePreserve, type);
2733
var
di = new DependencyInfo (DependencyKind.TypePreserve, type);
2812
protected bool MarkFields (TypeDefinition type, bool includeStatic, in
DependencyInfo
reason, MessageOrigin origin)
2842
protected void MarkStaticFields (TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2853
protected virtual bool MarkMethods (TypeDefinition type, in
DependencyInfo
reason, MessageOrigin origin)
2862
void MarkMethodCollection (IList<MethodDefinition> methods, in
DependencyInfo
reason, MessageOrigin origin)
2868
protected virtual MethodDefinition? MarkMethod (MethodReference reference,
DependencyInfo
reason, in MessageOrigin origin)
2870
DependencyInfo
originalReason = reason;
3048
protected (MethodReference,
DependencyInfo
) GetOriginalMethod (MethodReference method,
DependencyInfo
reason, MessageOrigin origin)
3064
protected virtual void ProcessMethod (MethodDefinition method, in
DependencyInfo
reason)
3284
protected virtual void MarkAndCacheConvertToThrowExceptionCtor (
DependencyInfo
reason, MessageOrigin origin)
3320
MarkType (disablePrivateReflection,
DependencyInfo
.DisablePrivateReflectionRequirement, emptyOrigin);
3433
protected internal void MarkProperty (PropertyDefinition prop, in
DependencyInfo
reason)
3445
protected internal virtual void MarkEvent (EventDefinition evt, in
DependencyInfo
reason, MessageOrigin origin)
3462
internal void MarkMethodIfNotNull (MethodReference method, in
DependencyInfo
reason, in MessageOrigin origin)
3641
var
reason = new DependencyInfo (DependencyKind.Ldtoken, method);
3690
void MarkInterfaceImplementationList (List<InterfaceImplementation> ifaces, MessageOrigin origin,
DependencyInfo
? reason = null)
3697
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);
169
var
di = new DependencyInfo (DependencyKind.RootAssembly, assembly);
Linker\Annotations.cs (3)
173
public void Mark (IMetadataTokenProvider provider, in
DependencyInfo
reason, in MessageOrigin origin)
187
public void Mark (CustomAttribute attribute, in
DependencyInfo
reason)
274
public bool MarkProcessed (IMetadataTokenProvider provider, in
DependencyInfo
reason)
Linker\DependencyInfo.cs (10)
150
public readonly struct DependencyInfo : IEquatable<
DependencyInfo
>
155
public static readonly
DependencyInfo
Unspecified = new DependencyInfo (DependencyKind.Unspecified, null);
156
public static readonly
DependencyInfo
AlreadyMarked = new DependencyInfo (DependencyKind.AlreadyMarked, null);
157
public static readonly
DependencyInfo
DisablePrivateReflectionRequirement = new DependencyInfo (DependencyKind.DisablePrivateReflectionRequirement, null);
158
public bool Equals (
DependencyInfo
other) => (Kind, Source) == (other.Kind, other.Source);
159
public override bool Equals (object? obj) => obj is
DependencyInfo
info && this.Equals (info);
161
public static bool operator == (
DependencyInfo
lhs,
DependencyInfo
rhs) => lhs.Equals (rhs);
162
public static bool operator != (
DependencyInfo
lhs,
DependencyInfo
rhs) => !lhs.Equals (rhs);
Linker\DgmlDependencyRecorder.cs (1)
109
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)
126
var
reason = new DependencyInfo (ToDependencyKind (serializerKind), provider);
169
void MarkRecursiveMembersInternal (TypeReference typeRef, in
DependencyInfo
reason)
174
DependencyInfo
typeReason = reason;
Linker\Tracer.cs (1)
75
public void AddDirectDependency (object target, in
DependencyInfo
reason, bool marked)
Linker\XmlDependencyRecorder.cs (1)
95
public void RecordDependency (object target, in
DependencyInfo
reason, bool marked)