Code Review: YamlRefactoring1

tfpt review “/shelveset:YamlRefactoring1;REDMOND\tomat”
Comment :
Various Yaml related changes:

  • Integer and Numeric now derives from RubyObject so that a new 
    

CLR type is not created when these classes are subclassed.

  • All classes derived from RubyObject need to implement a 
    

deserializing constructor.

  • If a class in C# library represented a Ruby class and also 
    

implemented its methods using RubyMethod attribute the static
[RubyMethod] methods were visible on the singleton class of that class.
This caused problems with method lookup. This shelveset adds a flag to
the class loader that hides all CLR methods from a class that implements
a Ruby class (via RubyClass attribute). This fix removes the necessity
of splitting of classes into “Ops” and “real classes” artificially (an
example of which is YAML::Stream).

  • Refactors RubyTypeBuilder.DefineConstructors a little bit and 
    

fixes problem with constructors taking RubyClass - the generated code
was unverifiable (an instruction was missing).

  • Removes mscorlib dependency from Yaml tests so that they can be 
    

run by MRI as well.

Tomas

Looks great!


Oleg

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