[前][次][番号順一覧][スレッド一覧]

ruby-changes:15683

From: tenderlove <ko1@a...>
Date: Tue, 4 May 2010 00:40:09 +0900 (JST)
Subject: [ruby-changes:15683] Ruby:r27601 (trunk): * ext/psych/lib/psych/visitors/yaml_tree.rb: using more factory methods

tenderlove	2010-05-04 00:39:59 +0900 (Tue, 04 May 2010)

  New Revision: 27601

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=27601

  Log:
    * ext/psych/lib/psych/visitors/yaml_tree.rb: using more factory methods
      for generating the YAML ast.

  Modified files:
    trunk/ext/psych/lib/psych/visitors/yaml_tree.rb

Index: ext/psych/lib/psych/visitors/yaml_tree.rb
===================================================================
--- ext/psych/lib/psych/visitors/yaml_tree.rb	(revision 27600)
+++ ext/psych/lib/psych/visitors/yaml_tree.rb	(revision 27601)
@@ -56,7 +56,7 @@
       end
 
       def visit_Psych_Omap o
-        seq = Nodes::Sequence.new(nil, '!omap', false)
+        seq = create_sequence(nil, '!omap', false)
         register(o, seq)
 
         @stack.push append seq
@@ -71,7 +71,7 @@
           tag   = ['!ruby/object', klass].compact.join(':')
         end
 
-        map = append Nodes::Mapping.new(nil, tag, false)
+        map = append create_mapping(nil, tag, false)
         register(o, map)
 
         @stack.push map
@@ -82,12 +82,12 @@
       def visit_Struct o
         tag = ['!ruby/struct', o.class.name].compact.join(':')
 
-        map = register(o, Nodes::Mapping.new(nil, tag, false))
+        map = register(o, create_mapping(nil, tag, false))
 
         @stack.push append map
 
         o.members.each do |member|
-          map.children <<  Nodes::Scalar.new("#{member}")
+          map.children <<  create_scalar("#{member}")
           accept o[member]
         end
 
@@ -99,7 +99,7 @@
       def visit_Exception o
         tag = ['!ruby/exception', o.class.name].join ':'
 
-        map = append Nodes::Mapping.new(nil, tag, false)
+        map = append create_mapping(nil, tag, false)
 
         @stack.push map
 
@@ -108,7 +108,7 @@
           'backtrace' => private_iv_get(o, 'backtrace'),
         }.each do |k,v|
           next unless v
-          map.children << Nodes::Scalar.new(k)
+          map.children << create_scalar(k)
           accept v
         end
 
@@ -118,7 +118,7 @@
       end
 
       def visit_Regexp o
-        append Nodes::Scalar.new(o.inspect, nil, '!ruby/regexp', false)
+        append create_scalar(o.inspect, nil, '!ruby/regexp', false)
       end
 
       def visit_Time o
@@ -129,24 +129,24 @@
           formatted += ".%06d %+.2d:00" % [o.usec, o.gmt_offset / 3600]
         end
 
-        append Nodes::Scalar.new formatted
+        append create_scalar formatted
       end
 
       def visit_Rational o
-        map = append Nodes::Mapping.new(nil, '!ruby/object:Rational', false)
+        map = append create_mapping(nil, '!ruby/object:Rational', false)
         [
           'denominator', o.denominator.to_s,
           'numerator', o.numerator.to_s
         ].each do |m|
-          map.children << Nodes::Scalar.new(m)
+          map.children << create_scalar(m)
         end
       end
 
       def visit_Complex o
-        map = append Nodes::Mapping.new(nil, '!ruby/object:Complex', false)
+        map = append create_mapping(nil, '!ruby/object:Complex', false)
 
         ['real', o.real.to_s, 'image', o.imag.to_s].each do |m|
-          map.children << Nodes::Scalar.new(m)
+          map.children << create_scalar(m)
         end
       end
 
@@ -191,9 +191,9 @@
         if ivars.empty?
           append scalar
         else
-          mapping = append Nodes::Mapping.new(nil, '!str', false)
+          mapping = append create_mapping(nil, '!str', false)
 
-          mapping.children << Nodes::Scalar.new('str')
+          mapping.children << create_scalar('str')
           mapping.children << scalar
 
           @stack.push mapping
@@ -207,7 +207,7 @@
       end
 
       def visit_Range o
-        @stack.push append Nodes::Mapping.new(nil, '!ruby/range', false)
+        @stack.push append create_mapping(nil, '!ruby/range', false)
         ['begin', o.begin, 'end', o.end, 'excl', o.exclude_end?].each do |m|
           accept m
         end
@@ -226,7 +226,7 @@
       end
 
       def visit_Psych_Set o
-        @stack.push append register(o, Nodes::Mapping.new(nil, '!set', false))
+        @stack.push append register(o, create_mapping(nil, '!set', false))
 
         o.each do |k,v|
           accept k
@@ -243,7 +243,7 @@
       end
 
       def visit_NilClass o
-        append Nodes::Scalar.new('', nil, 'tag:yaml.org,2002:null', false)
+        append create_scalar('', nil, 'tag:yaml.org,2002:null', false)
       end
 
       def visit_Symbol o
@@ -297,7 +297,7 @@
           end
           @stack.pop
         when :map
-          map = append Nodes::Mapping.new(nil, c.tag, c.implicit, c.style)
+          map = append create_mapping(nil, c.tag, c.implicit, c.style)
           @stack.push map
           c.map.each do |k,v|
             map.children << create_scalar(k)
@@ -316,12 +316,12 @@
         end
       end
 
-      def create_document
-        Nodes::Document.new
+      def create_document version = [], tag_directives = [], implicit = false
+        Nodes::Document.new version, tag_directives, implicit
       end
 
-      def create_mapping
-        Nodes::Mapping.new
+      def create_mapping anchor = nil, tag = nil, implicit = true, style = Psych::Nodes::Mapping::BLOCK
+        Nodes::Mapping.new anchor, tag, implicit, style
       end
 
       def create_scalar value, anchor = nil, tag = nil, plain = true, quoted = false, style = Nodes::Scalar::ANY

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]