/[suikacvs]/messaging/manakai/lib/Message/Util/ManakaiNode.pm
Suika

Contents of /messaging/manakai/lib/Message/Util/ManakaiNode.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.20 - (hide annotations) (download)
Sat Oct 15 15:28:11 2005 UTC (19 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.19: +6 -6 lines
++ manakai/lib/Message/Util/ChangeLog	15 Oct 2005 14:07:35 -0000
2005-10-14  Wakaba  <wakaba@suika.fam.cx>

	* ManakaiNode.dis (anydata0): New property type.

	* PerlCode.dis (stringify): Prints node id if file name
	is not available.
	(perlLiteral): Prints as is if the value is blessed
	with "manakai::code" package.

++ manakai/lib/Message/Util/DIS/ChangeLog	15 Oct 2005 14:23:34 -0000
2005-10-15  Wakaba  <wakaba@suika.fam.cx>

	* Perl.dis (plCodeFragment): Output processor ("DISLang:OutputProcessor")
	supported for methods.  "idl:void" type supported.

2005-10-14  Wakaba  <wakaba@suika.fam.cx>

	* Perl.dis (plGeneratePerlModule): Don't generate information
	on anydata* and irefnode0 properties since they are not used in fact.
	(plGeneratePerlModule, plCodeFragment): The
	"DOMCore:DOMConfigurationParameter" type supported.

++ manakai/lib/Message/DOM/ChangeLog	15 Oct 2005 14:05:32 -0000
2005-10-15  Wakaba  <wakaba@suika.fam.cx>

	* DOMCore.dis (Require): References "DOMLS.dis" module.
	(CParam): Definitions for LS module added.

	* DOMLS.dis (ManakaiDOMLSInput): The input processor
	is also an output processor now.
	(ManakaiDOMLSResourceResolver): Implemented.
	(CParam): Definitions updated.

2005-10-14  Wakaba  <wakaba@suika.fam.cx>

	* DOMCore.dis (NOT_RECOGNIZED_CONFIG_PARAM_ERR,
	NOT_SUPPORTED_CONFIG_VALUE_ERR,
	INCOMPATIBLE_CONFIG_VALUE_ERR): New error subcodes.
	(DOMConfiguration): Implemented.
	(CParam): Definitions updated.

	* DOMMain.dis (DOMURIs): New data type.

++ manakai/lib/manakai/ChangeLog	15 Oct 2005 14:10:15 -0000
2005-10-15  Wakaba  <wakaba@suika.fam.cx>

	* DISLang.dis (DISLang:OutputProcessor): New type.

1 wakaba 1.1 #!/usr/bin/perl
2     ## This file is automatically generated
3 wakaba 1.20 ## at 2005-10-12T15:08:01+00:00,
4 wakaba 1.1 ## from file "lib/Message/Util/ManakaiNode.dis",
5     ## module <http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/ManakaiNode>,
6     ## for <http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#Perl>.
7     ## Don't edit by hand!
8     use strict;
9     package Message::Util::ManakaiNode;
10 wakaba 1.20 our $VERSION = 20051012.1508;
11 wakaba 1.19 package Message::Util::IF::NodeStem;
12 wakaba 1.20 our $VERSION = 20051012.1508;
13 wakaba 1.19 package Message::Util::ManakaiNode::ManakaiNodeStem;
14 wakaba 1.20 our $VERSION = 20051012.1508;
15 wakaba 1.1 push our @ISA, 'Message::Util::IF::NodeStem';
16 wakaba 1.19 sub _new ($$) {
17     my ($self, $className) = @_;
18     my $r;
19 wakaba 1.17
20     {
21 wakaba 1.19 #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)"
22 wakaba 1.17
23 wakaba 1.19 #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)"
24     my
25     #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)"
26     $grc = 0;
27     $r = bless {
28    
29     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #3)"
30     't'
31     #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)"
32     => $className,
33    
34 wakaba 1.17 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #6)"
35 wakaba 1.19 'grc'
36     #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)"
37     => \$grc,
38    
39     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #9)"
40     'rc'
41     #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)"
42     => 0,
43    
44 wakaba 1.17 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #12)"
45     'tid'
46 wakaba 1.19 #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)"
47     => \ (
48     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #15)"
49     (
50     'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .
51     ($Message::Util::ManakaiNode::UniqueIDR ||=
52     [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
53     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
54     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
55     [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
56     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
57     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
58     [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
59     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
60     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
61     [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
62     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
63     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
64     [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
65     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
66     0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .
67     (++$Message::Util::ManakaiNode::UniqueIDN)
68 wakaba 1.17 )
69 wakaba 1.19 #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)"
70     ),
71    
72 wakaba 1.17 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #18)"
73 wakaba 1.19 'nid'
74     #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)"
75     =>
76     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #21)"
77     (
78     'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .
79     ($Message::Util::ManakaiNode::UniqueIDR ||=
80     [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
81     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
82     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
83     [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
84     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
85     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
86     [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
87     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
88     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
89     [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
90     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
91     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
92     [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
93     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
94     0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .
95     (++$Message::Util::ManakaiNode::UniqueIDN)
96     )
97     #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)"
98     ,
99     }, ref $self || $self;
100 wakaba 1.17 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #24)"
101    
102 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #26)"
103 wakaba 1.17
104 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #28)"
105 wakaba 1.17 }
106 wakaba 1.19 $r}
107     sub _new_node ($$) {
108     my ($self, $className) = @_;
109     my $r;
110 wakaba 1.17
111     {
112 wakaba 1.19 #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)"
113 wakaba 1.17
114 wakaba 1.19 #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)"
115    
116     #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)"
117     $r = bless {
118    
119     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #31)"
120     't'
121     #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)"
122     => $className,
123    
124 wakaba 1.17 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #34)"
125 wakaba 1.19 'grc'
126     #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)"
127    
128     => $self->{
129     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #37)"
130     'grc'
131     #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)"
132     },
133    
134 wakaba 1.17 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #40)"
135 wakaba 1.19 'rc'
136     #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)"
137     => 0,
138    
139     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #43)"
140     'tid'
141     #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)"
142     => $self->{
143 wakaba 1.17 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #46)"
144 wakaba 1.19 'tid'
145     #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)"
146     },
147    
148     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #49)"
149 wakaba 1.17 'nid'
150 wakaba 1.19 #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)"
151     =>
152     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #52)"
153     (
154     'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .
155     ($Message::Util::ManakaiNode::UniqueIDR ||=
156     [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
157     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
158     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
159     [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
160     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
161     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
162     [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
163     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
164     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
165     [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
166     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
167     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
168     [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
169     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
170     0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .
171     (++$Message::Util::ManakaiNode::UniqueIDN)
172 wakaba 1.1 )
173 wakaba 1.19 #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)"
174     ,
175     }, ref $self;
176     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #55)"
177 wakaba 1.1
178 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #57)"
179 wakaba 1.1
180 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #59)"
181 wakaba 1.1 }
182 wakaba 1.19 $r}
183 wakaba 1.1 sub _is_externally_referred ($) {
184     my ($self) = @_;
185     my $r;
186    
187     {
188 wakaba 1.19 #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)"
189 wakaba 1.1
190 wakaba 1.19 #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)"
191 wakaba 1.1 if
192 wakaba 1.19 #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)"
193 wakaba 1.1 ($self->{
194 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #62)"
195 wakaba 1.1 'rc'
196 wakaba 1.19 #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)"
197 wakaba 1.1 }) {
198     $r =
199 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #65)"
200 wakaba 1.1 1
201 wakaba 1.19 #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)"
202 wakaba 1.1 ;
203     } else {
204     my @node = ($self);
205     my %checked;
206 wakaba 1.11 NODES: while (@node) {
207     my $node = shift @node;
208 wakaba 1.19 next NODES unless ref $node;
209 wakaba 1.1 if ($node->{
210 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #68)"
211 wakaba 1.1 'rc'
212 wakaba 1.19 #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)"
213 wakaba 1.1 }) {
214     $r =
215 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #71)"
216 wakaba 1.1 1
217 wakaba 1.19 #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)"
218 wakaba 1.1 ;
219     last NODES;
220     } elsif ($checked{$node->{
221 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #74)"
222 wakaba 1.4 'nid'
223 wakaba 1.19 #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)"
224 wakaba 1.1 }}) {
225     next NODES;
226     }
227     my @n;
228 wakaba 1.19 my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{
229     $node->{
230     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #77)"
231     't'
232     #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)"
233     }
234     };
235     for my $p (@{$nt->{
236     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #80)"
237     's2'
238     #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)"
239 wakaba 1.1 }}) {
240     if (ref $node->{$p} eq 'ARRAY') {
241     push @n, @{$node->{$p}};
242     } elsif (ref $node->{$p} eq 'HASH') {
243     push @n, values %{$node->{$p}};
244     }
245     }
246     for my $p (@n,
247 wakaba 1.19 map {$node->{$_}} @{$nt->{
248     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #83)"
249     's'
250     #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)"
251 wakaba 1.1 }}) {
252     if (ref $p eq 'ARRAY') {
253     push @node, @$p;
254     } elsif (ref $p eq 'HASH') {
255     push @node, values %$p;
256     }
257     }
258 wakaba 1.19 for my $p (@{$nt->{
259     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #86)"
260     'o'
261     #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)"
262 wakaba 1.1 }}) {
263     unshift @node, $node->{$p} if $node->{$p};
264     ## NOTE: Puts the top of the list,
265     ## since upper-level nodes are expected to be referred
266     ## more than lower-levels.
267     }
268 wakaba 1.19 for my $p (@{$nt->{
269     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #89)"
270     's0'
271     #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)"
272 wakaba 1.1 }}) {
273     push @node, $node->{$p} if $node->{$p};
274     }
275     $checked{$node->{
276 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #92)"
277 wakaba 1.4 'nid'
278 wakaba 1.19 #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)"
279 wakaba 1.4 }} =
280 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #95)"
281 wakaba 1.4 1
282 wakaba 1.19 #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)"
283 wakaba 1.4 ;
284 wakaba 1.1 }
285     }
286 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #98)"
287 wakaba 1.1
288 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #100)"
289 wakaba 1.1
290 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #102)"
291 wakaba 1.1 }
292 wakaba 1.17 $r}
293     sub _destroy ($) {
294     my ($self) = @_;
295 wakaba 1.1
296     {
297 wakaba 1.19 #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)"
298 wakaba 1.1
299 wakaba 1.19 #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)"
300 wakaba 1.11 my
301 wakaba 1.19 #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)"
302 wakaba 1.17 @node = ($self);
303 wakaba 1.18 my $tid = $self->{
304 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #105)"
305 wakaba 1.18 'tid'
306 wakaba 1.19 #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)"
307 wakaba 1.18 };
308     my %xrnode;
309 wakaba 1.17 NODES: while (@node) {
310     my $node = shift @node;
311     next NODES unless ref $node and defined $node->{
312 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #108)"
313 wakaba 1.17 'nid'
314 wakaba 1.19 #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)"
315 wakaba 1.17 };
316     my @n;
317     my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{
318     $node->{
319 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #111)"
320 wakaba 1.17 't'
321 wakaba 1.19 #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)"
322 wakaba 1.17 }
323     };
324     for my $p (@{$nt->{
325 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #114)"
326 wakaba 1.17 's2'
327 wakaba 1.19 #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)"
328 wakaba 1.17 }||[]}) {
329 wakaba 1.19 my $ref = ref $node->{$p};
330     if ($ref eq 'HASH') {
331     push @n, values %{$node->{$p}};
332     } elsif ($ref eq 'ARRAY') {
333 wakaba 1.17 push @n, @{$node->{$p}};
334     }
335     }
336 wakaba 1.19 for my $p (@n, map {$node->{$_}} @{$nt->{
337     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #117)"
338 wakaba 1.17 's'
339 wakaba 1.19 #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)"
340 wakaba 1.17 }||[]}) {
341 wakaba 1.19 my $ref = ref $p;
342     if ($ref eq 'ARRAY') {
343 wakaba 1.17 push @node, @$p;
344 wakaba 1.19 } elsif ($ref eq 'HASH') {
345 wakaba 1.17 push @node, values %$p;
346     }
347     }
348     for my $p (@{$nt->{
349 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #120)"
350 wakaba 1.17 'o'
351 wakaba 1.19 #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)"
352 wakaba 1.17 }||[]},
353     @{$nt->{
354 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #123)"
355 wakaba 1.17 's0'
356 wakaba 1.19 #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)"
357 wakaba 1.17 }||[]}) {
358     push @node, $node->{$p};
359     }
360 wakaba 1.18
361     for my $p (@{$nt->{
362 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #126)"
363 wakaba 1.18 'x'
364 wakaba 1.19 #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)"
365 wakaba 1.18 }||[]}) {
366     if (defined $node->{$p} and
367     ${$node->{$p}->{
368 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #129)"
369 wakaba 1.18 'tid'
370 wakaba 1.19 #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)"
371 wakaba 1.18 }||$tid} ne $$tid) {
372     $node->{$p}->{
373 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #132)"
374 wakaba 1.18 'rc'
375 wakaba 1.19 #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)"
376 wakaba 1.18 }--;
377     ${$node->{$p}->{
378 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #135)"
379 wakaba 1.18 'grc'
380 wakaba 1.19 #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)"
381 wakaba 1.18 }}--;
382     $xrnode{${$node->{$p}->{
383 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #138)"
384 wakaba 1.18 'tid'
385 wakaba 1.19 #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)"
386 wakaba 1.18 }}} = $node->{$p};
387     }
388     }
389    
390 wakaba 1.17 %$node = ();
391 wakaba 1.18 } # @node
392    
393     CORE::delete $xrnode{$$tid};
394     for my $node (values %xrnode) {
395     unless (
396 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #141)"
397 wakaba 1.18 (${$node->{'grc'}} > 0)
398 wakaba 1.19 #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)"
399 wakaba 1.18 ) {
400     $node->
401 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #144)"
402 wakaba 1.18 _destroy
403 wakaba 1.19 #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)"
404 wakaba 1.18 ;
405     }
406 wakaba 1.17 }
407 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #147)"
408 wakaba 1.1
409 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #149)"
410 wakaba 1.1
411 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #151)"
412 wakaba 1.17 }
413 wakaba 1.1 }
414 wakaba 1.17 sub _import_tree ($$) {
415     my ($self, $node) = @_;
416 wakaba 1.1
417     {
418 wakaba 1.19 #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)"
419 wakaba 1.1
420 wakaba 1.19 #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)"
421 wakaba 1.17 my
422 wakaba 1.19 #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)"
423 wakaba 1.17 @node = ($node);
424     my $newgrc = $self->{
425 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #154)"
426 wakaba 1.17 'grc'
427 wakaba 1.19 #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)"
428 wakaba 1.17 };
429     my $newtid = $self->{
430 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #157)"
431 wakaba 1.18 'tid'
432 wakaba 1.19 #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)"
433 wakaba 1.18 };
434     my $oldtid = $node->{
435 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #160)"
436 wakaba 1.17 'tid'
437 wakaba 1.19 #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)"
438 wakaba 1.17 };
439 wakaba 1.18 my @xrnode;
440 wakaba 1.17 NODES: while (@node) {
441     my $node = shift @node;
442     next NODES unless ref $node;
443     next NODES if ${$node->{
444 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #163)"
445 wakaba 1.17 'tid'
446 wakaba 1.19 #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)"
447 wakaba 1.17 }} eq $$newtid;
448     my @n;
449     my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{
450     $node->{
451 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #166)"
452 wakaba 1.17 't'
453 wakaba 1.19 #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)"
454 wakaba 1.17 }
455     };
456     for my $p (@{$nt->{
457 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #169)"
458 wakaba 1.17 's2'
459 wakaba 1.19 #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)"
460 wakaba 1.17 }||[]}) {
461 wakaba 1.19 my $ref = ref $node->{$p};
462     if ($ref eq 'HASH') {
463     push @n, values %{$node->{$p}};
464     } elsif ($ref eq 'ARRAY') {
465 wakaba 1.17 push @n, @{$node->{$p}};
466     }
467     }
468 wakaba 1.19 for my $p (@n, map {$node->{$_}} @{$nt->{
469     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #172)"
470 wakaba 1.17 's'
471 wakaba 1.19 #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)"
472 wakaba 1.17 }||[]}) {
473 wakaba 1.19 my $ref = ref $p;
474     if ($ref eq 'ARRAY') {
475 wakaba 1.17 push @node, @$p;
476 wakaba 1.19 } elsif ($ref eq 'HASH') {
477 wakaba 1.17 push @node, values %$p;
478     }
479     }
480     for my $p (@{$nt->{
481 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #175)"
482 wakaba 1.17 'o'
483 wakaba 1.19 #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)"
484 wakaba 1.17 }||[]},
485     @{$nt->{
486 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #178)"
487 wakaba 1.17 's0'
488 wakaba 1.19 #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)"
489 wakaba 1.17 }||[]}) {
490 wakaba 1.19 push @node, $node->{$p} if defined $node->{$p};
491 wakaba 1.17 }
492    
493 wakaba 1.18 for (@{$nt->{
494 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #181)"
495 wakaba 1.18 'x'
496 wakaba 1.19 #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)"
497 wakaba 1.18 }||[]}) {
498     push @xrnode, $node->{$_} if defined $node->{$_};
499     }
500    
501 wakaba 1.17 ${$node->{
502 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #184)"
503 wakaba 1.17 'grc'
504 wakaba 1.19 #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)"
505 wakaba 1.17 }} -= $node->{
506 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #187)"
507 wakaba 1.17 'rc'
508 wakaba 1.19 #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)"
509 wakaba 1.17 };
510     $node->{
511 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #190)"
512 wakaba 1.17 'tid'
513 wakaba 1.19 #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)"
514 wakaba 1.17 } = $newtid;
515     $node->{
516 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #193)"
517 wakaba 1.17 'grc'
518 wakaba 1.19 #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)"
519 wakaba 1.17 } = $newgrc;
520 wakaba 1.19 $$newgrc += $node->{
521     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #196)"
522 wakaba 1.17 'rc'
523 wakaba 1.19 #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)"
524 wakaba 1.17 };
525 wakaba 1.1 }
526    
527 wakaba 1.18 for my $n (@xrnode) {
528     if (${$n->{
529 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #199)"
530 wakaba 1.18 'tid'
531 wakaba 1.19 #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)"
532 wakaba 1.18 }} eq $$oldtid) {
533     $n->{
534 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #202)"
535 wakaba 1.18 'rc'
536 wakaba 1.19 #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)"
537 wakaba 1.18 }++;
538     ${$n->{
539 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #205)"
540 wakaba 1.18 'grc'
541 wakaba 1.19 #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)"
542 wakaba 1.18 }}++;
543     } elsif (${$n->{
544 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #208)"
545 wakaba 1.18 'tid'
546 wakaba 1.19 #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)"
547 wakaba 1.18 }} eq $$newtid) {
548     $n->{
549 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #211)"
550 wakaba 1.18 'rc'
551 wakaba 1.19 #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)"
552 wakaba 1.18 }--;
553     ${$n->{
554 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #214)"
555 wakaba 1.18 'grc'
556 wakaba 1.19 #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)"
557 wakaba 1.18 }}--;
558     ## Is it necessary to test whether rc is 0 or not
559     ## and if so call "destroy" method? Maybe it need not
560     ## (or should not, rather).
561     }
562     }
563 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #217)"
564 wakaba 1.18
565 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #219)"
566 wakaba 1.1
567 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #221)"
568 wakaba 1.1 }
569     }
570 wakaba 1.19 sub _change_tree_id ($$$) {
571     my ($self, $treeID, $groveRC) = @_;
572 wakaba 1.1
573     {
574 wakaba 1.19 #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)"
575 wakaba 1.1
576 wakaba 1.19 #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)"
577     my
578     #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)"
579     $tid = ref $treeID ? $treeID : \$treeID;
580     my $oldtid = $self->{
581     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #224)"
582     'tid'
583     #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)"
584     };
585     my @xrnode;
586     my @node = ($self);
587     NODES: while (@node) {
588     my $node = shift @node;
589     next NODES unless ref $node;
590     next NODES if ${$node->{
591     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #227)"
592     'tid'
593     #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)"
594     }} eq $$tid;
595 wakaba 1.1 my @n;
596 wakaba 1.8 my $nt = $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{
597     $node->{
598 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #230)"
599 wakaba 1.8 't'
600 wakaba 1.19 #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)"
601 wakaba 1.8 }
602     };
603     for my $p (@{$nt->{
604 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #233)"
605 wakaba 1.8 's2'
606 wakaba 1.19 #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)"
607     }||[]}) {
608 wakaba 1.1 if (ref $node->{$p} eq 'ARRAY') {
609     push @n, @{$node->{$p}};
610     } elsif (ref $node->{$p} eq 'HASH') {
611     push @n, values %{$node->{$p}};
612     }
613     }
614     for my $p (@n,
615 wakaba 1.8 map {$node->{$_}} @{$nt->{
616 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #236)"
617 wakaba 1.8 's'
618 wakaba 1.19 #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)"
619     }||[]}) {
620 wakaba 1.1 if (ref $p eq 'ARRAY') {
621     push @node, @$p;
622     } elsif (ref $p eq 'HASH') {
623     push @node, values %$p;
624     }
625     }
626 wakaba 1.19 for my $p (@{$nt->{
627     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #239)"
628 wakaba 1.8 'o'
629 wakaba 1.19 #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)"
630     }||[]},
631     @{$nt->{
632     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #242)"
633 wakaba 1.8 's0'
634 wakaba 1.19 #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)"
635     }||[]}) {
636     push @node, $node->{$p};
637     }
638    
639     for (@{$nt->{
640     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #245)"
641     'x'
642     #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)"
643     }||[]}) {
644     push @xrnode, $node->{$_} if defined $node->{$_};
645     }
646    
647     ${$node->{
648     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #248)"
649     'grc'
650     #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)"
651     }} -= $node->{
652     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #251)"
653     'rc'
654     #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)"
655     };
656     $node->{
657     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #254)"
658     'tid'
659     #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)"
660     } = $tid;
661     $node->{
662     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #257)"
663     'grc'
664     #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)"
665     } = $groveRC;
666     ${$node->{
667     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #260)"
668     'grc'
669     #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)"
670     }} += $node->{
671     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #263)"
672     'rc'
673     #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)"
674     };
675     }
676    
677     for my $n (@xrnode) {
678     if (${$n->{
679     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #266)"
680     'tid'
681     #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)"
682     }} eq $$oldtid) {
683     $n->{
684     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #269)"
685     'rc'
686     #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)"
687     }++;
688     ${$n->{
689     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #272)"
690     'grc'
691     #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)"
692     }}++;
693     } elsif (${$n->{
694     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #275)"
695     'tid'
696     #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)"
697     }} eq $$tid) {
698     $n->{
699     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #278)"
700     'rc'
701     #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)"
702     }--;
703     ${$n->{
704     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #281)"
705     'grc'
706     #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)"
707     }}--;
708     ## Is it necessary to test whether rc is 0 or not
709     ## and if so call "destroy" method? Maybe it need not
710     ## (or should not, rather).
711 wakaba 1.1 }
712     }
713 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #284)"
714 wakaba 1.1
715 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #286)"
716 wakaba 1.1
717 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #288)"
718     }
719 wakaba 1.1 }
720     sub _is_same_node ($$) {
721     my ($self, $node) = @_;
722     my $r;
723    
724     {
725 wakaba 1.19 #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)"
726 wakaba 1.1
727 wakaba 1.19 #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)"
728 wakaba 1.1 if
729 wakaba 1.19 #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)"
730 wakaba 1.1 (ref $node and
731     UNIVERSAL::isa ($node,
732 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #291)"
733 wakaba 1.8 'Message::Util::ManakaiNode::ManakaiNodeStem'
734 wakaba 1.19 #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)"
735 wakaba 1.1 ) and
736     $node->{
737 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #294)"
738 wakaba 1.4 'nid'
739 wakaba 1.19 #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)"
740 wakaba 1.1 } eq $self->{
741 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #297)"
742 wakaba 1.4 'nid'
743 wakaba 1.19 #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)"
744 wakaba 1.1 }) {
745     $r =
746 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #300)"
747 wakaba 1.1 1
748 wakaba 1.19 #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)"
749 wakaba 1.1 ;
750     }
751 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #303)"
752 wakaba 1.11
753 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #305)"
754 wakaba 1.17
755 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #307)"
756 wakaba 1.17 }
757     $r}
758     sub _orphanate ($) {
759     my ($self) = @_;
760    
761     {
762 wakaba 1.19 #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)"
763 wakaba 1.17
764 wakaba 1.19 #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)"
765 wakaba 1.17 if
766 wakaba 1.19 #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)"
767 wakaba 1.17 ($self->
768 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #310)"
769 wakaba 1.17 _is_externally_referred
770 wakaba 1.19 #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)"
771 wakaba 1.17 ) {
772     my $grc = 0;
773     $self->
774 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #313)"
775 wakaba 1.17 _change_tree_id
776 wakaba 1.19 #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)"
777 wakaba 1.17
778     (\(
779 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #316)"
780 wakaba 1.17 (
781 wakaba 1.19 'tag:suika.fam.cx,2005-09:' . time . ':' . $$ . ':' .
782     ($Message::Util::ManakaiNode::UniqueIDR ||=
783     [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
784     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
785     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
786     [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
787     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
788     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
789     [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
790     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
791     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
792     [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
793     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
794     0 1 2 3 4 5 6 7 8 9/]->[rand 62] .
795     [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
796     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
797     0 1 2 3 4 5 6 7 8 9/]->[rand 62]) .
798     (++$Message::Util::ManakaiNode::UniqueIDN)
799 wakaba 1.17 )
800 wakaba 1.19 #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)"
801 wakaba 1.17 ), \$grc);
802     } else {
803     $self->
804 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #319)"
805 wakaba 1.17 _destroy
806 wakaba 1.19 #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)"
807 wakaba 1.17 ;
808 wakaba 1.1 }
809 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #322)"
810 wakaba 1.1
811 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #324)"
812 wakaba 1.1
813 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #326)"
814 wakaba 1.1 }
815     }
816 wakaba 1.19 use overload
817     bool => sub () {1},
818     'eq' => '_is_same_node',
819     fallback => 1;
820 wakaba 1.1 $Message::DOM::ClassFeature{q<Message::Util::ManakaiNode::ManakaiNodeStem>} = {};
821     $Message::DOM::ClassPoint{q<Message::Util::ManakaiNode::ManakaiNodeStem>} = 0;
822 wakaba 1.19 package Message::Util::ManakaiNode::ManakaiNodeRef;
823 wakaba 1.20 our $VERSION = 20051012.1508;
824 wakaba 1.1 push our @ISA, 'Message::Util::IF::NodeRef';
825 wakaba 1.19 sub free ($) {
826 wakaba 1.1 my ($self) = @_;
827    
828     {
829 wakaba 1.19 #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)"
830 wakaba 1.1
831 wakaba 1.19 #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)"
832    
833     #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)"
834     $self->{
835     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #329)"
836 wakaba 1.1 'node'
837 wakaba 1.19 #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)"
838     }->
839     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #332)"
840 wakaba 1.1 _destroy
841 wakaba 1.19 #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)"
842 wakaba 1.1 ;
843 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #335)"
844 wakaba 1.1
845 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #337)"
846 wakaba 1.1
847 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #339)"
848 wakaba 1.1 }
849     }
850 wakaba 1.19 sub DESTROY ($) {
851 wakaba 1.1 my ($self) = @_;
852    
853     {
854 wakaba 1.19 #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)"
855 wakaba 1.1
856 wakaba 1.19 #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)"
857     if
858     #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)"
859     (my $node = $self->{
860     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #342)"
861 wakaba 1.1 'node'
862 wakaba 1.19 #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)"
863     }) {
864 wakaba 1.1 CORE::delete $self->{
865 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #345)"
866 wakaba 1.1 'node'
867 wakaba 1.19 #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)"
868 wakaba 1.1 };
869     unless ($self->{
870 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #348)"
871 wakaba 1.4 'w'
872 wakaba 1.19 #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)"
873 wakaba 1.1 }) {
874     $node->{
875 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #351)"
876 wakaba 1.1 'rc'
877 wakaba 1.19 #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)"
878 wakaba 1.1 }--;
879 wakaba 1.11 ${$node->{
880 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #354)"
881 wakaba 1.11 'grc'
882 wakaba 1.19 #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)"
883 wakaba 1.11 }}--;
884     unless (
885 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #357)"
886 wakaba 1.11 (${$node->{'grc'}} > 0)
887 wakaba 1.19 #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)"
888 wakaba 1.1 ) {
889     $node->
890 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #360)"
891 wakaba 1.1 _destroy
892 wakaba 1.19 #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)"
893 wakaba 1.1 ;
894     }
895     }
896     } else {
897     warn ref ($self) . q{->DESTROY: there is no associated }.
898     q{node object - you have a global variable or }.
899     qq{potential memory-leak detected\n};
900     }
901 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #363)"
902 wakaba 1.1
903 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #365)"
904 wakaba 1.1
905 wakaba 1.19 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #367)"
906 wakaba 1.1 }
907     }
908 wakaba 1.19 *_destroy = \&DESTROY;
909 wakaba 1.1 $Message::DOM::ClassFeature{q<Message::Util::ManakaiNode::ManakaiNodeRef>} = {};
910     $Message::DOM::ClassPoint{q<Message::Util::ManakaiNode::ManakaiNodeRef>} = 0;
911 wakaba 1.7 $Message::Util::ManakaiNode::ManakaiNodeRef::Prop{q<Message::Util::ManakaiNode::ManakaiNodeRef>} = {};
912 wakaba 1.16 package Message::Util::IF::NodeRef;
913 wakaba 1.20 our $VERSION = 20051012.1508;
914 wakaba 1.1 ## License: <http://suika.fam.cx/~wakaba/archive/2004/8/18/license#Perl+MPL>
915     1;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24