diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-08-30 16:07:59 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-08-30 22:30:36 +0900 |
| commit | e471d37ca5f1422860a1eaa81d4c9f1b3c8b6aed (patch) | |
| tree | 9f474e50d1dd921abe1e2611fd33e9e03825d191 /mrbgems/mruby-eval/test | |
| parent | 75a01af710309e4fc53db285c9018e233c61cb56 (diff) | |
| download | mruby-e471d37ca5f1422860a1eaa81d4c9f1b3c8b6aed.tar.gz mruby-e471d37ca5f1422860a1eaa81d4c9f1b3c8b6aed.zip | |
Separate meta-programming features to `mruby-metaprog` gem.
We assume meta-programming is less used in embedded environments.
We have moved following methods:
* Kernel module
global_variables, local_variables, singleton_class,
instance_variables, instance_variables_defined?, instance_variable_get,
instance_variable_set, methods, private_methods, public_methods,
protected_methods, singleton_methods, define_singleton_methods
* Module class
class_variables, class_variables_defined?, class_variable_get,
class_variable_set, remove_class_variable, included_modules,
instance_methods, remove_method, method_removed, constants
* Module class methods
constants, nesting
Note:
Following meta-programming methods are kept in the core:
* Module class
alias_method, undef_method, ancestors, const_defined?, const_get,
const_set, remove_const, method_defined?, define_method
* Toplevel object
define_method
`mruby-metaprog` gem is linked by default (specified in default.gembox).
When it is removed, it will save 40KB (stripped:8KB) on x86-64
environment last time I measured.
Diffstat (limited to 'mrbgems/mruby-eval/test')
| -rw-r--r-- | mrbgems/mruby-eval/test/eval.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mrbgems/mruby-eval/test/eval.rb b/mrbgems/mruby-eval/test/eval.rb index 8cf658f29..a710a1fc0 100644 --- a/mrbgems/mruby-eval/test/eval.rb +++ b/mrbgems/mruby-eval/test/eval.rb @@ -58,7 +58,7 @@ end assert('String instance_eval') do obj = Object.new - obj.instance_variable_set :@test, 'test' + obj.instance_eval{ @test = 'test' } assert_raise(ArgumentError) { obj.instance_eval(0) { } } assert_raise(ArgumentError) { obj.instance_eval('0', 'test', 0, 'test') } assert_equal(['test.rb', 10]) { obj.instance_eval('[__FILE__, __LINE__]', 'test.rb', 10)} |
