#1165: need ability to dispatch to parent's method or vtable from PIR
--------------------+-------------------------------------------------------
Reporter: coke | Owner: allison
Type: RFC | Status: new
Priority: normal | Milestone:
Component: none | Version:
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
--------------------+-------------------------------------------------------
If you write a class in PIR, you can access certain ancestral
methods/vtables by getting the 'proxy' attribute for that ancestor, with
two big limitations.
you need to know the name of the ancestor that implements the vtable (this
isn't always your direct parent.)
that ancestor MUST be a PMC (not another class.)
Since there is no generic mechanism to invoke a vtable by name, we should
probably continue to use a proxy object to access this functionality.
perhaps:
{{{
# INT values only!
.sub set_pmc_keyed :vtable
.param pmc key
.param pmc value
$I0 = value
.local pmc proxy
proxy = get_proxy self
proxy[key] = $I0
.end
}}}
Bikeshed away. Tcl needs this or something like it to fully implement the
trace builtin. (which basically lets us run code before and after each
vtable access.)
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1165>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets