summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Valentine-House <matt@eightbitraptor.com>2024-01-22 11:26:04 +0000
committerKevin Newton <kddnewton@gmail.com>2024-01-22 09:40:52 -0500
commit2abf153016088605ea6dc77d9f6ba61f619cc273 (patch)
tree0e18611217e3bfc2bac7ca441ea30da2c936d49b
parentee8f92673b52761ce133bd0f4c42d6784ece7ba6 (diff)
[PRISM] Add TP call/return events to method ISEQs
-rw-r--r--prism_compile.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/prism_compile.c b/prism_compile.c
index ddb1a0c54c..3945c50ca9 100644
--- a/prism_compile.c
+++ b/prism_compile.c
@@ -6867,6 +6867,17 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
ADD_INSN1(ret, &dummy_line_node, throw, INT2FIX(0));
return;
}
+ case ISEQ_TYPE_METHOD: {
+ ADD_TRACE(ret, RUBY_EVENT_CALL);
+ if (scope_node->body) {
+ PM_COMPILE((pm_node_t *)scope_node->body);
+ } else {
+ PM_PUTNIL;
+ }
+ ADD_TRACE(ret, RUBY_EVENT_RETURN);
+
+ break;
+ }
case ISEQ_TYPE_RESCUE: {
iseq_set_exception_local_table(iseq);
if (PM_NODE_TYPE_P(scope_node->ast_node, PM_RESCUE_MODIFIER_NODE)) {