Package org.jruby

Class RubyStruct.Accessor

Enclosing class:
RubyStruct

public static class RubyStruct.Accessor extends DynamicMethod
  • Constructor Details

    • Accessor

      public Accessor(RubyClass newStruct, String name, int index)
  • Method Details

    • call

      public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args, Block block)
      Description copied from class: DynamicMethod
      The minimum 'call' method required for a dynamic method handle. Subclasses must implement this method, but may implement the other signatures to provide faster, non-boxing call paths. Typically subclasses will implement this method to check variable arity calls, then performing a specific-arity invocation to the appropriate method or performing variable-arity logic in-line.
      Specified by:
      call in class DynamicMethod
      Parameters:
      context - The thread context for the currently executing thread
      self - The 'self' or 'receiver' object to use for this call
      clazz - The Ruby class against which this method is binding
      name - The incoming name used to invoke this method
      args - The argument list to this invocation
      block - The block passed to this invocation
      Returns:
      The result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name)
      Overrides:
      call in class DynamicMethod
    • dup

      public DynamicMethod dup()
      Description copied from class: DynamicMethod
      Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes. It is not required that this method produce a new object if the semantics of the DynamicMethod subtype do not require such.
      Specified by:
      dup in class DynamicMethod
      Returns:
      An identical DynamicMethod object to the target.
    • getIndex

      public int getIndex()