/[cvs]/nfo/perl/libs/Data/Mungle/Transform/Deep.pm
ViewVC logotype

Diff of /nfo/perl/libs/Data/Mungle/Transform/Deep.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by joko, Mon Dec 16 19:57:54 2002 UTC revision 1.6 by jonen, Mon Dec 23 11:27:53 2002 UTC
# Line 3  Line 3 
3  #  $Id$  #  $Id$
4  #  #
5  #  $Log$  #  $Log$
6    #  Revision 1.6  2002/12/23 11:27:53  jonen
7    #  + changed behavior WATCH!
8    #
9  #  Revision 1.5  2002/12/16 19:57:54  joko  #  Revision 1.5  2002/12/16 19:57:54  joko
10  #  + option 'init'  #  + option 'init'
11  #  #
# Line 310  sub hash2object_traverse_mixin { Line 313  sub hash2object_traverse_mixin {
313    
314      # loop through fields of to.be.injected-data (arbitrary Perl-data-structure)      # loop through fields of to.be.injected-data (arbitrary Perl-data-structure)
315      @fields = keys %{$data} if $options->{init};      @fields = keys %{$data} if $options->{init};
316    #    @fields = keys %{$data} if $options->{mixin};
317            
318      foreach (@fields) {      foreach (@fields) {
319        push @indexstack, $_;        push @indexstack, $_;
# Line 321  sub hash2object_traverse_mixin { Line 325  sub hash2object_traverse_mixin {
325          hash2object_traverse_mixin($object->{$_}, $data, 1, $options);          hash2object_traverse_mixin($object->{$_}, $data, 1, $options);
326        } else {        } else {
327          my $val = getStructSlotByStringyAddress($data, \@indexstack);          my $val = getStructSlotByStringyAddress($data, \@indexstack);
328          $object->{$_} = $val;                  $object->{$_} = $val if defined $val;
329        }        }
330        pop @indexstack;        pop @indexstack;
331      }      }
# Line 352  sub hash2object_traverse_mixin { Line 356  sub hash2object_traverse_mixin {
356        push @indexstack, $i;        push @indexstack, $i;
357        my $ref = ref $_;        my $ref = ref $_;
358  #      print STDERR "attrname: $_  ATTRref: $ref", "\n";  #      print STDERR "attrname: $_  ATTRref: $ref", "\n";
359        if ($ref && $_) {  #      if ($ref && $_) {
360          if ($ref) {
361          hash2object_traverse_mixin($_, $data, 1, $options);          hash2object_traverse_mixin($_, $data, 1, $options);
362        } else {        } else {
363          $object->[$i] = $_;          $object->[$i] = $_ if defined $_;
364        }        }
365        pop @indexstack;        pop @indexstack;
366        $i++;        $i++;

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed