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...
1 parent dd01b18 commit 69ff5077e5f48804f7e6900d5fa09c9a147e8e04 @tene tene committed Mar 2, 2010
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.

0 comments on commit 69ff507

Please sign in to comment.