diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-08-20 00:03:30 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-08-20 00:03:30 +0900 |
| commit | ff3e4b91f282ade0c205b72e18c08ca22acdcdf8 (patch) | |
| tree | b314d821bbb0c9449863619352e19ddce761a471 /mrblib | |
| parent | b2fceae461c8c266136cd881ce7969a05061cada (diff) | |
| download | mruby-ff3e4b91f282ade0c205b72e18c08ca22acdcdf8.tar.gz mruby-ff3e4b91f282ade0c205b72e18c08ca22acdcdf8.zip | |
Move Module#include and #prepend to class.c; ref #3197
To avoid VM nesting with mrb_funcall()
Diffstat (limited to 'mrblib')
| -rw-r--r-- | mrblib/00class.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mrblib/00class.rb b/mrblib/00class.rb index 39e0d5091..f3762e8d0 100644 --- a/mrblib/00class.rb +++ b/mrblib/00class.rb @@ -8,4 +8,19 @@ class Module def attr(name) attr_reader(name) end + + # 15.2.2.4.27 + def include(*args) + args.reverse.each do |m| + m.append_features(self) + m.included(self) + end + end + + def prepend(*args) + args.reverse.each do |m| + m.prepend_features(self) + m.prepended(self) + end + end end |
