MethodAccessor.cs 805 B

123456789101112131415161718192021222324252627282930
  1. using Jint.Runtime.Descriptors;
  2. namespace Jint.Runtime.Interop.Reflection
  3. {
  4. internal sealed class MethodAccessor : ReflectionAccessor
  5. {
  6. private readonly MethodDescriptor[] _methods;
  7. public MethodAccessor(MethodDescriptor[] methods) : base(null, null)
  8. {
  9. _methods = methods;
  10. }
  11. public override bool Writable => false;
  12. protected override object DoGetValue(object target)
  13. {
  14. return null;
  15. }
  16. protected override void DoSetValue(object target, object value)
  17. {
  18. }
  19. public override PropertyDescriptor CreatePropertyDescriptor(Engine engine, object target)
  20. {
  21. return new(new MethodInfoFunctionInstance(engine, _methods), PropertyFlag.AllForbidden);
  22. }
  23. }
  24. }