Skip to content

Instantly share code, notes, and snippets.

@jaguart
Created December 27, 2022 04:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaguart/35ab71ade4de290ec9723a3f3a3a5554 to your computer and use it in GitHub Desktop.
Save jaguart/35ab71ade4de290ec9723a3f3a3a5554 to your computer and use it in GitHub Desktop.
Introspection of Routine::WrapHandle
-- Routine::WrapHandle --------------------------------------------------------------------------------
ident               :
name                : Routine::WrapHandle
raku                : Routine::WrapHandle.new
type                : Class
var                 : Routine::WrapHandle.new
why                 :
parent              : Any - Class
parent              : Mu - Class
attribute           : $!wrapper - Mu private read-only
attribute           : &!routine - Callable private read-only
method              : restore (Routine::WrapHandle: *%_ --> Bool) - Method in Routine::WrapHandle
method              : BUILDALL (Any:D: ;; @auto, %init, *%_) - Submethod in Rakudo::Internals::LoweredAwayLexical

-- parent of Routine::WrapHandle --------------------------------------------------------------------------------
ident               :
name                : Any
raku                : Any
type                : Any
var                 : (Any)
why                 :
parents             : Mu - Class
method              : ACCEPTS (Mu: |) - Method in Mu
method              : ASSIGN-KEY ($: |) - Method in Any
method              : ASSIGN-POS ($: |) - Method in Any
method              : AT-KEY ($: |) - Method in Any
method              : AT-POS ($: |) - Method in Any
method              : Array ($: |) - Method in Any
method              : BIND-KEY ($: |) - Method in Any
method              : BIND-POS ($: |) - Method in Any
method              : Bag ($: |) - Method in Any
method              : BagHash ($: |) - Method in Any
method              : DELETE-KEY ($: |) - Method in Any
method              : DELETE-POS ($: |) - Method in Any
method              : EXISTS-KEY ($: |) - Method in Any
method              : EXISTS-POS ($: |) - Method in Any
method              : FLATTENABLE_HASH ($: *%_) - Method in Any
method              : FLATTENABLE_LIST ($: *%_) - Method in Any
...
@jaguart
Copy link
Author

jaguart commented Dec 27, 2022

And this for a wrapped sub:

-- Sub+{Routine::Wrapped} --------------------------------------------------------------------------------
ident               :
name                : Sub+{Routine::Wrapped}
raku                : sub foo { #`(Sub+{Routine::Wrapped}|3671949722016) ... }
type                : Class
var                 : &foo
why                 :
parent              : Sub - Class
parent              : Routine - Class
parent              : Block - Class
parent              : Code - Class
parent              : Any - Class
parent              : Mu - Class
role                : Routine::Wrapped - Role
role                : Callable - Role
attribute           : $!dispatcher - Mu private read-only
attribute           : $!do - Code private read-only
attribute           : $!flags - int private read-only
attribute           : $!inline_info - Mu private read-only
attribute           : $!package - Mu private read-only
attribute           : $!phasers - Mu private read-only
attribute           : $!signature - Signature private read-only
attribute           : $!why - Mu private read-only
attribute           : $!wrapper-type - Routine private read-only
attribute           : $!wrappers - Mu private read-only
attribute           : @!compstuff - List private read-only
attribute           : @!dispatch_order - List private read-only
attribute           : @!dispatchees - List private read-only
method              : ADD-WRAPPER (Sub+{Routine::Wrapped}: &wrapper, *%_ --> Nil) - Method in Routine::Wrapped
method              : REMOVE-WRAPPER (Sub+{Routine::Wrapped}: &wrapper, *%_ --> Bool) - Method in Routine::Wrapped
method              : WRAPPER-TYPE (Sub+{Routine::Wrapped}: *%_) - Method in Routine::Wrapped
method              : WRAPPERS (Sub+{Routine::Wrapped}: *%_) - Method in Routine::Wrapped
method              : is-wrapped (Sub+{Routine::Wrapped}: *%_ --> Bool) - Method in Routine::Wrapped

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment