summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-08-01 11:39:18 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-08-01 15:37:21 +0900
commit9e10afe1d0ee1fb751182e42044e891b4b13f9a4 (patch)
tree880a62052f924ad037dedaca434e474f820a91ed /include
parent16aafdd8660dc301b49254e7ccaa887ab3a458de (diff)
downloadmruby-9e10afe1d0ee1fb751182e42044e891b4b13f9a4.tar.gz
mruby-9e10afe1d0ee1fb751182e42044e891b4b13f9a4.zip
Implements `Module::nesting' (15.2.2.3.2); ref #600, #3200
Diffstat (limited to 'include')
-rw-r--r--include/mruby/irep.h2
-rw-r--r--include/mruby/proc.h2
2 files changed, 4 insertions, 0 deletions
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)))