#!/usr/bin/perl ## This file is automatically generated ## at 2005-09-30T12:55:03+00:00, ## from file "lib/Message/Util/ManakaiNode.dis", ## module , ## for . ## Don't edit by hand! use strict; package Message::Util::ManakaiNode; our $VERSION = 20050930.1255; package Message::Util::ManakaiNode::ManakaiDOMNodeObject; our $VERSION = 20050930.1255; push our @ISA, 'Message::Util::IF::NodeStem'; sub _import_tree ($$) { my ($self, $node) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #39)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #37)" unless #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #1)" ($node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #2)" 'tid' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #3)" } eq $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #4)" 'tid' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #5)" }) { my @node = ($node); NODES: while (@node) { my $node = shift @node; next NODES unless UNIVERSAL::isa ($node, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #6)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #7)" ); my @n; for my $p (@{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #8)" 'subnode2' #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #9)" }}) { if (ref $node->{$p} eq 'ARRAY') { push @n, @{$node->{$p}}; } elsif (ref $node->{$p} eq 'HASH') { push @n, values %{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #10)" 'subnode' #line 17 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #11)" }}) { if (ref $p eq 'ARRAY') { push @node, grep {UNIVERSAL::isa ($_, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #12)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 20 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #13)" ) and $_->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #14)" 'tid' #line 21 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #15)" } ne $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #16)" 'tid' #line 22 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #17)" }} @$p; } elsif (ref $p eq 'HASH') { push @node, grep {UNIVERSAL::isa ($_, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #18)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 25 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #19)" ) and $_->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #20)" 'tid' #line 26 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #21)" } ne $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #22)" 'tid' #line 27 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #23)" }} values %$p; } } for my $p (@{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #24)" 'origin' #line 31 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #25)" }}, @{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #26)" 'subnode0' #line 32 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #27)" }}) { push @node, $node->{$p} if defined $node->{$p} and $node->{$p}->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #28)" 'tid' #line 35 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #29)" } ne $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #30)" 'tid' #line 36 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #31)" }; } $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #32)" 'tid' #line 38 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #33)" } = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #34)" 'tid' #line 38 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #35)" }; } } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #36)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #38)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #40)" } } sub _orphanate ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #53)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #51)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #41)" ($self-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #42)" _is_externally_referred #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #43)" ) { $self-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #44)" _change_tree_id #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #45)" ( #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #46)" ( sprintf 'tag:suika.fam.cx,2005-09:%x:%x%s', time, $$, ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] ) #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #47)" ); } else { $self-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #48)" _destroy #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #49)" ; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #50)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #52)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #54)" } } sub _is_externally_referred ($) { my ($self) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #83)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #81)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #55)" ($self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #56)" 'rc' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #57)" }) { $r = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #58)" 1 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #59)" ; } else { my @node = ($self); my %checked; NODES: while (@node) { my $node = shift @node; next NODES unless UNIVERSAL::isa ($node, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #60)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #61)" ); if ($node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #62)" 'rc' #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #63)" }) { $r = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #64)" 1 #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #65)" ; last NODES; } elsif ($checked{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #66)" 'nid' #line 13 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #67)" }}) { next NODES; } my @n; for my $p (@{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #68)" 'subnode2' #line 17 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #69)" }}) { if (ref $node->{$p} eq 'ARRAY') { push @n, @{$node->{$p}}; } elsif (ref $node->{$p} eq 'HASH') { push @n, values %{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #70)" 'subnode' #line 25 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #71)" }}) { if (ref $p eq 'ARRAY') { push @node, @$p; } elsif (ref $p eq 'HASH') { push @node, values %$p; } } for my $p (@{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #72)" 'origin' #line 32 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #73)" }}) { unshift @node, $node->{$p} if $node->{$p}; ## NOTE: Puts the top of the list, ## since upper-level nodes are expected to be referred ## more than lower-levels. } for my $p (@{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #74)" 'subnode0' #line 38 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #75)" }}) { push @node, $node->{$p} if $node->{$p}; } $checked{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #76)" 'nid' #line 41 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #77)" }} = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #78)" 1 #line 41 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #79)" ; } } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #80)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #82)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #84)" } $r} sub _destroy ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #107)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #105)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #85)" @node = ($self); NODES: while (@node) { my $node = shift @node; my @n; for my $p (@{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #86)" 'subnode2' #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #87)" }}) { if (ref $node->{$p} eq 'ARRAY') { push @n, @{$node->{$p}}; } elsif (ref $node->{$p} eq 'HASH') { push @n, values %{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #88)" 'subnode' #line 13 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #89)" }}) { if (ref $p eq 'ARRAY') { push @node, grep {UNIVERSAL::isa ($_, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #90)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 16 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #91)" ) and defined $_->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #92)" 'nid' #line 17 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #93)" }} @$p; } elsif (ref $p eq 'HASH') { push @node, grep {UNIVERSAL::isa ($_, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #94)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 20 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #95)" ) and defined $_->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #96)" 'nid' #line 21 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #97)" }} values %$p; } } for my $p (@{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #98)" 'origin' #line 25 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #99)" }}, @{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #100)" 'subnode0' #line 26 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #101)" }}) { push @node, $node->{$p} if defined $node->{$p} and defined $node->{$p}->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #102)" 'nid' #line 29 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #103)" }; } %$node = (); } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #104)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #106)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #108)" } } sub _change_tree_id ($$) { my ($self, $treeID) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #137)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #135)" unless #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #109)" ($self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #110)" 'tid' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #111)" } eq $treeID) { my @node = ($self); NODES: while (@node) { my $node = shift @node; next NODES unless UNIVERSAL::isa ($node, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #112)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #113)" ); my @n; for my $p (@{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #114)" 'subnode2' #line 8 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #115)" }}) { if (ref $node->{$p} eq 'ARRAY') { push @n, @{$node->{$p}}; } elsif (ref $node->{$p} eq 'HASH') { push @n, values %{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #116)" 'subnode' #line 16 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #117)" }}) { if (ref $p eq 'ARRAY') { push @node, grep {UNIVERSAL::isa ($_, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #118)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 19 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #119)" ) and $_->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #120)" 'tid' #line 21 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #121)" } ne $treeID} @$p; } elsif (ref $p eq 'HASH') { push @node, grep {UNIVERSAL::isa ($_, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #122)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 24 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #123)" ) and $_->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #124)" 'tid' #line 25 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #125)" } ne $treeID} values %$p; } } for my $p (@{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #126)" 'origin' #line 29 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #127)" }}, @{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #128)" 'subnode0' #line 30 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #129)" }}) { push @node, $node->{$p} if defined $node->{$p} and $node->{$p}->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #130)" 'tid' #line 33 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #131)" } ne $treeID; } $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #132)" 'tid' #line 35 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #133)" } = $treeID; } } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #134)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #136)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #138)" } } sub _new ($) { my ($self) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #167)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #165)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #139)" $r = bless { #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #140)" 'origin' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #141)" => [], #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #142)" 'subnode0' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #143)" => [], #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #144)" 'subnode' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #145)" => [], #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #146)" 'subnode2' #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #147)" => [], #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #148)" 'irefnode' #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #149)" => [], #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #150)" 'anydata' #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #151)" => [], #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #152)" 'anydata2' #line 8 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #153)" => [], #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #154)" 'rc' #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #155)" => 0, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #156)" 'tid' #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #157)" => #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #158)" ( sprintf 'tag:suika.fam.cx,2005-09:%x:%x%s', time, $$, ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] ) #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #159)" , #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #160)" 'nid' #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #161)" => #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #162)" ( sprintf 'tag:suika.fam.cx,2005-09:%x:%x%s', time, $$, ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] ) #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #163)" , }, ref $self || $self; #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #164)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #166)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #168)" } $r} sub _is_same_node ($$) { my ($self, $node) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #181)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #179)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #169)" (ref $node and UNIVERSAL::isa ($node, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #170)" 'Message::Util::ManakaiNode::ManakaiDOMNodeObject' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #171)" ) and $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #172)" 'nid' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #173)" } eq $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #174)" 'nid' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #175)" }) { $r = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #176)" 1 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #177)" ; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #178)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #180)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #182)" } $r} sub _new_reference ($$) { my ($self, $class) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #193)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #191)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #183)" $r = bless { #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #184)" 'node' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #185)" => $self, }, ref $class ? ref $class : defined $class ? $class : #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #186)" 'Message::Util::ManakaiNode::ManakaiDOMNodeReference' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #187)" ; $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #188)" 'rc' #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #189)" }++; #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #190)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #192)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #194)" } $r} use overload bool => sub () {1}, 'eq', '_is_same_node', fallback => 1; $Message::DOM::ClassFeature{q} = {}; $Message::DOM::ClassPoint{q} = 0; package Message::Util::ManakaiNode::ManakaiNodeStem; our $VERSION = 20050930.1255; push our @ISA, 'Message::Util::IF::NodeStem'; sub _import_tree ($$) { my ($self, $node) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #227)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #225)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #195)" @node = ($node); my $newgrc = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #196)" 'grc' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #197)" }; my $newtid = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #198)" 'tid' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #199)" }; NODES: while (@node) { my $node = shift @node; next NODES unless ref $node; next NODES if ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #200)" 'tid' #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #201)" }} eq $$newtid; my @n; my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{ $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #202)" 't' #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #203)" } }; for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #204)" 's2' #line 12 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #205)" }||[]}) { if (ref $node->{$p} eq 'ARRAY') { push @n, @{$node->{$p}}; } elsif (ref $node->{$p} eq 'HASH') { push @n, values %{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #206)" 's' #line 20 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #207)" }||[]}) { if (ref $p eq 'ARRAY') { push @node, @$p; } elsif (ref $p eq 'HASH') { push @node, values %$p; } } for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #208)" 'o' #line 27 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #209)" }||[]}, @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #210)" 's0' #line 28 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #211)" }||[]}) { push @node, $node->{$p}; } ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #212)" 'grc' #line 32 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #213)" }} -= $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #214)" 'rc' #line 32 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #215)" }; $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #216)" 'tid' #line 33 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #217)" } = $newtid; $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #218)" 'grc' #line 34 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #219)" } = $newgrc; ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #220)" 'grc' #line 35 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #221)" }} += $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #222)" 'rc' #line 35 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #223)" }; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #224)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #226)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #228)" } } sub _new ($$) { my ($self, $className) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #247)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #245)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #229)" $grc = 0; $r = bless { #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #230)" 't' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #231)" => $className, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #232)" 'grc' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #233)" => \$grc, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #234)" 'rc' #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #235)" => 0, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #236)" 'tid' #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #237)" => \ ( #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #238)" ( sprintf 'tag:suika.fam.cx,2005-09:%x:%x%s', time, $$, ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] ) #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #239)" ), #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #240)" 'nid' #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #241)" => #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #242)" ( sprintf 'tag:suika.fam.cx,2005-09:%x:%x%s', time, $$, ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] ) #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #243)" , }, ref $self || $self; #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #244)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #246)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #248)" } $r} sub _orphanate ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #261)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #259)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #249)" ($self-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #250)" _is_externally_referred #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #251)" ) { my $grc = 0; $self-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #252)" _change_tree_id #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #253)" (\( #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #254)" ( sprintf 'tag:suika.fam.cx,2005-09:%x:%x%s', time, $$, ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] . ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] ) #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #255)" ), \$grc); } else { $self-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #256)" _destroy #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #257)" ; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #258)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #260)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #262)" } } sub _is_externally_referred ($) { my ($self) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #291)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #289)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #263)" ($self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #264)" 'rc' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #265)" }) { $r = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #266)" 1 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #267)" ; } else { my @node = ($self); my %checked; NODES: while (@node) { my $node = shift @node; next NODES unless ref $node; if ($node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #268)" 'rc' #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #269)" }) { $r = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #270)" 1 #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #271)" ; last NODES; } elsif ($checked{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #272)" 'nid' #line 12 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #273)" }}) { next NODES; } my @n; my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{ $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #274)" 't' #line 17 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #275)" } }; for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #276)" 's2' #line 19 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #277)" }}) { if (ref $node->{$p} eq 'ARRAY') { push @n, @{$node->{$p}}; } elsif (ref $node->{$p} eq 'HASH') { push @n, values %{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #278)" 's' #line 27 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #279)" }}) { if (ref $p eq 'ARRAY') { push @node, @$p; } elsif (ref $p eq 'HASH') { push @node, values %$p; } } for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #280)" 'o' #line 34 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #281)" }}) { unshift @node, $node->{$p} if $node->{$p}; ## NOTE: Puts the top of the list, ## since upper-level nodes are expected to be referred ## more than lower-levels. } for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #282)" 's0' #line 40 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #283)" }}) { push @node, $node->{$p} if $node->{$p}; } $checked{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #284)" 'nid' #line 43 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #285)" }} = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #286)" 1 #line 43 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #287)" ; } } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #288)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #290)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #292)" } $r} sub _is_same_node ($$) { my ($self, $node) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #305)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #303)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #293)" (ref $node and UNIVERSAL::isa ($node, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #294)" 'Message::Util::ManakaiNode::ManakaiNodeStem' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #295)" ) and $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #296)" 'nid' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #297)" } eq $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #298)" 'nid' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #299)" }) { $r = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #300)" 1 #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #301)" ; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #302)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #304)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #306)" } $r} sub _destroy ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #323)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #321)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #307)" @node = ($self); NODES: while (@node) { my $node = shift @node; next NODES unless ref $node and defined $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #308)" 'nid' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #309)" }; my @n; my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{ $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #310)" 't' #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #311)" } }; for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #312)" 's2' #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #313)" }||[]}) { if (ref $node->{$p} eq 'ARRAY') { push @n, @{$node->{$p}}; } elsif (ref $node->{$p} eq 'HASH') { push @n, values %{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #314)" 's' #line 17 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #315)" }||[]}) { if (ref $p eq 'ARRAY') { push @node, @$p; } elsif (ref $p eq 'HASH') { push @node, values %$p; } } for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #316)" 'o' #line 24 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #317)" }||[]}, @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #318)" 's0' #line 25 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #319)" }||[]}) { push @node, $node->{$p}; } %$node = (); } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #320)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #322)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #324)" } } sub _change_tree_id ($$$) { my ($self, $treeID, $groveRC) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #353)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #351)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #325)" $tid = ref $treeID ? $treeID : \$treeID; my @node = ($self); NODES: while (@node) { my $node = shift @node; next NODES unless ref $node; next NODES if ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #326)" 'tid' #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #327)" }} eq $$tid; my @n; my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{ $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #328)" 't' #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #329)" } }; for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #330)" 's2' #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #331)" }||[]}) { if (ref $node->{$p} eq 'ARRAY') { push @n, @{$node->{$p}}; } elsif (ref $node->{$p} eq 'HASH') { push @n, values %{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #332)" 's' #line 19 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #333)" }||[]}) { if (ref $p eq 'ARRAY') { push @node, @$p; } elsif (ref $p eq 'HASH') { push @node, values %$p; } } for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #334)" 'o' #line 26 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #335)" }||[]}, @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #336)" 's0' #line 27 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #337)" }||[]}) { push @node, $node->{$p}; } ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #338)" 'grc' #line 31 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #339)" }} -= $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #340)" 'rc' #line 31 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #341)" }; $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #342)" 'tid' #line 32 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #343)" } = $tid; $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #344)" 'grc' #line 33 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #345)" } = $groveRC; ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #346)" 'grc' #line 34 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #347)" }} += $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #348)" 'rc' #line 34 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #349)" }; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #350)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #352)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #354)" } } use overload bool => sub () {1}, 'eq', '_is_same_node', fallback => 1; $Message::DOM::ClassFeature{q} = {}; $Message::DOM::ClassPoint{q} = 0; package Message::Util::ManakaiNode::ManakaiDOMNodeReference; our $VERSION = 20050930.1255; push our @ISA, 'Message::Util::IF::NodeRef'; *DESTROY = \&_destroy; sub _destroy ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #371)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #369)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #355)" $node = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #356)" 'node' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #357)" }; if ($node) { CORE::delete $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #358)" 'node' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #359)" }; unless ($self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #360)" 'w' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #361)" }) { $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #362)" 'rc' #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #363)" }--; unless ($node-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #364)" _is_externally_referred #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #365)" ) { $node-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #366)" _destroy #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #367)" ; } } } else { warn ref ($self) . q{->DESTROY: there is no associated }. q{node object - you have a global variable or }. qq{potential memory-leak detected\n}; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #368)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #370)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #372)" } } $Message::DOM::ClassFeature{q} = {}; $Message::DOM::ClassPoint{q} = 0; package Message::Util::ManakaiNode::ManakaiNodeRef; our $VERSION = 20050930.1255; push our @ISA, 'Message::Util::IF::NodeRef'; sub free ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #381)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #379)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #373)" $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #374)" 'node' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #375)" }-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #376)" _destroy #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #377)" ; #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #378)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #380)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #382)" } } *DESTROY = \&_destroy; sub _destroy ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #401)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #399)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #383)" $node = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #384)" 'node' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #385)" }; if ($node) { CORE::delete $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #386)" 'node' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #387)" }; unless ($self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #388)" 'w' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #389)" }) { $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #390)" 'rc' #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #391)" }--; ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #392)" 'grc' #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #393)" }}--; unless ( #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #394)" (${$node->{'grc'}} > 0) #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #395)" ) { $node-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #396)" _destroy #line 8 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #397)" ; } } } else { warn ref ($self) . q{->DESTROY: there is no associated }. q{node object - you have a global variable or }. qq{potential memory-leak detected\n}; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #398)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #400)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #402)" } } $Message::DOM::ClassFeature{q} = {}; $Message::DOM::ClassPoint{q} = 0; $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{q} = {}; for ($Message::Util::IF::NodeRef::, $Message::Util::IF::NodeStem::){} ## License: 1;