blob: 7d6cea3a1604706c9a3040e90cd659f7e761ef28 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using System;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using Mono.Linker.Tests.Cases.Expectations.Assertions;
using Mono.Linker.Tests.Cases.Expectations.Metadata;
namespace Mono.Linker.Tests.Cases.LinkAttributes
{
[SetupLinkAttributesFile ("LinkerAttributeRemovalWithOverride.xml")]
[SetupLinkerDescriptorFile ("OverrideAttributeRemoval.xml")]
[IgnoreLinkAttributes (false)]
[KeptMember (".ctor()")]
class OverrideAttributeRemoval
{
public static void Main ()
{
var instance = new OverrideAttributeRemoval ();
instance._fieldWithCustomAttribute = null;
string value = instance.methodWithCustomAttribute ("parameter");
}
[Kept]
[KeptAttributeAttribute (typeof (DynamicallyAccessedMembersAttribute))]
[DynamicallyAccessedMembers (DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
Type _fieldWithCustomAttribute;
[Kept]
[return: KeptAttributeAttribute (typeof (DynamicallyAccessedMembersAttribute))]
[return: DynamicallyAccessedMembers (DynamicallyAccessedMemberTypes.PublicConstructors)]
private string methodWithCustomAttribute (
[KeptAttributeAttribute (typeof (DynamicallyAccessedMembersAttribute))]
[DynamicallyAccessedMembers (DynamicallyAccessedMemberTypes.PublicConstructors)]
string parameterWithCustomAttribute)
{
return "this is a return value";
}
}
}
|