Code Review: RubyInitializers8


#1

tfpt review “/shelveset:RubyInitializers8;REDMOND\tomat”
Comment :
Refactors call actions, reimplements calls to constructors, allocators
and initializers.
Implements allocate operation for built-in classes (where available in
MRI).
Fixes initialization of exceptions, Kernel#raise, and enables an
arbitrary object to be an exception message.
Simplifies C# definition of Ruby exceptions with a default factory:

  • If RubyExceptionAttribute is used instead of RubyClassAttribute 
    

and no RubyConstructor is defined the default factory is generated and
set up by init-generator.

Fixes CallArguments and MetaObjectBuilder: meta-arguments passed to
Defer should not be modified.
Refactors ArgsBuilder.

Tomas


#2

The definition of OptionalParamCount in ArgsBuilder.cs looks wrong.

A gratuitous tab character snuck into IoOps.cs.

Not specific to this set of changes, it would be nice if the generation
program for ReflectionCache.Generated were to apply some kind of
deterministic sort to the methods being generated.