Skip to content
  • Yukihiro "Matz" Matsumoto's avatar
    e471d37c
    Separate meta-programming features to `mruby-metaprog` gem. · e471d37c
    Yukihiro "Matz" Matsumoto authored
    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.
    e471d37c
    Separate meta-programming features to `mruby-metaprog` gem.
    Yukihiro "Matz" Matsumoto authored
    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.
Loading