Code Review: Reflection

tfpt review /shelveset:Reflection;REDMOND\tomat

Removes singleton classes from Module#ancestors return value to match
MRI.
Implements Kernel#extend, Kernel#singleton_methods, Module#extended and
Module#extend_object.

Fixes [#20002] singleton_methods not implemented.
Fixes [#19972] Module::module_function assertion error. The assertion
was incorrect.
Fixes [#20011] Can’t subclass module. Added protected constructors to
allow inheriting in Ruby.

Includes adjusted Wayne K.'s patch.

Tomas

I think you also need to check for ci.IsFamilyAndAssembly in
RubyTypeBuilder.MakeClass (when checking for private) but otherwise it
looks good.

Thanks, forgot about that one.

Tomas

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs