278 references to DependencyKind
illink (278)
Linker.Dataflow\DynamicallyAccessedMembersTypeHierarchy.cs (3)
237
_reflectionMarker.MarkTypeForDynamicallyAccessedMembers(origin, baseType, annotationToApplyToBase,
DependencyKind
.DynamicallyAccessedMemberOnType, declaredOnly: false);
261
_reflectionMarker.MarkTypeForDynamicallyAccessedMembers(origin, interfaceType, annotationToApplyToInterfaces,
DependencyKind
.DynamicallyAccessedMemberOnType, declaredOnly: false);
269
_reflectionMarker.MarkTypeForDynamicallyAccessedMembers(origin, type, annotation,
DependencyKind
.DynamicallyAccessedMemberOnType, declaredOnly: true);
Linker.Dataflow\GenericArgumentDataFlow.cs (1)
60
reflectionMarker.MarkTypeForDynamicallyAccessedMembers(diagnosticContext.Origin, genericArgument, DynamicallyAccessedMemberTypes.PublicParameterlessConstructor,
DependencyKind
.DefaultCtorForNewConstrainedGenericArgument);
Linker.Dataflow\ReflectionMarker.cs (16)
29
internal void MarkTypeForDynamicallyAccessedMembers(in MessageOrigin origin, TypeReference type, DynamicallyAccessedMemberTypes requiredMemberTypes,
DependencyKind
dependencyKind, bool declaredOnly = false)
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);
111
internal void MarkType(in MessageOrigin origin, TypeReference typeRef,
DependencyKind
dependencyKind =
DependencyKind
.AccessedViaReflection)
122
internal void MarkMethod(in MessageOrigin origin, MethodReference methodRef,
DependencyKind
dependencyKind =
DependencyKind
.AccessedViaReflection)
133
void MarkField(in MessageOrigin origin, FieldDefinition field,
DependencyKind
dependencyKind =
DependencyKind
.AccessedViaReflection)
141
internal void MarkProperty(in MessageOrigin origin, PropertyDefinition property,
DependencyKind
dependencyKind =
DependencyKind
.AccessedViaReflection)
149
void MarkEvent(in MessageOrigin origin, EventDefinition @event,
DependencyKind
dependencyKind =
DependencyKind
.AccessedViaReflection)
157
void MarkInterfaceImplementation(in MessageOrigin origin, InterfaceImplementation interfaceImplementation,
DependencyKind
dependencyKind =
DependencyKind
.AccessedViaReflection)
221
_markStep.MarkStaticConstructorVisibleToReflection(type, new DependencyInfo(
DependencyKind
.AccessedViaReflection, origin.Provider), origin, suppressTrimAnalysisWarnings: _suppressTrimAnalysisWarnings);
Linker.Dataflow\RequireDynamicallyAccessedMembersAction.cs (1)
47
_reflectionMarker.MarkTypeForDynamicallyAccessedMembers(_diagnosticContext.Origin, type.Type, dynamicallyAccessedMemberTypes,
DependencyKind
.DynamicallyAccessedMember);
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 (205)
353
MarkEntireType(nested, new DependencyInfo(
DependencyKind
.NestedType, type), origin);
366
MarkFieldsVisibleToReflection(type, new DependencyInfo(
DependencyKind
.MemberOfType, type), origin);
367
MarkMethodsVisibleToReflection(type, new DependencyInfo(
DependencyKind
.MemberOfType, type), origin);
373
MarkPropertyVisibleToReflection(property, new DependencyInfo(
DependencyKind
.MemberOfType, type), origin);
381
MarkEventVisibleToReflection(ev, new DependencyInfo(
DependencyKind
.MemberOfType, type), origin);
443
MarkAssembly(assembly, new DependencyInfo(
DependencyKind
.AssemblyAction, null), emptyOrigin);
675
MarkType(type, new DependencyInfo(
DependencyKind
.DynamicInterfaceCastableImplementation, iface.InterfaceType), new MessageOrigin(Context.TryResolve(iface.InterfaceType)));
718
MarkMethod(dimInfo.Override, new DependencyInfo(
DependencyKind
.Override, dimInfo.Base), origin);
728
MarkMethod(ov.Override, new DependencyInfo(
DependencyKind
.Override, ov.Base), origin);
773
MarkMethod(overrideInformation.Override, new DependencyInfo(
DependencyKind
.OverrideOnInstantiatedType, overrideInformation.Override.DeclaringType), origin);
779
MarkMethod(overrideInformation.Override, new DependencyInfo(
DependencyKind
.Override, overrideInformation.Base), origin);
980
MarkingHelpers.MarkMatchingExportedType(type, assembly, new DependencyInfo(
DependencyKind
.DynamicDependency, type), origin);
1022
MarkMembersVisibleToReflection(members, new DependencyInfo(
DependencyKind
.DynamicDependency, context), origin);
1093
MarkingHelpers.MarkMatchingExportedType(td, assemblyDef, new DependencyInfo(
DependencyKind
.PreservedDependency, ca), origin);
1121
MarkEntireType(td, new DependencyInfo(
DependencyKind
.PreservedDependency, ca), origin);
1127
if (MarkDependencyMethod(td, member, signature, new DependencyInfo(
DependencyKind
.PreservedDependency, ca), origin))
1130
if (MarkNamedField(td, member, new DependencyInfo(
DependencyKind
.PreservedDependency, ca), origin))
1204
MarkMethod(ca.Constructor, new DependencyInfo(
DependencyKind
.AttributeConstructor, ca), origin);
1331
MarkType(security_type, new DependencyInfo(
DependencyKind
.AttributeType, sa), origin);
1342
MarkCustomAttributeProperty(named_argument, attribute, ca, new DependencyInfo(
DependencyKind
.AttributeProperty, ca), origin);
1388
MarkField(field, new DependencyInfo(
DependencyKind
.CustomAttributeField, ca), origin);
1453
MarkType(et, new DependencyInfo(
DependencyKind
.CustomAttributeArgumentType, ca), origin);
1470
MarkType(argument.Type, new DependencyInfo(
DependencyKind
.CustomAttributeArgumentType, ca), origin);
1471
MarkType((TypeReference)argument.Value, new DependencyInfo(
DependencyKind
.CustomAttributeArgumentValue, ca), origin);
1476
MarkType(boxed_value.Type, new DependencyInfo(
DependencyKind
.CustomAttributeArgumentType, ca), origin);
1532
MarkSecurityDeclarations(assembly, new DependencyInfo(
DependencyKind
.AssemblyOrModuleAttribute, assembly), assemblyOrigin);
1544
MarkCustomAttributes(assembly, new DependencyInfo(
DependencyKind
.AssemblyOrModuleAttribute, assembly), origin);
1545
MarkCustomAttributes(module, new DependencyInfo(
DependencyKind
.AssemblyOrModuleAttribute, module), origin);
1548
MarkEntireType(type, new DependencyInfo(
DependencyKind
.TypeInAssembly, assembly), origin);
1557
MarkingHelpers.MarkExportedType(exportedType, module, new DependencyInfo(
DependencyKind
.ExportedType, assembly), origin);
1618
MarkType(moduleType, new DependencyInfo(
DependencyKind
.TypeInAssembly, assembly), origin);
1660
MarkCustomAttribute(customAttribute, new DependencyInfo(
DependencyKind
.AssemblyOrModuleAttribute, assemblyLevelAttribute.Provider), assemblyOrigin);
1731
Debug.Assert(reason.Kind ==
DependencyKind
.FieldAccess || reason.Kind ==
DependencyKind
.Ldtoken);
1734
MarkType(reference.DeclaringType, new DependencyInfo(
DependencyKind
.DeclaringType, reference), origin);
1737
reason = new DependencyInfo(
DependencyKind
.FieldOnGenericInstance, reference);
1750
void ReportWarningsForReflectionAccess(in MessageOrigin origin, MethodDefinition method,
DependencyKind
dependencyKind, bool suppressTrimAnalysisWarnings)
1764
case
DependencyKind
.AttributeProperty:
1771
case
DependencyKind
.Ldftn:
1772
case
DependencyKind
.Ldvirtftn:
1773
case
DependencyKind
.Ldtoken:
1781
case
DependencyKind
.AttributeConstructor:
1812
case
DependencyKind
.AttributeConstructor:
1813
case
DependencyKind
.AttributeProperty:
1874
if (reason.Kind ==
DependencyKind
.AlreadyMarked)
1889
MarkType(field.DeclaringType, new DependencyInfo(
DependencyKind
.DeclaringType, field), origin);
1892
MarkType(field.FieldType, new DependencyInfo(
DependencyKind
.FieldType, field), fieldOrigin);
1893
MarkCustomAttributes(field, new DependencyInfo(
DependencyKind
.CustomAttribute, field), fieldOrigin);
1894
MarkMarshalSpec(field, new DependencyInfo(
DependencyKind
.FieldMarshalSpec, field), fieldOrigin);
1923
DependencyKind
.FieldAccess => new DependencyInfo(
DependencyKind
.TriggersCctorThroughFieldAccess, reason.Source),
1924
_ => new DependencyInfo(
DependencyKind
.CctorForField, field)
1930
void ProcessAnalysisAnnotationsForField(FieldDefinition field,
DependencyKind
dependencyKind, in MessageOrigin origin, bool suppressTrimAnalysisWarnings)
1935
case
DependencyKind
.AlreadyMarked:
1936
case
DependencyKind
.TypePreserve:
1937
case
DependencyKind
.PreservedMethod:
1938
case
DependencyKind
.MemberOfType:
1941
case
DependencyKind
.DynamicallyAccessedMemberOnType:
1960
case
DependencyKind
.AccessedViaReflection:
1961
case
DependencyKind
.DynamicDependency:
1962
case
DependencyKind
.DynamicallyAccessedMember:
1963
case
DependencyKind
.InteropMethodDependency:
1964
case
DependencyKind
.Ldtoken:
1965
case
DependencyKind
.UnsafeAccessorTarget:
1984
if (reason.Kind ==
DependencyKind
.AlreadyMarked)
1994
MarkAssembly(module.Assembly, new DependencyInfo(
DependencyKind
.AssemblyOfModule, module), origin);
2007
MarkDefaultConstructor(type, new DependencyInfo(
DependencyKind
.SerializationMethodForType, type), origin);
2008
MarkMethodsIf(type.Methods, IsSpecialSerializationConstructor, new DependencyInfo(
DependencyKind
.SerializationMethodForType, type), origin);
2011
MarkMethodsIf(type.Methods, HasOnSerializeOrDeserializeAttribute, new DependencyInfo(
DependencyKind
.SerializationMethodForType, type), origin);
2045
MarkTypeVisibleToReflection(methodDefinition.DeclaringType, new DependencyInfo(
DependencyKind
.DeclaringType, methodDefinition), origin);
2083
MarkTypeVisibleToReflection(fieldDefinition.DeclaringType, new DependencyInfo(
DependencyKind
.DeclaringType, fieldDefinition), origin);
2176
case
DependencyKind
.AlreadyMarked:
2185
if (type.HasMethods && ShouldMarkTypeStaticConstructor(type) && reason.Kind ==
DependencyKind
.DeclaringTypeOfCalledMethod)
2186
MarkStaticConstructor(type, new DependencyInfo(
DependencyKind
.TriggersCctorForCalledMethod, reason.Source), origin);
2196
reason.Kind is not
DependencyKind
.TypeInAssembly)
2208
MarkModule(module, new DependencyInfo(
DependencyKind
.ScopeOfType, type), origin);
2215
MarkType(type.BaseType, new DependencyInfo(
DependencyKind
.BaseType, type), typeOrigin);
2223
MarkType(type.DeclaringType, new DependencyInfo(
DependencyKind
.DeclaringType, type), typeOrigin);
2224
MarkCustomAttributes(type, new DependencyInfo(
DependencyKind
.CustomAttribute, type), typeOrigin);
2225
MarkSecurityDeclarations(type, new DependencyInfo(
DependencyKind
.CustomAttribute, type), typeOrigin);
2233
MarkMethodIf(type.Methods, static m => m.Name == "Finalize", new DependencyInfo(
DependencyKind
.MethodForSpecialType, type), typeOrigin);
2294
MarkMethod(method, new DependencyInfo(
DependencyKind
.VirtualNeededDueToPreservedScope, type), typeOrigin);
2297
if (ShouldMarkTypeStaticConstructor(type) && reason.Kind !=
DependencyKind
.TriggersCctorForCalledMethod)
2299
MarkStaticConstructor(type, new DependencyInfo(
DependencyKind
.CctorForType, type), typeOrigin);
2393
if (MarkMethodsIf(type.Methods, MethodDefinitionExtensions.IsPublicInstancePropertyMethod, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, type), origin))
2394
Tracer.AddDirectDependency(attribute, new DependencyInfo(
DependencyKind
.CustomAttribute, type), marked: false);
2420
Tracer.AddDirectDependency(attribute, new DependencyInfo(
DependencyKind
.CustomAttribute, type), marked: false);
2421
MarkNamedMethod(type, name, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2437
Tracer.AddDirectDependency(attribute, new DependencyInfo(
DependencyKind
.CustomAttribute, type), marked: false);
2484
MarkMethodVisibleToReflection(method, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2493
MarkFieldVisibleToReflection(field, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2500
MarkPropertyVisibleToReflection(property, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2509
MarkMethodsVisibleToReflection(type, new DependencyInfo(
DependencyKind
.KeptForSpecialAttribute, attribute), origin);
2510
MarkFieldsVisibleToReflection(type, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2538
Tracer.AddDirectDependency(attribute, new DependencyInfo(
DependencyKind
.CustomAttribute, type), marked: false);
2539
MarkType(proxyTypeReference, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2543
MarkMethodsVisibleToReflection(proxyType, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2544
MarkFieldsVisibleToReflection(proxyType, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2584
MarkNamedField(method.DeclaringType, member_name, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2585
MarkNamedProperty(method.DeclaringType, member_name, new DependencyInfo(
DependencyKind
.ReferencedBySpecialAttribute, attribute), origin);
2669
MarkCustomAttributes(parameter, new DependencyInfo(
DependencyKind
.GenericParameterCustomAttribute, parameter.Owner), origin);
2675
MarkCustomAttributes(constraint, new DependencyInfo(
DependencyKind
.GenericParameterConstraintCustomAttribute, parameter.Owner), origin);
2676
MarkType(constraint.ConstraintType, new DependencyInfo(
DependencyKind
.GenericParameterConstraintType, parameter.Owner), origin);
2921
MarkStaticFields(nestedType, new DependencyInfo(
DependencyKind
.EventSourceProviderField, td), origin);
2927
MarkMethodsIf(type.Methods, m => m.Name == ".ctor" || m.Name == "Invoke", new DependencyInfo(
DependencyKind
.MethodForSpecialType, type), origin);
2946
MarkType(fnptr.ReturnType, new DependencyInfo(
DependencyKind
.ReturnType, fnptr), origin);
2953
(type, reason) = (specification.ElementType, new DependencyInfo(
DependencyKind
.ElementType, specification));
2966
MarkType(fnptr.Parameters[i].ParameterType, new DependencyInfo(
DependencyKind
.ParameterType, fnptr), origin);
2972
MarkType(mod.ModifierType, new DependencyInfo(
DependencyKind
.ModifierType, mod), origin);
2983
var argumentTypeDef = MarkType(argument, new DependencyInfo(
DependencyKind
.GenericArgumentType, instance), origin);
3011
var di = new DependencyInfo(
DependencyKind
.TypePreserve, type);
3033
var di = new DependencyInfo(
DependencyKind
.TypePreserve, type);
3109
MarkMethodCollection(list, new DependencyInfo(
DependencyKind
.PreservedMethod, type), origin);
3119
MarkMethodCollection(list, new DependencyInfo(
DependencyKind
.PreservedMethod, method), origin);
3189
MarkType(reference.DeclaringType, new DependencyInfo(
DependencyKind
.DeclaringType, reference), origin);
3202
MarkType(reference.DeclaringType, new DependencyInfo(
DependencyKind
.DeclaringType, reference), origin);
3204
reason = new DependencyInfo(
DependencyKind
.MethodOnGenericInstance, reference);
3221
case
DependencyKind
.AlreadyMarked:
3230
reason.Kind ==
DependencyKind
.DirectCall ||
3231
reason.Kind ==
DependencyKind
.VirtualCall ||
3232
reason.Kind ==
DependencyKind
.Newobj;
3240
MarkType(method.DeclaringType, new DependencyInfo(
DependencyKind
.DeclaringTypeOfCalledMethod, method), new MessageOrigin(reason.Source as IMemberDefinition ?? method));
3244
&& reason.Kind !=
DependencyKind
.EventMethod)
3246
var
kind = PropagateDependencyKindToAccessors(reason.Kind,
DependencyKind
.EventOfEventMethod);
3273
void ProcessAnalysisAnnotationsForMethod(MethodDefinition method,
DependencyKind
dependencyKind, in MessageOrigin origin, bool suppressTrimAnalysisWarnings)
3282
case
DependencyKind
.DirectCall:
3283
case
DependencyKind
.VirtualCall:
3284
case
DependencyKind
.Newobj:
3287
case
DependencyKind
.MethodForSpecialType:
3290
case
DependencyKind
.AlreadyMarked:
3291
case
DependencyKind
.TypePreserve:
3292
case
DependencyKind
.PreservedMethod:
3299
case
DependencyKind
.BaseMethod:
3300
case
DependencyKind
.MethodImplOverride:
3301
case
DependencyKind
.Override:
3302
case
DependencyKind
.OverrideOnInstantiatedType:
3308
case
DependencyKind
.MethodForInstantiatedType:
3309
case
DependencyKind
.VirtualNeededDueToPreservedScope:
3317
case
DependencyKind
.MemberOfType:
3318
case
DependencyKind
.EventMethod:
3322
case
DependencyKind
.CctorForType:
3323
case
DependencyKind
.CctorForField:
3324
case
DependencyKind
.TriggersCctorThroughFieldAccess:
3325
case
DependencyKind
.TriggersCctorForCalledMethod:
3328
case
DependencyKind
.UnreachableBodyRequirement:
3330
case
DependencyKind
.Custom:
3331
case
DependencyKind
.Unspecified:
3335
case
DependencyKind
.KeptForSpecialAttribute:
3338
case
DependencyKind
.DynamicallyAccessedMemberOnType:
3370
(method, reason) = (specification.ElementMethod, new DependencyInfo(
DependencyKind
.ElementMethod, specification));
3386
reason.Kind ==
DependencyKind
.DirectCall ||
3387
reason.Kind ==
DependencyKind
.VirtualCall ||
3388
reason.Kind ==
DependencyKind
.Newobj;
3394
MarkType(method.DeclaringType, new DependencyInfo(
DependencyKind
.DeclaringType, method), methodOrigin);
3395
MarkCustomAttributes(method, new DependencyInfo(
DependencyKind
.CustomAttribute, method), methodOrigin);
3396
MarkSecurityDeclarations(method, new DependencyInfo(
DependencyKind
.CustomAttribute, method), methodOrigin);
3403
Tracer.AddDirectDependency(method.DeclaringType, new DependencyInfo(
DependencyKind
.InstantiatedByCtor, method), marked: false);
3416
MarkProperty(property, new DependencyInfo(PropagateDependencyKindToAccessors(reason.Kind,
DependencyKind
.PropertyOfPropertyMethod), method));
3423
MarkType(pd.ParameterType, new DependencyInfo(
DependencyKind
.ParameterType, method), methodOrigin);
3424
MarkCustomAttributes(pd, new DependencyInfo(
DependencyKind
.ParameterAttribute, method), methodOrigin);
3425
MarkMarshalSpec(pd, new DependencyInfo(
DependencyKind
.ParameterMarshalSpec, method), methodOrigin);
3448
MarkMethod(@base, new DependencyInfo(
DependencyKind
.MethodImplOverride, method), methodOrigin);
3471
MarkType(method.ReturnType, new DependencyInfo(
DependencyKind
.ReturnType, method), methodOrigin);
3472
MarkCustomAttributes(method.MethodReturnType, new DependencyInfo(
DependencyKind
.ReturnTypeAttribute, method), methodOrigin);
3473
MarkMarshalSpec(method.MethodReturnType, new DependencyInfo(
DependencyKind
.ReturnTypeMarshalSpec, method), methodOrigin);
3499
MarkMethodIf(declaringType.Methods, m => m.Name == methodPair, new DependencyInfo(
DependencyKind
.MethodForSpecialType, declaringType), methodOrigin);
3513
static
DependencyKind
PropagateDependencyKindToAccessors(
DependencyKind
parentDependencyKind,
DependencyKind
kind)
3518
case
DependencyKind
.AlreadyMarked:
3519
case
DependencyKind
.TypePreserve:
3520
case
DependencyKind
.PreservedMethod:
3521
case
DependencyKind
.DynamicallyAccessedMemberOnType:
3536
MarkFields(type, includeStatic: type.IsEnum, reason: new DependencyInfo(
DependencyKind
.MemberOfType, type), origin);
3609
if (!MarkDefaultConstructor(baseType, new DependencyInfo(
DependencyKind
.BaseDefaultCtorForStubbedMethod, method), origin))
3615
MarkAndCacheConvertToThrowExceptionCtor(new DependencyInfo(
DependencyKind
.UnreachableBodyRequirement, method), origin);
3658
var ctor = MarkMethodIf(disablePrivateReflection.Methods, MethodDefinitionExtensions.IsDefaultConstructor, new DependencyInfo(
DependencyKind
.DisablePrivateReflectionRequirement, disablePrivateReflection), emptyOrigin);
3683
MarkMethod(ov.Base, new DependencyInfo(
DependencyKind
.BaseMethod, method), origin);
3693
Annotations.MarkProcessed(pii.Module, new DependencyInfo(
DependencyKind
.InteropMethodDependency, method));
3713
MarkDefaultConstructor(returnTypeDefinition, new DependencyInfo(
DependencyKind
.InteropMethodDependency, method), origin);
3714
MarkFields(returnTypeDefinition, includeStaticFields, new DependencyInfo(
DependencyKind
.InteropMethodDependency, method), origin);
3721
MarkFields(method.DeclaringType, includeStaticFields, new DependencyInfo(
DependencyKind
.InteropMethodDependency, method), origin);
3738
MarkFields(paramTypeDefinition, includeStaticFields, new DependencyInfo(
DependencyKind
.InteropMethodDependency, method), origin);
3741
MarkDefaultConstructor(paramTypeDefinition, new DependencyInfo(
DependencyKind
.InteropMethodDependency, method), origin);
3791
MarkCustomAttributes(prop, new DependencyInfo(
DependencyKind
.CustomAttribute, prop), propertyOrigin);
3798
DependencyKind
dependencyKind =
DependencyKind
.EventMethod;
3808
MarkCustomAttributes(evt, new DependencyInfo(
DependencyKind
.CustomAttribute, evt), eventOrigin);
3826
MarkAndCacheConvertToThrowExceptionCtor(new DependencyInfo(
DependencyKind
.UnreachableBodyRequirement, body.Method), origin);
3918
MarkType(var.VariableType, new DependencyInfo(
DependencyKind
.VariableType, methodIL.Method), origin);
3922
MarkType(eh.CatchType, new DependencyInfo(
DependencyKind
.CatchType, methodIL.Method), origin);
4002
MarkField((FieldReference)instruction.Operand, new DependencyInfo(
DependencyKind
.FieldAccess, method), origin);
4007
(
DependencyKind
dependencyKind, bool markForReflectionAccess) = instruction.OpCode.Code switch
4009
Code.Jmp => (
DependencyKind
.DirectCall, false),
4010
Code.Call => (
DependencyKind
.DirectCall, false),
4011
Code.Callvirt => (
DependencyKind
.VirtualCall, false),
4012
Code.Newobj => (
DependencyKind
.Newobj, false),
4013
Code.Ldvirtftn => (
DependencyKind
.Ldvirtftn, true),
4014
Code.Ldftn => (
DependencyKind
.Ldftn, true),
4039
var reason = new DependencyInfo(
DependencyKind
.Ldtoken, method);
4099
MarkType(operand, new DependencyInfo(
DependencyKind
.InstructionTypeRef, method), origin);
4116
Annotations.MarkProcessed(iface, reason ?? new DependencyInfo(
DependencyKind
.InterfaceImplementationOnType, origin.Provider));
4126
MarkCustomAttributes(iface, new DependencyInfo(
DependencyKind
.CustomAttribute, iface), origin);
4128
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 (3)
166
Debug.Assert(!(reason.Kind ==
DependencyKind
.AlreadyMarked));
180
Debug.Assert(!(reason.Kind ==
DependencyKind
.AlreadyMarked));
548
Mark(method, new DependencyInfo(
DependencyKind
.PreservedMethod, definition), new MessageOrigin(definition));
Linker\DependencyInfo.cs (5)
155
public
DependencyKind
Kind { get; }
157
public DependencyInfo(
DependencyKind
kind, object? source) => (Kind, Source) = (kind, source);
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\DgmlDependencyRecorder.cs (1)
118
if (reason.Kind ==
DependencyKind
.Unspecified)
Linker\MarkingHelpers.cs (1)
45
MarkExportedType(exportedType, assembly.MainModule, new DependencyInfo(
DependencyKind
.ExportedType, typeReference), origin);
Linker\SerializationMarker.cs (12)
87
static
DependencyKind
ToDependencyKind(SerializerKind serializerKind) => serializerKind switch
89
SerializerKind.DataContractSerializer =>
DependencyKind
.DataContractSerialized,
90
SerializerKind.XmlSerializer =>
DependencyKind
.XmlSerialized,
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));
Linker\XmlDependencyRecorder.cs (1)
102
if (reason.Kind ==
DependencyKind
.Unspecified)