[Ironruby-core] Code Review: YamlRefactoring1
olegtk at microsoft.com
Wed Dec 3 16:42:09 EST 2008
From: Tomas Matousek
Sent: Wednesday, December 03, 2008 12:17 PM
To: IronRuby External Code Reviewers
Cc: ironruby-core at rubyforge.org
Subject: Code Review: YamlRefactoring1
tfpt review "/shelveset:YamlRefactoring1;REDMOND\tomat"
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.
More information about the Ironruby-core