From ff3e4b91f282ade0c205b72e18c08ca22acdcdf8 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 20 Aug 2016 00:03:30 +0900 Subject: Move Module#include and #prepend to class.c; ref #3197 To avoid VM nesting with mrb_funcall() --- mrblib/00class.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'mrblib/00class.rb') 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 -- cgit v1.2.3