Imported Upstream version 6.6.0.89

Former-commit-id: b39a328747c2f3414dc52e009fb6f0aa80ca2492
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-09-24 08:53:40 +00:00
parent cf815e07e0
commit 95fdb59ea6
2556 changed files with 138145 additions and 47453 deletions

View File

@@ -0,0 +1,50 @@
using Mono.Cecil;
using Mono.Collections.Generic;
namespace Mono.Documentation.Util
{
public class AttachedPropertyDefinition : AttachedPropertyReference, IMemberDefinition
{
private readonly FieldDefinition fieldDefinition;
public AttachedPropertyDefinition(FieldDefinition fieldDefinition, MetadataToken metadataToken) : base(fieldDefinition)
{
this.fieldDefinition = fieldDefinition;
MetadataToken = metadataToken;
}
public MemberReference GetMethod
{
get => this.DeclaringType.GetMember(
$"Get{AttachedEntitiesHelper.GetPropertyName(fieldDefinition.Name)}",
m => (m as MethodReference)?.Parameters.Count == 1);
}
public MemberReference SetMethod
{
get => this.DeclaringType.GetMember(
$"Set{AttachedEntitiesHelper.GetPropertyName(fieldDefinition.Name)}",
m => (m as MethodReference)?.Parameters.Count == 2);
}
public Collection<CustomAttribute> CustomAttributes => fieldDefinition.CustomAttributes;
public bool HasCustomAttributes => fieldDefinition.HasCustomAttributes;
public bool IsSpecialName
{
get { return fieldDefinition.IsSpecialName; }
set { fieldDefinition.IsSpecialName = value; }
}
public bool IsRuntimeSpecialName
{
get { return fieldDefinition.IsRuntimeSpecialName; }
set { fieldDefinition.IsRuntimeSpecialName = value; }
}
public new TypeDefinition DeclaringType
{
get { return fieldDefinition.DeclaringType; }
set { fieldDefinition.DeclaringType = value; }
}
}
}