35 references to TypePreserveMembers
illink (35)
Linker.Steps\MarkExportedTypesTargetStep.cs (1)
25
if (!context.Annotations.TryGetPreservedMembers(exportedType, out
TypePreserveMembers
members))
Linker.Steps\MarkStep.cs (6)
3019
if (Annotations.TryGetPreservedMembers(type, out
TypePreserveMembers
members))
3027
if ((members &
TypePreserveMembers
.Visible) != 0 && IsMethodVisible(m))
3033
if ((members &
TypePreserveMembers
.Internal) != 0 && IsMethodInternal(m))
3039
if ((members &
TypePreserveMembers
.Library) != 0)
3054
if ((members &
TypePreserveMembers
.Visible) != 0 && IsFieldVisible(f))
3060
if ((members &
TypePreserveMembers
.Internal) != 0 && IsFieldInternal(f))
Linker.Steps\RootAssemblyInputStep.cs (17)
66
var
preserve_visible =
TypePreserveMembers
.Visible;
68
preserve_visible |=
TypePreserveMembers
.Internal;
74
var
preserve_library =
TypePreserveMembers
.Visible |
TypePreserveMembers
.Library;
76
preserve_library |=
TypePreserveMembers
.Internal;
116
void MarkAndPreserve(AssemblyDefinition assembly,
TypePreserveMembers
preserve)
127
void MarkAndPreserve(TypeDefinition type,
TypePreserveMembers
preserve)
129
TypePreserveMembers
preserve_anything = preserve;
130
if ((preserve &
TypePreserveMembers
.Visible) != 0 && !IsTypeVisible(type))
131
preserve_anything &= ~
TypePreserveMembers
.Visible;
133
if ((preserve &
TypePreserveMembers
.Internal) != 0 && IsTypePrivate(type))
134
preserve_anything &= ~
TypePreserveMembers
.Internal;
137
if ((preserve &
TypePreserveMembers
.Library) != 0 && type.IsInterface)
147
case
TypePreserveMembers
.Library:
168
void MarkAndPreserve(AssemblyDefinition assembly, ExportedType type,
TypePreserveMembers
preserve)
Linker\Annotations.cs (11)
59
protected readonly Dictionary<TypeDefinition,
TypePreserveMembers
> preserved_type_members = new();
60
protected readonly Dictionary<ExportedType,
TypePreserveMembers
> preserved_exportedtype_members = new();
396
public void SetMembersPreserve(TypeDefinition type,
TypePreserveMembers
preserve)
398
if (preserved_type_members.TryGetValue(type, out
TypePreserveMembers
existing))
404
static
TypePreserveMembers
CombineMembers(
TypePreserveMembers
left,
TypePreserveMembers
right)
409
public void SetMembersPreserve(ExportedType type,
TypePreserveMembers
preserve)
411
if (preserved_exportedtype_members.TryGetValue(type, out
TypePreserveMembers
existing))
417
public bool TryGetPreservedMembers(TypeDefinition type, out
TypePreserveMembers
preserve)
422
public bool TryGetPreservedMembers(ExportedType type, out
TypePreserveMembers
preserve)