using System; using Jint.Native; namespace Jint.Runtime.Descriptors { public class AccessorDescriptor : PropertyDescriptor { public AccessorDescriptor(object getter) : this(getter, Native.Undefined.Instance) { } public AccessorDescriptor(object getter, object setter) { if (getter == null) { throw new ArgumentNullException("getter", "get can only be undefined"); } if (setter == null) { throw new ArgumentNullException("setter", "set can only be undefined"); } Get = getter; Set = setter; } public AccessorDescriptor(AccessorDescriptor a) { Get = a.Get; Set = a.Set; Configurable = a.Configurable; Enumerable = a.Enumerable; } /// /// The getter function /// /// public virtual object Get { get; set; } /// /// The setter function /// /// public virtual object Set { get; set; } public override bool IsAccessorDescriptor() { return true; } public override bool IsDataDescriptor() { return false; } } }