#!/usr/bin/perl ## This file is automatically generated ## at 2005-10-12T14:45:58+00:00, ## from file "lib/Message/Util/ManakaiNode.dis", ## module , ## for . ## Don't edit by hand! use strict; package Message::Util::ManakaiNode; our $VERSION = 20051012.1445; package Message::Util::IF::NodeStem; our $VERSION = 20051012.1445; package Message::Util::ManakaiNode::ManakaiNodeStem; our $VERSION = 20051012.1445; push our @ISA, 'Message::Util::IF::NodeStem'; sub _new ($$) { my ($self, $className) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #27)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #25)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #2)" $grc = 0; $r = bless { #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #3)" 't' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #5)" => $className, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #6)" 'grc' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #8)" => \$grc, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #9)" 'rc' #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #11)" => 0, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #12)" 'tid' #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #14)" => \ ( #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #15)" ( 'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' . ($Message::Util::ManakaiNode::UniqueIDR ||= [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62]) . (++$Message::Util::ManakaiNode::UniqueIDN) ) #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #17)" ), #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #18)" 'nid' #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #20)" => #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #21)" ( 'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' . ($Message::Util::ManakaiNode::UniqueIDR ||= [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62]) . (++$Message::Util::ManakaiNode::UniqueIDN) ) #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #23)" , }, ref $self || $self; #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #24)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #26)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #28)" } $r} sub _new_node ($$) { my ($self, $className) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #58)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #56)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #30)" $r = bless { #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #31)" 't' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #33)" => $className, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #34)" 'grc' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #36)" => $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #37)" 'grc' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #39)" }, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #40)" 'rc' #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #42)" => 0, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #43)" 'tid' #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #45)" => $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #46)" 'tid' #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #48)" }, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #49)" 'nid' #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #51)" => #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #52)" ( 'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' . ($Message::Util::ManakaiNode::UniqueIDR ||= [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62]) . (++$Message::Util::ManakaiNode::UniqueIDN) ) #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=newNode][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #54)" , }, ref $self; #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #55)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #57)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #59)" } $r} sub _is_externally_referred ($) { my ($self) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #101)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #99)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #61)" ($self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #62)" 'rc' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #64)" }) { $r = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #65)" 1 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #67)" ; } 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 #68)" 'rc' #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #70)" }) { $r = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #71)" 1 #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #73)" ; last NODES; } elsif ($checked{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #74)" 'nid' #line 12 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #76)" }}) { next NODES; } my @n; my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{ $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #77)" 't' #line 17 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #79)" } }; for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #80)" 's2' #line 19 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #82)" }}) { 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 #83)" 's' #line 27 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #85)" }}) { 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 #86)" 'o' #line 34 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #88)" }}) { 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 #89)" 's0' #line 40 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #91)" }}) { push @node, $node->{$p} if $node->{$p}; } $checked{$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #92)" 'nid' #line 43 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #94)" }} = #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #95)" 1 #line 43 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #97)" ; } } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #98)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #100)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #102)" } $r} sub _destroy ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #150)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #148)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #104)" @node = ($self); my $tid = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #105)" 'tid' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #107)" }; my %xrnode; NODES: while (@node) { my $node = shift @node; next NODES unless ref $node and defined $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #108)" 'nid' #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #110)" }; my @n; my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{ $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #111)" 't' #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #113)" } }; for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #114)" 's2' #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #116)" }||[]}) { my $ref = ref $node->{$p}; if ($ref eq 'HASH') { push @n, values %{$node->{$p}}; } elsif ($ref eq 'ARRAY') { push @n, @{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #117)" 's' #line 19 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #119)" }||[]}) { my $ref = ref $p; if ($ref eq 'ARRAY') { push @node, @$p; } elsif ($ref eq 'HASH') { push @node, values %$p; } } for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #120)" 'o' #line 27 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #122)" }||[]}, @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #123)" 's0' #line 28 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #125)" }||[]}) { push @node, $node->{$p}; } for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #126)" 'x' #line 32 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #128)" }||[]}) { if (defined $node->{$p} and ${$node->{$p}->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #129)" 'tid' #line 34 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #131)" }||$tid} ne $$tid) { $node->{$p}->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #132)" 'rc' #line 35 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #134)" }--; ${$node->{$p}->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #135)" 'grc' #line 36 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #137)" }}--; $xrnode{${$node->{$p}->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #138)" 'tid' #line 37 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #140)" }}} = $node->{$p}; } } %$node = (); } # @node CORE::delete $xrnode{$$tid}; for my $node (values %xrnode) { unless ( #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #141)" (${$node->{'grc'}} > 0) #line 46 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #143)" ) { $node-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #144)" _destroy #line 47 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #146)" ; } } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #147)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #149)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #151)" } } sub _import_tree ($$) { my ($self, $node) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #220)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #218)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #153)" @node = ($node); my $newgrc = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #154)" 'grc' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #156)" }; my $newtid = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #157)" 'tid' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #159)" }; my $oldtid = $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #160)" 'tid' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #162)" }; my @xrnode; 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 #163)" 'tid' #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #165)" }} eq $$newtid; my @n; my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{ $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #166)" 't' #line 12 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #168)" } }; for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #169)" 's2' #line 14 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #171)" }||[]}) { my $ref = ref $node->{$p}; if ($ref eq 'HASH') { push @n, values %{$node->{$p}}; } elsif ($ref eq 'ARRAY') { push @n, @{$node->{$p}}; } } for my $p (@n, map {$node->{$_}} @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #172)" 's' #line 22 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #174)" }||[]}) { my $ref = ref $p; if ($ref eq 'ARRAY') { push @node, @$p; } elsif ($ref eq 'HASH') { push @node, values %$p; } } for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #175)" 'o' #line 30 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #177)" }||[]}, @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #178)" 's0' #line 31 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #180)" }||[]}) { push @node, $node->{$p} if defined $node->{$p}; } for (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #181)" 'x' #line 35 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #183)" }||[]}) { push @xrnode, $node->{$_} if defined $node->{$_}; } ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #184)" 'grc' #line 39 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #186)" }} -= $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #187)" 'rc' #line 39 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #189)" }; $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #190)" 'tid' #line 40 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #192)" } = $newtid; $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #193)" 'grc' #line 41 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #195)" } = $newgrc; $$newgrc += $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #196)" 'rc' #line 42 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #198)" }; } for my $n (@xrnode) { if (${$n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #199)" 'tid' #line 46 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #201)" }} eq $$oldtid) { $n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #202)" 'rc' #line 47 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #204)" }++; ${$n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #205)" 'grc' #line 48 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #207)" }}++; } elsif (${$n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #208)" 'tid' #line 49 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #210)" }} eq $$newtid) { $n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #211)" 'rc' #line 50 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #213)" }--; ${$n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #214)" 'grc' #line 51 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #216)" }}--; ## Is it necessary to test whether rc is 0 or not ## and if so call "destroy" method? Maybe it need not ## (or should not, rather). } } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #217)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #219)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #221)" } } sub _change_tree_id ($$$) { my ($self, $treeID, $groveRC) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #287)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #285)" my #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #223)" $tid = ref $treeID ? $treeID : \$treeID; my $oldtid = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #224)" 'tid' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #226)" }; my @xrnode; 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 #227)" 'tid' #line 8 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #229)" }} eq $$tid; my @n; my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{ $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #230)" 't' #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #232)" } }; for my $p (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #233)" 's2' #line 13 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #235)" }||[]}) { 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 #236)" 's' #line 21 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #238)" }||[]}) { 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 #239)" 'o' #line 28 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #241)" }||[]}, @{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #242)" 's0' #line 29 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #244)" }||[]}) { push @node, $node->{$p}; } for (@{$nt->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #245)" 'x' #line 33 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #247)" }||[]}) { push @xrnode, $node->{$_} if defined $node->{$_}; } ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #248)" 'grc' #line 37 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #250)" }} -= $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #251)" 'rc' #line 37 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #253)" }; $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #254)" 'tid' #line 38 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #256)" } = $tid; $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #257)" 'grc' #line 39 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #259)" } = $groveRC; ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #260)" 'grc' #line 40 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #262)" }} += $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #263)" 'rc' #line 40 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #265)" }; } for my $n (@xrnode) { if (${$n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #266)" 'tid' #line 44 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #268)" }} eq $$oldtid) { $n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #269)" 'rc' #line 45 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #271)" }++; ${$n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #272)" 'grc' #line 46 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #274)" }}++; } elsif (${$n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #275)" 'tid' #line 47 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #277)" }} eq $$tid) { $n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #278)" 'rc' #line 48 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #280)" }--; ${$n->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #281)" 'grc' #line 49 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #283)" }}--; ## Is it necessary to test whether rc is 0 or not ## and if so call "destroy" method? Maybe it need not ## (or should not, rather). } } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #284)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #286)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #288)" } } sub _is_same_node ($$) { my ($self, $node) = @_; my $r; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #306)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #304)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #290)" (ref $node and UNIVERSAL::isa ($node, #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #291)" 'Message::Util::ManakaiNode::ManakaiNodeStem' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #293)" ) and $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #294)" 'nid' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #296)" } eq $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #297)" 'nid' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@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=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #302)" ; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #303)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #305)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #307)" } $r} sub _orphanate ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #325)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #323)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #309)" ($self-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #310)" _is_externally_referred #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #312)" ) { my $grc = 0; $self-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #313)" _change_tree_id #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #315)" (\( #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #316)" ( 'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' . ($Message::Util::ManakaiNode::UniqueIDR ||= [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62] . [qw/A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9/]->[rand 62]) . (++$Message::Util::ManakaiNode::UniqueIDN) ) #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #318)" ), \$grc); } else { $self-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #319)" _destroy #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #321)" ; } #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #322)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #324)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #326)" } } use overload bool => sub () {1}, 'eq' => '_is_same_node', fallback => 1; $Message::DOM::ClassFeature{q} = {}; $Message::DOM::ClassPoint{q} = 0; package Message::Util::ManakaiNode::ManakaiNodeRef; our $VERSION = 20051012.1446; push our @ISA, 'Message::Util::IF::NodeRef'; sub free ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #338)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #336)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #328)" $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #329)" 'node' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #331)" }-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #332)" _destroy #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #334)" ; #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #335)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #337)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #339)" } } sub DESTROY ($) { my ($self) = @_; { #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #366)" #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #364)" if #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #341)" (my $node = $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #342)" 'node' #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #344)" }) { CORE::delete $self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #345)" 'node' #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #347)" }; unless ($self->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #348)" 'w' #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #350)" }) { $node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #351)" 'rc' #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #353)" }--; ${$node->{ #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #354)" 'grc' #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #356)" }}--; unless ( #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #357)" (${$node->{'grc'}} > 0) #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #359)" ) { $node-> #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #360)" _destroy #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=DISLang|Interface][@type=DISLang|Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #362)" ; } } } 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 #363)" #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #365)" #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #367)" } } *_destroy = \&DESTROY; $Message::DOM::ClassFeature{q} = {}; $Message::DOM::ClassPoint{q} = 0; $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{q} = {}; package Message::Util::IF::NodeRef; our $VERSION = 20051012.1446; ## License: 1;