From 9e10afe1d0ee1fb751182e42044e891b4b13f9a4 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 1 Aug 2017 11:39:18 +0900 Subject: Implements `Module::nesting' (15.2.2.3.2); ref #600, #3200 --- include/mruby/irep.h | 2 ++ include/mruby/proc.h | 2 ++ 2 files changed, 4 insertions(+) (limited to 'include') diff --git a/include/mruby/irep.h b/include/mruby/irep.h index 35ae2bbaa..1e9f49fff 100644 --- a/include/mruby/irep.h +++ b/include/mruby/irep.h @@ -45,6 +45,8 @@ typedef struct mrb_irep { struct mrb_irep_debug_info* debug_info; size_t ilen, plen, slen, rlen, refcnt; + + struct RProc *outer; /* Refers outer scope */ } mrb_irep; #define MRB_ISEQ_NO_FREE 1 diff --git a/include/mruby/proc.h b/include/mruby/proc.h index 9c2666289..244b2c361 100644 --- a/include/mruby/proc.h +++ b/include/mruby/proc.h @@ -57,6 +57,8 @@ struct RProc { #define MRB_PROC_STRICT_P(p) (((p)->flags & MRB_PROC_STRICT) != 0) #define MRB_PROC_ORPHAN 512 #define MRB_PROC_ORPHAN_P(p) (((p)->flags & MRB_PROC_ORPHAN) != 0) +#define MRB_PROC_CLASS 1024 +#define MRB_PROC_CLASS_P(p) (((p)->flags & MRB_PROC_CLASS) != 0) #define mrb_proc_ptr(v) ((struct RProc*)(mrb_ptr(v))) -- cgit v1.2.3