Welcome to mirror list, hosted at ThFree Co, Russian Federation.

KeptByAttribute.cs « Assertions « Mono.Linker.Tests.Cases.Expectations « test - github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: d7871d9ca378e0da901f3d27f100b53efd260b17 (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
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

using System;

namespace Mono.Linker.Tests.Cases.Expectations.Assertions
{
	[AttributeUsage (AttributeTargets.All, Inherited = false)]
	public class KeptByAttribute : KeptAttribute
	{
		private KeptByAttribute () { }

		/// <summary>
		/// Place on an type member to indicate that the linker should log that the member is kept as a depenendency of <paramref name="dependencyProvider"/> with reason <paramref name="reason"/>.
		/// </summary>
		/// <param name="dependencyProvider">Cecil's FullName property of the item that provides the dependency that keeps the item</param>
		/// <param name="reason">The string representation of the DependencyKind that is recorded as the reason for the dependency</param>
		public KeptByAttribute (string dependencyProvider, string reason) { }

		/// <summary>
		/// Place on an type member to indicate that the linker should log that the member is kept as a depenendency of <paramref name="dependencyProviderType"/> with reason <paramref name="reason"/>.
		/// </summary>
		/// <param name="dependencyProviderType">The type that is providing the dependency that keeps the item</param>
		/// <param name="reason">The string representation of the DependencyKind that is recorded as the reason for the dependency</param>
		public KeptByAttribute (Type dependencyProviderType, string reason) { }

		/// <summary>
		/// Place on an type member to indicate that the linker should log that the member is kept as a depenendency of <paramref name="dependencyProviderType"/>.<paramref name="memberName"/> with reason <paramref name="reason"/>.
		/// </summary>
		/// <param name="dependencyProviderType">The declaring type of the member that is providing the dependency that keeps the item</param>
		/// <param name="memberName">Cecil's 'Name' property of the member that provides the dependency that keeps the item</param>
		/// <param name="reason">The string representation of the DependencyKind that is recorded as the reason for the dependency</param>
		public KeptByAttribute (Type dependencyProviderType, string memberName, string reason) { }
	}
}