1) add_domain_type should probably be split into 2 overloads - one for Regex
and other for object converted to a string since the implementation is
different.
2) Do not use dynamic sites for block invocation (RubyConstructor.cs):
return _Block.Invoke(ctor.GetContext(), _block, MutableString.Create(tag),
ctor.ConstructPrimitive(node));
Use _Block.Yield.
3) Representer.cs: why do we compare to two different "Null" objects?
if (key == BaseConstructor.NullObjectKey) {
key = null;
} else {
key = BaseSymbolDictionary.ObjToNull(key);
}
Other than that looks good.
Tomas
-----Original Message-----
From: Oleg Tkachenko
Sent: Wednesday, July 23, 2008 1:35 AM
To: IronRuby External Code Reviewers
Cc: [email protected]
Subject: Code Review: YamlFixes
tfpt review "/shelveset:YamlFixes;REDMOND\olegtk"
Comment :
Removes obsolete YamlTest project from the solution.
Fixes DateTime serialization and loading of timestamps.
Fixes nil serialization.
Implements YAML::add_domain_type() - user controlled parsing of domain types.
Fixes loading binary data in Ruby context.
Implements loading dates - instantiates Date class (from date.rb curently)
instead of DateTime.
Adds "require 'date'" into yaml.rb to be compatible with MRI (it makes
loading yaml much slower currently - need to implement Date class).
Fixes bug with serializing a hash with a nil as a key.
Implements loading abbreviated types (looks like obsoleted yaml 1.0 only
feature, but MRI tests it.
http://yaml.org/spec/history/2002-10-31.html#preview-family).
Splits SafeConstructor.ConstructYamlTimestamp into two methods so
RubyConstructor can override Date construction.
Fixes Time.at() - the argument must be a double type.
Fixes Time.local() and Time.utc() - usec argument is actually microseconds,
not milliseconds.
--
Oleg
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core