Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Work around a bug somewhere with attributes in subclasses of PMCs.

git-svn-id: https://svn.parrot.org/parrot/branches/exceptions_refactor@44577 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
  • Loading branch information...
commit db27b419fdf24dce8c7c1d24366e9b87bc31b4af 1 parent 2d65bd3
tene authored
Showing with 15 additions and 1 deletion.
  1. +1 −1  src/ops/core.ops
  2. +14 −0 src/pmc/exception.pmc
View
2  src/ops/core.ops
@@ -782,7 +782,7 @@ inline op throw(invar PMC) :flow {
EXCEPTION_UNIMPLEMENTED,
Parrot_str_new_constant(interp, "Not a throwable object"));
- VTABLE_set_attr_str(interp, except, Parrot_str_new_constant(interp, "resume"), resume);
+ VTABLE_set_pmc_keyed_str(interp, except, Parrot_str_new_constant(interp, "resume"), resume);
dest = Parrot_ex_throw_from_op(interp, except, ret);
goto ADDRESS(dest);
}
View
14 src/pmc/exception.pmc
@@ -463,6 +463,20 @@ Sets the PMC value for C<*key>.
/*
+=item C<void set_pmc_keyed_str(STRING *key, PMC *value)>
+
+Sets the PMC value for C<*key>.
+
+=cut
+
+*/
+
+ VTABLE void set_pmc_keyed_str(STRING *key, PMC *value) {
+ SELF.set_attr_str(key, value);
+ }
+
+/*
+
=item C<void set_pointer(void *context)>
Store a context for the handler iterator.
Please sign in to comment.
Something went wrong with that request. Please try again.