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