parse_documents needs to call block.BlockJumped after the block invocation. Also the result of the block invocation should be returned from the function if the block jumped (try parse_documents ... { break ''foo'' } and parse_documents ... { ''bar'' }). YAMLNumericOps.TagUri: it is better to define overloads for float, double, decimal, [NotNull]BigInteger and object than switching over the types by hand. Other than that looks good. Tomas -----Original Message----- From: Oleg Tkachenko Sent: Wednesday, June 25, 2008 9:16 AM To: IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: Code Review: YamlParse tfpt review "/shelveset:YamlParse;REDMOND\olegtk" Comment : Implements Bignum support. Refactores constructors hierarchy by decoupling constructors (those building Ruby objects from Nodes) and composers (those building Nodes from Yaml source) and introducing NodeProvider to be used by contructors. Adds preliminary support for YamlNode and Implements YamlNode.transform. Implements YAML::parse, YAML::parse_documents and YAML::parse_file methods. Removes YamlDocument class - duplicate functionality. -- Oleg
Can you please explain [NotNull]BigInteger part? I mean why [NotNull]? -- Oleg -----Original Message----- From: Tomas Matousek Sent: Thursday, June 26, 2008 10:51 AM To: Oleg Tkachenko; IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: RE: Code Review: YamlParse parse_documents needs to call block.BlockJumped after the block invocation. Also the result of the block invocation should be returned from the function if the block jumped (try parse_documents ... { break ''foo'' } and parse_documents ... { ''bar'' }). YAMLNumericOps.TagUri: it is better to define overloads for float, double, decimal, [NotNull]BigInteger and object than switching over the types by hand. Other than that looks good. Tomas -----Original Message----- From: Oleg Tkachenko Sent: Wednesday, June 25, 2008 9:16 AM To: IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: Code Review: YamlParse tfpt review "/shelveset:YamlParse;REDMOND\olegtk" Comment : Implements Bignum support. Refactores constructors hierarchy by decoupling constructors (those building Ruby objects from Nodes) and composers (those building Nodes from Yaml source) and introducing NodeProvider to be used by contructors. Adds preliminary support for YamlNode and Implements YamlNode.transform. Implements YAML::parse, YAML::parse_documents and YAML::parse_file methods. Removes YamlDocument class - duplicate functionality. -- Oleg
[NotNull] is used to force the binder to never pass a null value to that overload. You typically use this when you have another overload that accepts a generic object parameter and you want to redirect all cases where the caller passes nil to that overload. Thanks, -John -----Original Message----- From: Oleg Tkachenko Sent: Thursday, June 26, 2008 1:22 PM To: Tomas Matousek; IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: RE: Code Review: YamlParse Can you please explain [NotNull]BigInteger part? I mean why [NotNull]? -- Oleg -----Original Message----- From: Tomas Matousek Sent: Thursday, June 26, 2008 10:51 AM To: Oleg Tkachenko; IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: RE: Code Review: YamlParse parse_documents needs to call block.BlockJumped after the block invocation. Also the result of the block invocation should be returned from the function if the block jumped (try parse_documents ... { break ''foo'' } and parse_documents ... { ''bar'' }). YAMLNumericOps.TagUri: it is better to define overloads for float, double, decimal, [NotNull]BigInteger and object than switching over the types by hand. Other than that looks good. Tomas -----Original Message----- From: Oleg Tkachenko Sent: Wednesday, June 25, 2008 9:16 AM To: IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: Code Review: YamlParse tfpt review "/shelveset:YamlParse;REDMOND\olegtk" Comment : Implements Bignum support. Refactores constructors hierarchy by decoupling constructors (those building Ruby objects from Nodes) and composers (those building Nodes from Yaml source) and introducing NodeProvider to be used by contructors. Adds preliminary support for YamlNode and Implements YamlNode.transform. Implements YAML::parse, YAML::parse_documents and YAML::parse_file methods. Removes YamlDocument class - duplicate functionality. -- Oleg
...and all those other overloads are value types, so they can''t be null. -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of John Lam (IRONRUBY) Sent: Thursday, June 26, 2008 1:27 PM To: Oleg Tkachenko; Tomas Matousek; IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Code Review: YamlParse [NotNull] is used to force the binder to never pass a null value to that overload. You typically use this when you have another overload that accepts a generic object parameter and you want to redirect all cases where the caller passes nil to that overload. Thanks, -John -----Original Message----- From: Oleg Tkachenko Sent: Thursday, June 26, 2008 1:22 PM To: Tomas Matousek; IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: RE: Code Review: YamlParse Can you please explain [NotNull]BigInteger part? I mean why [NotNull]? -- Oleg -----Original Message----- From: Tomas Matousek Sent: Thursday, June 26, 2008 10:51 AM To: Oleg Tkachenko; IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: RE: Code Review: YamlParse parse_documents needs to call block.BlockJumped after the block invocation. Also the result of the block invocation should be returned from the function if the block jumped (try parse_documents ... { break ''foo'' } and parse_documents ... { ''bar'' }). YAMLNumericOps.TagUri: it is better to define overloads for float, double, decimal, [NotNull]BigInteger and object than switching over the types by hand. Other than that looks good. Tomas -----Original Message----- From: Oleg Tkachenko Sent: Wednesday, June 25, 2008 9:16 AM To: IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: Code Review: YamlParse tfpt review "/shelveset:YamlParse;REDMOND\olegtk" Comment : Implements Bignum support. Refactores constructors hierarchy by decoupling constructors (those building Ruby objects from Nodes) and composers (those building Nodes from Yaml source) and introducing NodeProvider to be used by contructors. Adds preliminary support for YamlNode and Implements YamlNode.transform. Implements YAML::parse, YAML::parse_documents and YAML::parse_file methods. Removes YamlDocument class - duplicate functionality. -- Oleg _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core