/[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.4 - (hide annotations) (download)
Sat Sep 24 11:57:26 2005 UTC (19 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.3: +390 -386 lines
++ manakai/bin/ChangeLog	24 Sep 2005 10:49:30 -0000
	(dac_load_module_file): Allow "|" as qname prefix separator.
++ manakai/lib/Message/Markup/ChangeLog	24 Sep 2005 11:11:32 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* SuikaWikiConfig21.dis: Use "disPerl:H" instead
	of "disPerl:Q" for hash keys.
	(expandQName): Removed the "g" option from the "s///",
	which was very serious and difficult bug.

++ manakai/lib/Message/Util/ChangeLog	24 Sep 2005 11:01:40 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* ManakaiNode.dis (mn:node, mn:nodeID, mn:treeID): New
	properties.
	(mn:stemName, mn:refName): New properties.

	* Makefile (.discore-all.pm): New rule to create dis-related
	Perl module files at once.

	* DIS.dis (PERL_HASH_KEY_ALREADY_DEFINED_ERR): New error code.
	(hashKeyName, hashKeyScope, anotherURI): New error parameters.

	* ManakaiNode.dis, DIS.dis, PerlCode.dis: Use "disPerl:H" instead
	of "disPerl:Q" for hash keys.

++ manakai/lib/Message/Util/Error/ChangeLog	24 Sep 2005 10:58:31 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* ManakaiNode.dis: Use "disPerl:H" instead
	of "disPerl:Q" for hash keys.

++ manakai/lib/Message/Util/DIS/ChangeLog	24 Sep 2005 11:06:19 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* Perl.dis (plCodeFragment): Takes hash key name
	from the database for "mn:node" and "DOMCore:read-only",
	where they were hardcoded.  For GetProp and SetProp
	dis tree element instructions, hash key name
	is shorten if shorter version is defined by "DISPerl:propHashKey"
	property of the corresponding resource in the database.
	(plAddHashKey): New method to check hash key name dupulication.
	(dp:plHashKey): New property.

	* Perl.dis, DNLite.dis, DISDoc.dis, DISDump.dis:
	Use "disPerl:H" instead of "disPerl:Q" for hash keys.

++ manakai/lib/Message/DOM/ChangeLog	24 Sep 2005 10:55:11 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* DOMMain.dis (MDOM:): Reintroduced for "ManakaiDOM:ManakaiDOM1"
	and "ManakaiDOM:ManakaiDOM2".

	* DOMFeature.dis, DOMMain.dis, DOMCore.dis, DOMXML.dis,
	DOMLS.dis, SimpleLS.dis, GenericLS.dis: Use disPerl:H
	instead of disPerl:Q for internal property hash keys.

	* DOMFeature.dis, DOMCore.dis, DOMXML.dis: Missing property
	definitions added.

	* DOMCore.dis (DOMCore:TextNode, DOMCore:DocumentFragmentNode):
	New resources.

	* DOMXML.dis (DOMXML:EntityNode, DOMXML:EntityReferenceNode): New
	resources.

++ manakai/lib/manakai/ChangeLog	24 Sep 2005 11:08:14 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* XML.dis: The "DISPerl:propHashKey" property
	added to properties.  Now the module depends on the DISPerl
	module.

	* DISPerl.dis (DISPerl:propHashKey): New property.

1 wakaba 1.1 #!/usr/bin/perl
2     ## This file is automatically generated
3 wakaba 1.4 ## at 2005-09-24T11:10:52+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.4 our $VERSION = 20050924.1110;
11 wakaba 1.1 package Message::Util::ManakaiNode::ManakaiDOMNodeObject;
12 wakaba 1.4 our $VERSION = 20050924.1110;
13 wakaba 1.1 push our @ISA, 'Message::Util::IF::NodeStem';
14     sub _import_tree ($$) {
15     my ($self, $node) = @_;
16    
17     {
18 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #39)"
19 wakaba 1.1
20 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #37)"
21 wakaba 1.1 unless
22 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #1)"
23 wakaba 1.1 ($node->{
24     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #2)"
25 wakaba 1.4 'tid'
26     #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #3)"
27 wakaba 1.1 } eq
28     $self->{
29     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #4)"
30 wakaba 1.4 'tid'
31     #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #5)"
32 wakaba 1.1 }) {
33     my @node = ($node);
34 wakaba 1.2 NODES: while (defined (my $node = shift @node)) {
35 wakaba 1.1 next unless UNIVERSAL::isa ($node,
36    
37     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #6)"
38     'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
39 wakaba 1.4 #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #7)"
40 wakaba 1.1 );
41     my @n;
42     for my $p (@{$node->{
43     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #8)"
44     'subnode2'
45 wakaba 1.4 #line 8 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #9)"
46 wakaba 1.1 }}) {
47     if (ref $node->{$p} eq 'ARRAY') {
48     push @n, @{$node->{$p}};
49     } elsif (ref $node->{$p} eq 'HASH') {
50     push @n, values %{$node->{$p}};
51     }
52     }
53     for my $p (@n,
54     map {$node->{$_}} @{$node->{
55     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #10)"
56     'subnode'
57 wakaba 1.4 #line 16 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #11)"
58 wakaba 1.1 }}) {
59     if (ref $p eq 'ARRAY') {
60     push @node, grep {UNIVERSAL::isa ($_,
61    
62     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #12)"
63     'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
64 wakaba 1.4 #line 19 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #13)"
65 wakaba 1.1 )
66     and $_->{
67     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #14)"
68 wakaba 1.4 'tid'
69     #line 20 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #15)"
70 wakaba 1.1 } ne
71     $self->{
72     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #16)"
73 wakaba 1.4 'tid'
74     #line 21 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #17)"
75 wakaba 1.1 }} @$p;
76     } elsif (ref $p eq 'HASH') {
77     push @node, grep {UNIVERSAL::isa ($_,
78    
79     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #18)"
80     'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
81 wakaba 1.4 #line 24 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #19)"
82 wakaba 1.1 )
83     and $_->{
84     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #20)"
85 wakaba 1.4 'tid'
86     #line 25 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #21)"
87 wakaba 1.1 } ne
88     $self->{
89     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #22)"
90 wakaba 1.4 'tid'
91     #line 26 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #23)"
92 wakaba 1.1 }}
93     values %$p;
94     }
95     }
96     for my $p (@{$node->{
97     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #24)"
98     'origin'
99 wakaba 1.4 #line 30 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #25)"
100 wakaba 1.1 }},
101     @{$node->{
102     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #26)"
103     'subnode0'
104 wakaba 1.4 #line 31 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #27)"
105 wakaba 1.1 }}) {
106     push @node, $node->{$p}
107     if defined $node->{$p} and
108     $node->{$p}->{
109     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #28)"
110 wakaba 1.4 'tid'
111     #line 34 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #29)"
112 wakaba 1.1 } ne
113     $self->{
114     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #30)"
115 wakaba 1.4 'tid'
116     #line 35 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #31)"
117 wakaba 1.1 };
118     }
119     $node->{
120     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #32)"
121 wakaba 1.4 'tid'
122     #line 37 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #33)"
123 wakaba 1.1 } = $self->{
124     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #34)"
125 wakaba 1.4 'tid'
126     #line 37 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #35)"
127 wakaba 1.1 };
128     }
129     }
130     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #36)"
131    
132     #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #38)"
133    
134     #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #40)"
135     }
136     }
137     sub _orphanate ($) {
138     my ($self) = @_;
139    
140     {
141 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #53)"
142 wakaba 1.1
143 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #51)"
144 wakaba 1.1 if
145 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #41)"
146 wakaba 1.1 ($self->
147     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #42)"
148     _is_externally_referred
149 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #43)"
150 wakaba 1.1 ) {
151     $self->
152     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #44)"
153     _change_tree_id
154 wakaba 1.4 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #45)"
155 wakaba 1.1
156     (
157     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #46)"
158     (
159     sprintf 'mid:%d.%d.%s.dom.manakai@suika.fam.cx#',
160     time, $$,
161     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
162     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
163     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
164     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
165     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62]
166     )
167 wakaba 1.4 #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #47)"
168 wakaba 1.1 );
169     } else {
170     $self->
171     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #48)"
172     _destroy
173 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #49)"
174 wakaba 1.1 ;
175     }
176     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #50)"
177    
178     #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #52)"
179    
180     #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #54)"
181     }
182     }
183     sub _is_externally_referred ($) {
184     my ($self) = @_;
185     my $r;
186    
187     {
188 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #83)"
189 wakaba 1.1
190 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #81)"
191 wakaba 1.1 if
192 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #55)"
193 wakaba 1.1 ($self->{
194     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #56)"
195     'rc'
196 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #57)"
197 wakaba 1.1 }) {
198     $r =
199     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #58)"
200     1
201 wakaba 1.4 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #59)"
202 wakaba 1.1 ;
203     } else {
204     my @node = ($self);
205     my %checked;
206 wakaba 1.2 NODES: while (defined (my $node = shift @node)) {
207 wakaba 1.1 next unless UNIVERSAL::isa ($node,
208    
209     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #60)"
210     'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
211 wakaba 1.4 #line 8 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #61)"
212 wakaba 1.1 );
213     if ($node->{
214     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #62)"
215     'rc'
216 wakaba 1.4 #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #63)"
217 wakaba 1.1 }) {
218     $r =
219     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #64)"
220     1
221 wakaba 1.4 #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #65)"
222 wakaba 1.1 ;
223     last NODES;
224     } elsif ($checked{$node->{
225     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #66)"
226 wakaba 1.4 'nid'
227     #line 12 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #67)"
228 wakaba 1.1 }}) {
229     next NODES;
230     }
231     my @n;
232     for my $p (@{$node->{
233     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #68)"
234     'subnode2'
235 wakaba 1.4 #line 16 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #69)"
236 wakaba 1.1 }}) {
237     if (ref $node->{$p} eq 'ARRAY') {
238     push @n, @{$node->{$p}};
239     } elsif (ref $node->{$p} eq 'HASH') {
240     push @n, values %{$node->{$p}};
241     }
242     }
243     for my $p (@n,
244     map {$node->{$_}} @{$node->{
245     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #70)"
246     'subnode'
247 wakaba 1.4 #line 24 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #71)"
248 wakaba 1.1 }}) {
249     if (ref $p eq 'ARRAY') {
250     push @node, @$p;
251     } elsif (ref $p eq 'HASH') {
252     push @node, values %$p;
253     }
254     }
255     for my $p (@{$node->{
256     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #72)"
257     'origin'
258 wakaba 1.4 #line 31 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #73)"
259 wakaba 1.1 }}) {
260     unshift @node, $node->{$p} if $node->{$p};
261     ## NOTE: Puts the top of the list,
262     ## since upper-level nodes are expected to be referred
263     ## more than lower-levels.
264     }
265     for my $p (@{$node->{
266     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #74)"
267     'subnode0'
268 wakaba 1.4 #line 37 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #75)"
269 wakaba 1.1 }}) {
270     push @node, $node->{$p} if $node->{$p};
271     }
272     $checked{$node->{
273     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #76)"
274 wakaba 1.4 'nid'
275     #line 40 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #77)"
276     }} =
277     #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #78)"
278     1
279     #line 40 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #79)"
280     ;
281 wakaba 1.1 }
282     }
283 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #80)"
284 wakaba 1.1
285 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #82)"
286 wakaba 1.1
287 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #84)"
288 wakaba 1.1 }
289     $r}
290     sub _destroy ($) {
291     my ($self) = @_;
292    
293     {
294 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #107)"
295 wakaba 1.1
296 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #105)"
297 wakaba 1.1 my
298 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #85)"
299 wakaba 1.1 @node = ($self);
300 wakaba 1.2 NODES: while (defined (my $node = shift @node)) {
301 wakaba 1.1 my @n;
302     for my $p (@{$node->{
303 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #86)"
304 wakaba 1.1 'subnode2'
305 wakaba 1.4 #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #87)"
306 wakaba 1.1 }}) {
307     if (ref $node->{$p} eq 'ARRAY') {
308     push @n, @{$node->{$p}};
309     } elsif (ref $node->{$p} eq 'HASH') {
310     push @n, values %{$node->{$p}};
311     }
312     }
313     for my $p (@n,
314     map {$node->{$_}} @{$node->{
315 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #88)"
316 wakaba 1.1 'subnode'
317 wakaba 1.4 #line 12 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #89)"
318 wakaba 1.1 }}) {
319     if (ref $p eq 'ARRAY') {
320     push @node, grep {UNIVERSAL::isa ($_,
321    
322 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #90)"
323 wakaba 1.1 'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
324 wakaba 1.4 #line 15 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #91)"
325 wakaba 1.1 )
326     and defined $_->{
327 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #92)"
328     'nid'
329     #line 16 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #93)"
330 wakaba 1.1 }} @$p;
331     } elsif (ref $p eq 'HASH') {
332     push @node, grep {UNIVERSAL::isa ($_,
333    
334 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #94)"
335 wakaba 1.1 'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
336 wakaba 1.4 #line 19 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #95)"
337 wakaba 1.1 )
338     and defined $_->{
339 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #96)"
340     'nid'
341     #line 20 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #97)"
342 wakaba 1.1 }}
343     values %$p;
344     }
345     }
346     for my $p (@{$node->{
347 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #98)"
348 wakaba 1.1 'origin'
349 wakaba 1.4 #line 24 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #99)"
350 wakaba 1.1 }},
351     @{$node->{
352 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #100)"
353 wakaba 1.1 'subnode0'
354 wakaba 1.4 #line 25 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #101)"
355 wakaba 1.1 }}) {
356     push @node, $node->{$p}
357     if defined $node->{$p} and
358     defined $node->{$p}->{
359 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #102)"
360     'nid'
361     #line 28 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #103)"
362 wakaba 1.1 };
363     }
364     %$node = ();
365     }
366 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #104)"
367 wakaba 1.1
368 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #106)"
369 wakaba 1.1
370 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #108)"
371 wakaba 1.1 }
372     }
373     sub _change_tree_id ($$) {
374     my ($self, $treeID) = @_;
375    
376     {
377 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #137)"
378 wakaba 1.1
379 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #135)"
380 wakaba 1.1 unless
381 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #109)"
382 wakaba 1.1 ($self->{
383 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #110)"
384     'tid'
385     #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #111)"
386 wakaba 1.1 } eq $treeID) {
387     my @node = ($self);
388 wakaba 1.2 NODES: while (defined (my $node = shift @node)) {
389 wakaba 1.1 next unless UNIVERSAL::isa ($node,
390    
391 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #112)"
392 wakaba 1.1 'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
393 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #113)"
394 wakaba 1.1 );
395     my @n;
396     for my $p (@{$node->{
397 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #114)"
398 wakaba 1.1 'subnode2'
399 wakaba 1.4 #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #115)"
400 wakaba 1.1 }}) {
401     if (ref $node->{$p} eq 'ARRAY') {
402     push @n, @{$node->{$p}};
403     } elsif (ref $node->{$p} eq 'HASH') {
404     push @n, values %{$node->{$p}};
405     }
406     }
407     for my $p (@n,
408     map {$node->{$_}} @{$node->{
409 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #116)"
410 wakaba 1.1 'subnode'
411 wakaba 1.4 #line 15 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #117)"
412 wakaba 1.1 }}) {
413     if (ref $p eq 'ARRAY') {
414     push @node, grep {UNIVERSAL::isa ($_,
415    
416 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #118)"
417 wakaba 1.1 'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
418 wakaba 1.4 #line 18 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #119)"
419 wakaba 1.1 )
420     and
421     $_->{
422 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #120)"
423     'tid'
424     #line 20 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #121)"
425 wakaba 1.1 } ne $treeID} @$p;
426     } elsif (ref $p eq 'HASH') {
427     push @node, grep {UNIVERSAL::isa ($_,
428    
429 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #122)"
430 wakaba 1.1 'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
431 wakaba 1.4 #line 23 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #123)"
432 wakaba 1.1 )
433     and $_->{
434 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #124)"
435     'tid'
436     #line 24 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #125)"
437 wakaba 1.1 } ne $treeID}
438     values %$p;
439     }
440     }
441     for my $p (@{$node->{
442 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #126)"
443 wakaba 1.1 'origin'
444 wakaba 1.4 #line 28 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #127)"
445 wakaba 1.1 }},
446     @{$node->{
447 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #128)"
448 wakaba 1.1 'subnode0'
449 wakaba 1.4 #line 29 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #129)"
450 wakaba 1.1 }}) {
451     push @node, $node->{$p}
452     if defined $node->{$p} and
453     $node->{$p}->{
454 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #130)"
455     'tid'
456     #line 32 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #131)"
457 wakaba 1.1 } ne $treeID;
458     }
459     $node->{
460 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #132)"
461     'tid'
462     #line 34 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #133)"
463 wakaba 1.1 } = $treeID;
464     }
465     }
466 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #134)"
467 wakaba 1.1
468 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #136)"
469 wakaba 1.1
470 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #138)"
471 wakaba 1.1 }
472     }
473     sub _new ($) {
474     my ($self) = @_;
475     my $r;
476    
477     {
478 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #167)"
479 wakaba 1.1
480 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #165)"
481 wakaba 1.1
482 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #139)"
483 wakaba 1.1 $r = bless {
484    
485 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #140)"
486 wakaba 1.1 'origin'
487 wakaba 1.4 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #141)"
488 wakaba 1.1 => [],
489    
490 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #142)"
491 wakaba 1.1 'subnode0'
492 wakaba 1.4 #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #143)"
493 wakaba 1.1 => [],
494    
495 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #144)"
496 wakaba 1.1 'subnode'
497 wakaba 1.4 #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #145)"
498 wakaba 1.1 => [],
499    
500 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #146)"
501 wakaba 1.1 'subnode2'
502 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #147)"
503 wakaba 1.1 => [],
504    
505 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #148)"
506 wakaba 1.1 'irefnode'
507 wakaba 1.4 #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #149)"
508 wakaba 1.1 => [],
509    
510 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #150)"
511 wakaba 1.1 'anydata'
512 wakaba 1.4 #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #151)"
513 wakaba 1.1 => [],
514    
515 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #152)"
516 wakaba 1.1 'anydata2'
517 wakaba 1.4 #line 8 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #153)"
518 wakaba 1.1 => [],
519    
520 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #154)"
521 wakaba 1.1 'rc'
522 wakaba 1.4 #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #155)"
523 wakaba 1.1 => 0,
524    
525 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #156)"
526     'tid'
527     #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #157)"
528 wakaba 1.1 =>
529 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #158)"
530 wakaba 1.1 (
531     sprintf 'mid:%d.%d.%s.dom.manakai@suika.fam.cx#',
532     time, $$,
533     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
534     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
535     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
536     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
537     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62]
538     )
539 wakaba 1.4 #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #159)"
540 wakaba 1.1 ,
541    
542 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #160)"
543     'nid'
544     #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #161)"
545 wakaba 1.1 =>
546 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #162)"
547 wakaba 1.1 (
548     sprintf 'mid:%d.%d.%s.dom.manakai@suika.fam.cx#',
549     time, $$,
550     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
551     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
552     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
553     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
554     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62]
555     )
556 wakaba 1.4 #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #163)"
557 wakaba 1.1 ,
558     }, ref $self || $self;
559 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #164)"
560 wakaba 1.1
561 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #166)"
562 wakaba 1.1
563 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #168)"
564 wakaba 1.1 }
565     $r}
566     sub _is_same_node ($$) {
567     my ($self, $node) = @_;
568     my $r;
569    
570     {
571 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #181)"
572 wakaba 1.1
573 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #179)"
574 wakaba 1.1 if
575 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #169)"
576 wakaba 1.1 (ref $node and
577     UNIVERSAL::isa ($node,
578    
579 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #170)"
580 wakaba 1.1 'Message::Util::ManakaiNode::ManakaiDOMNodeObject'
581 wakaba 1.4 #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #171)"
582 wakaba 1.1 ) and
583     $node->{
584 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #172)"
585     'nid'
586     #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #173)"
587 wakaba 1.1 } eq $self->{
588 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #174)"
589     'nid'
590     #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #175)"
591 wakaba 1.1 }) {
592     $r =
593 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #176)"
594 wakaba 1.1 1
595 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #177)"
596 wakaba 1.1 ;
597     }
598 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #178)"
599 wakaba 1.1
600 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #180)"
601 wakaba 1.1
602 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #182)"
603 wakaba 1.1 }
604     $r}
605     sub _new_reference ($$) {
606     my ($self, $class) = @_;
607     my $r;
608    
609     {
610 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #193)"
611 wakaba 1.1
612 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #191)"
613 wakaba 1.1
614 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #183)"
615 wakaba 1.1 $r = bless {
616    
617 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #184)"
618 wakaba 1.1 'node'
619 wakaba 1.4 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #185)"
620 wakaba 1.1 => $self,
621     }, ref $class ? ref $class : defined $class ? $class :
622    
623 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #186)"
624 wakaba 1.1 'Message::Util::ManakaiNode::ManakaiDOMNodeReference'
625 wakaba 1.4 #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #187)"
626 wakaba 1.1 ;
627     $self->{
628 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #188)"
629 wakaba 1.1 'rc'
630 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=newReference][@type=DISLang:Method]/Return[@Type=ManakaiDOM:ManakaiDOMNodeReference][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #189)"
631 wakaba 1.1 }++;
632 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #190)"
633 wakaba 1.1
634 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #192)"
635 wakaba 1.1
636 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #194)"
637 wakaba 1.1 }
638     $r}
639     use overload bool => sub () {1}, 'eq', '_is_same_node', fallback => 1;
640     $Message::DOM::ClassFeature{q<Message::Util::ManakaiNode::ManakaiDOMNodeObject>} = {};
641     $Message::DOM::ClassPoint{q<Message::Util::ManakaiNode::ManakaiDOMNodeObject>} = 0;
642     package Message::Util::ManakaiNode::ManakaiNodeStem;
643 wakaba 1.4 our $VERSION = 20050924.1110;
644 wakaba 1.1 push our @ISA, 'Message::Util::IF::NodeStem';
645     sub _import_tree ($$) {
646     my ($self, $node) = @_;
647    
648     {
649 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #215)"
650 wakaba 1.1
651 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #213)"
652 wakaba 1.1 my
653 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #195)"
654 wakaba 1.1 @node = ($node);
655 wakaba 1.2 NODES: while (defined (my $node = shift @node)) {
656 wakaba 1.1 next unless ref $node;
657     next if $node->{
658 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #196)"
659     'tid'
660     #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #197)"
661 wakaba 1.1 } eq
662     $self->{
663 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #198)"
664     'tid'
665     #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #199)"
666 wakaba 1.1 };
667     my @n;
668     for my $p (@{$node->{
669 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #200)"
670 wakaba 1.1 'subnode2'
671 wakaba 1.4 #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #201)"
672 wakaba 1.1 }}) {
673     if (ref $node->{$p} eq 'ARRAY') {
674     push @n, @{$node->{$p}};
675     } elsif (ref $node->{$p} eq 'HASH') {
676     push @n, values %{$node->{$p}};
677     }
678     }
679     for my $p (@n,
680     map {$node->{$_}} @{$node->{
681 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #202)"
682 wakaba 1.1 'subnode'
683 wakaba 1.4 #line 15 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #203)"
684 wakaba 1.1 }}) {
685     if (ref $p eq 'ARRAY') {
686     push @node, @$p;
687     } elsif (ref $p eq 'HASH') {
688     push @node, values %$p;
689     }
690     }
691     for my $p (@{$node->{
692 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #204)"
693 wakaba 1.1 'origin'
694 wakaba 1.4 #line 22 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #205)"
695 wakaba 1.1 }},
696     @{$node->{
697 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #206)"
698 wakaba 1.1 'subnode0'
699 wakaba 1.4 #line 23 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #207)"
700 wakaba 1.1 }}) {
701     push @node, $node->{$p};
702     }
703     $node->{
704 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #208)"
705     'tid'
706     #line 26 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #209)"
707 wakaba 1.1 } = $self->{
708 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #210)"
709     'tid'
710     #line 26 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=importTree][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #211)"
711 wakaba 1.1 };
712     }
713 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #212)"
714 wakaba 1.1
715 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #214)"
716 wakaba 1.1
717 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #216)"
718 wakaba 1.1 }
719     }
720     sub _new ($) {
721     my ($self) = @_;
722     my $r;
723    
724     {
725 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #245)"
726 wakaba 1.1
727 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #243)"
728 wakaba 1.1
729 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #217)"
730 wakaba 1.1 $r = bless {
731    
732 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #218)"
733 wakaba 1.1 'origin'
734 wakaba 1.4 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #219)"
735 wakaba 1.1 => [],
736    
737 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #220)"
738 wakaba 1.1 'subnode0'
739 wakaba 1.4 #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #221)"
740 wakaba 1.1 => [],
741    
742 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #222)"
743 wakaba 1.1 'subnode'
744 wakaba 1.4 #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #223)"
745 wakaba 1.1 => [],
746    
747 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #224)"
748 wakaba 1.1 'subnode2'
749 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #225)"
750 wakaba 1.1 => [],
751    
752 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #226)"
753 wakaba 1.1 'irefnode'
754 wakaba 1.4 #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #227)"
755 wakaba 1.1 => [],
756    
757 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #228)"
758 wakaba 1.1 'anydata'
759 wakaba 1.4 #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #229)"
760 wakaba 1.1 => [],
761    
762 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #230)"
763 wakaba 1.1 'anydata2'
764 wakaba 1.4 #line 8 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #231)"
765 wakaba 1.1 => [],
766    
767 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #232)"
768 wakaba 1.1 'rc'
769 wakaba 1.4 #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #233)"
770 wakaba 1.1 => 0,
771    
772 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #234)"
773     'tid'
774     #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #235)"
775 wakaba 1.1 =>
776 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #236)"
777 wakaba 1.1 (
778     sprintf 'mid:%d.%d.%s.dom.manakai@suika.fam.cx#',
779     time, $$,
780     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
781     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
782     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
783     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
784     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62]
785     )
786 wakaba 1.4 #line 10 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #237)"
787 wakaba 1.1 ,
788    
789 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #238)"
790     'nid'
791     #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #239)"
792 wakaba 1.1 =>
793 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #240)"
794 wakaba 1.1 (
795     sprintf 'mid:%d.%d.%s.dom.manakai@suika.fam.cx#',
796     time, $$,
797     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
798     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
799     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
800     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
801     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62]
802     )
803 wakaba 1.4 #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=new][@type=DISLang:Method]/Return[@Type=NodeStem][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #241)"
804 wakaba 1.1 ,
805     }, ref $self || $self;
806 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #242)"
807 wakaba 1.1
808 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #244)"
809 wakaba 1.1
810 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #246)"
811 wakaba 1.1 }
812     $r}
813     sub _orphanate ($) {
814     my ($self) = @_;
815    
816     {
817 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #259)"
818 wakaba 1.1
819 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #257)"
820 wakaba 1.1 if
821 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #247)"
822 wakaba 1.1 ($self->
823 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #248)"
824 wakaba 1.1 _is_externally_referred
825 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #249)"
826 wakaba 1.1 ) {
827     $self->
828 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #250)"
829 wakaba 1.1 _change_tree_id
830 wakaba 1.4 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #251)"
831 wakaba 1.1
832     (
833 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #252)"
834 wakaba 1.1 (
835     sprintf 'mid:%d.%d.%s.dom.manakai@suika.fam.cx#',
836     time, $$,
837     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
838     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
839     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
840     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62] .
841     ['A'..'Z', 'a'..'z', '0'..'9']->[rand 62]
842     )
843 wakaba 1.4 #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #253)"
844 wakaba 1.1 );
845     } else {
846     $self->
847 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #254)"
848 wakaba 1.1 _destroy
849 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=orphanate][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #255)"
850 wakaba 1.1 ;
851     }
852 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #256)"
853 wakaba 1.1
854 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #258)"
855 wakaba 1.1
856 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #260)"
857 wakaba 1.1 }
858     }
859     sub _is_externally_referred ($) {
860     my ($self) = @_;
861     my $r;
862    
863     {
864 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #285)"
865 wakaba 1.1
866 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #283)"
867 wakaba 1.1 if
868 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #261)"
869 wakaba 1.1 ($self->{
870 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #262)"
871 wakaba 1.1 'rc'
872 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #263)"
873 wakaba 1.1 }) {
874     $r =
875 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #264)"
876 wakaba 1.1 1
877 wakaba 1.4 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #265)"
878 wakaba 1.1 ;
879     } else {
880     my @node = ($self);
881     my %checked;
882 wakaba 1.2 NODES: while (defined (my $node = shift @node)) {
883 wakaba 1.1 next unless ref $node;
884     if ($node->{
885 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #266)"
886 wakaba 1.1 'rc'
887 wakaba 1.4 #line 8 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #267)"
888 wakaba 1.1 }) {
889     $r =
890 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #268)"
891 wakaba 1.1 1
892 wakaba 1.4 #line 9 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #269)"
893 wakaba 1.1 ;
894     last NODES;
895     } elsif ($checked{$node->{
896 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #270)"
897     'nid'
898     #line 11 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #271)"
899 wakaba 1.1 }}) {
900     next NODES;
901     }
902     my @n;
903     for my $p (@{$node->{
904 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #272)"
905 wakaba 1.1 'subnode2'
906 wakaba 1.4 #line 15 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #273)"
907 wakaba 1.1 }}) {
908     if (ref $node->{$p} eq 'ARRAY') {
909     push @n, @{$node->{$p}};
910     } elsif (ref $node->{$p} eq 'HASH') {
911     push @n, values %{$node->{$p}};
912     }
913     }
914     for my $p (@n,
915     map {$node->{$_}} @{$node->{
916 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #274)"
917 wakaba 1.1 'subnode'
918 wakaba 1.4 #line 23 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #275)"
919 wakaba 1.1 }}) {
920     if (ref $p eq 'ARRAY') {
921     push @node, @$p;
922     } elsif (ref $p eq 'HASH') {
923     push @node, values %$p;
924     }
925     }
926     for my $p (@{$node->{
927 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #276)"
928 wakaba 1.1 'origin'
929 wakaba 1.4 #line 30 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #277)"
930 wakaba 1.1 }}) {
931     unshift @node, $node->{$p} if $node->{$p};
932     ## NOTE: Puts the top of the list,
933     ## since upper-level nodes are expected to be referred
934     ## more than lower-levels.
935     }
936     for my $p (@{$node->{
937 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #278)"
938 wakaba 1.1 'subnode0'
939 wakaba 1.4 #line 36 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #279)"
940 wakaba 1.1 }}) {
941     push @node, $node->{$p} if $node->{$p};
942     }
943     $checked{$node->{
944 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #280)"
945     'nid'
946     #line 39 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isExternallyReferred][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #281)"
947 wakaba 1.1 }} = 1;
948     }
949     }
950 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #282)"
951 wakaba 1.1
952 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #284)"
953 wakaba 1.1
954 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #286)"
955 wakaba 1.1 }
956     $r}
957     sub _is_same_node ($$) {
958     my ($self, $node) = @_;
959     my $r;
960    
961     {
962 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #299)"
963 wakaba 1.1
964 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #297)"
965 wakaba 1.1 if
966 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #287)"
967 wakaba 1.1 (ref $node and
968     UNIVERSAL::isa ($node,
969 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #288)"
970 wakaba 1.1 'Message::Util::IF::NodeStem'
971 wakaba 1.4 #line 2 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #289)"
972 wakaba 1.1 ) and
973     $node->{
974 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #290)"
975     'nid'
976     #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #291)"
977 wakaba 1.1 } eq $self->{
978 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #292)"
979     'nid'
980     #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #293)"
981 wakaba 1.1 }) {
982     $r =
983 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #294)"
984 wakaba 1.1 1
985 wakaba 1.4 #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=isSameNode][@type=DISLang:Method]/Return[@Type=DISPerl:Boolean::ManakaiDOM:all][@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #295)"
986 wakaba 1.1 ;
987     }
988 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #296)"
989 wakaba 1.1
990 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #298)"
991 wakaba 1.1
992 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #300)"
993 wakaba 1.1 }
994     $r}
995     sub _destroy ($) {
996     my ($self) = @_;
997    
998     {
999 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #315)"
1000 wakaba 1.1
1001 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #313)"
1002 wakaba 1.1 my
1003 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #301)"
1004 wakaba 1.1 @node = ($self);
1005 wakaba 1.2 NODES: while (defined (my $node = shift @node)) {
1006 wakaba 1.1 next unless ref $node and defined $node->{
1007 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #302)"
1008     'nid'
1009     #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #303)"
1010 wakaba 1.1 };
1011     my @n;
1012     for my $p (@{$node->{
1013 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #304)"
1014 wakaba 1.1 'subnode2'
1015 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #305)"
1016 wakaba 1.1 }}) {
1017     if (ref $node->{$p} eq 'ARRAY') {
1018     push @n, @{$node->{$p}};
1019     } elsif (ref $node->{$p} eq 'HASH') {
1020     push @n, values %{$node->{$p}};
1021     }
1022     }
1023     for my $p (@n,
1024     map {$node->{$_}} @{$node->{
1025 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #306)"
1026 wakaba 1.1 'subnode'
1027 wakaba 1.4 #line 13 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #307)"
1028 wakaba 1.1 }}) {
1029     if (ref $p eq 'ARRAY') {
1030     push @node, @$p;
1031     } elsif (ref $p eq 'HASH') {
1032     push @node, values %$p;
1033     }
1034     }
1035     for my $p (@{$node->{
1036 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #308)"
1037 wakaba 1.1 'origin'
1038 wakaba 1.4 #line 20 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #309)"
1039 wakaba 1.1 }},
1040     @{$node->{
1041 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #310)"
1042 wakaba 1.1 'subnode0'
1043 wakaba 1.4 #line 21 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #311)"
1044 wakaba 1.1 }}) {
1045     push @node, $node->{$p};
1046     }
1047     %$node = ();
1048     }
1049 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #312)"
1050 wakaba 1.1
1051 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #314)"
1052 wakaba 1.1
1053 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #316)"
1054 wakaba 1.1 }
1055     }
1056     sub _change_tree_id ($$) {
1057     my ($self, $treeID) = @_;
1058    
1059     {
1060 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #333)"
1061 wakaba 1.1
1062 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #331)"
1063 wakaba 1.1 my
1064 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #317)"
1065 wakaba 1.1 @node = ($self);
1066 wakaba 1.2 NODES: while (defined (my $node = shift @node)) {
1067 wakaba 1.1 next unless ref $node;
1068     next if $node->{
1069 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #318)"
1070     'tid'
1071     #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #319)"
1072 wakaba 1.1 } eq $treeID;
1073     my @n;
1074     for my $p (@{$node->{
1075 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #320)"
1076 wakaba 1.1 'subnode2'
1077 wakaba 1.4 #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #321)"
1078 wakaba 1.1 }}) {
1079     if (ref $node->{$p} eq 'ARRAY') {
1080     push @n, @{$node->{$p}};
1081     } elsif (ref $node->{$p} eq 'HASH') {
1082     push @n, values %{$node->{$p}};
1083     }
1084     }
1085     for my $p (@n,
1086     map {$node->{$_}} @{$node->{
1087 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #322)"
1088 wakaba 1.1 'subnode'
1089 wakaba 1.4 #line 14 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #323)"
1090 wakaba 1.1 }}) {
1091     if (ref $p eq 'ARRAY') {
1092     push @node, @$p;
1093     } elsif (ref $p eq 'HASH') {
1094     push @node, values %$p;
1095     }
1096     }
1097     for my $p (@{$node->{
1098 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #324)"
1099 wakaba 1.1 'origin'
1100 wakaba 1.4 #line 21 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #325)"
1101 wakaba 1.1 }},
1102     @{$node->{
1103 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #326)"
1104 wakaba 1.1 'subnode0'
1105 wakaba 1.4 #line 22 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #327)"
1106 wakaba 1.1 }}) {
1107     push @node, $node->{$p};
1108     }
1109     $node->{
1110 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #328)"
1111     'tid'
1112     #line 25 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeStem][@QName=ManakaiDOM:ManakaiDOMNodeObject][@QName=ManakaiNodeStem][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=changeTreeID][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #329)"
1113 wakaba 1.1 } = $treeID;
1114     }
1115 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #330)"
1116 wakaba 1.1
1117 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #332)"
1118 wakaba 1.1
1119 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #334)"
1120 wakaba 1.1 }
1121     }
1122     use overload bool => sub () {1}, 'eq', '_is_same_node', fallback => 1;
1123     $Message::DOM::ClassFeature{q<Message::Util::ManakaiNode::ManakaiNodeStem>} = {};
1124     $Message::DOM::ClassPoint{q<Message::Util::ManakaiNode::ManakaiNodeStem>} = 0;
1125     package Message::Util::ManakaiNode::ManakaiDOMNodeReference;
1126 wakaba 1.4 our $VERSION = 20050924.1110;
1127 wakaba 1.1 push our @ISA, 'Message::Util::IF::NodeRef';
1128     *DESTROY = \&_destroy;
1129     sub _destroy ($) {
1130     my ($self) = @_;
1131    
1132     {
1133 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #351)"
1134 wakaba 1.1
1135 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #349)"
1136 wakaba 1.1 my
1137 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #335)"
1138 wakaba 1.1 $node = $self->{
1139 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #336)"
1140 wakaba 1.1 'node'
1141 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #337)"
1142 wakaba 1.1 };
1143     if ($node) {
1144     CORE::delete $self->{
1145 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #338)"
1146 wakaba 1.1 'node'
1147 wakaba 1.4 #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #339)"
1148 wakaba 1.1 };
1149     unless ($self->{
1150 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #340)"
1151     'w'
1152     #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #341)"
1153 wakaba 1.1 }) {
1154     $node->{
1155 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #342)"
1156 wakaba 1.1 'rc'
1157 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #343)"
1158 wakaba 1.1 }--;
1159     unless ($node->
1160 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #344)"
1161 wakaba 1.1 _is_externally_referred
1162 wakaba 1.4 #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #345)"
1163 wakaba 1.1 ) {
1164     $node->
1165 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #346)"
1166 wakaba 1.1 _destroy
1167 wakaba 1.4 #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #347)"
1168 wakaba 1.1 ;
1169     }
1170     }
1171     } else {
1172     warn ref ($self) . q{->DESTROY: there is no associated }.
1173     q{node object - you have a global variable or }.
1174     qq{potential memory-leak detected\n};
1175     }
1176 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #348)"
1177 wakaba 1.1
1178 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #350)"
1179 wakaba 1.1
1180 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #352)"
1181 wakaba 1.1 }
1182     }
1183     $Message::DOM::ClassFeature{q<Message::Util::ManakaiNode::ManakaiDOMNodeReference>} = {};
1184     $Message::DOM::ClassPoint{q<Message::Util::ManakaiNode::ManakaiDOMNodeReference>} = 0;
1185     package Message::Util::ManakaiNode::ManakaiNodeRef;
1186 wakaba 1.4 our $VERSION = 20050924.1110;
1187 wakaba 1.1 push our @ISA, 'Message::Util::IF::NodeRef';
1188 wakaba 1.2 sub free ($) {
1189     my ($self) = @_;
1190    
1191     {
1192 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #361)"
1193 wakaba 1.2
1194 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #359)"
1195 wakaba 1.2
1196 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #353)"
1197 wakaba 1.2 $self->{
1198 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #354)"
1199 wakaba 1.2 'node'
1200 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #355)"
1201 wakaba 1.2 }->
1202 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #356)"
1203 wakaba 1.2 _destroy
1204 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/ResourceDef[@Name=free][@type=DISLang|Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #357)"
1205 wakaba 1.2 ;
1206 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #358)"
1207 wakaba 1.2
1208 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #360)"
1209 wakaba 1.2
1210 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #362)"
1211 wakaba 1.2 }
1212     }
1213 wakaba 1.1 *DESTROY = \&_destroy;
1214     sub _destroy ($) {
1215     my ($self) = @_;
1216    
1217     {
1218 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [b] (Chunk #379)"
1219 wakaba 1.1
1220 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [bc] (Chunk #377)"
1221 wakaba 1.1 my
1222 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #363)"
1223 wakaba 1.1 $node = $self->{
1224 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #364)"
1225 wakaba 1.1 'node'
1226 wakaba 1.4 #line 1 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #365)"
1227 wakaba 1.1 };
1228     if ($node) {
1229     CORE::delete $self->{
1230 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #366)"
1231 wakaba 1.1 'node'
1232 wakaba 1.4 #line 3 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #367)"
1233 wakaba 1.1 };
1234     unless ($self->{
1235 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #368)"
1236     'w'
1237     #line 4 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #369)"
1238 wakaba 1.1 }) {
1239     $node->{
1240 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #370)"
1241 wakaba 1.1 'rc'
1242 wakaba 1.4 #line 5 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #371)"
1243 wakaba 1.1 }--;
1244     unless ($node->
1245 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #372)"
1246 wakaba 1.1 _is_externally_referred
1247 wakaba 1.4 #line 6 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #373)"
1248 wakaba 1.1 ) {
1249     $node->
1250 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #374)"
1251 wakaba 1.1 _destroy
1252 wakaba 1.4 #line 7 "/document (lib/Message/Util/ManakaiNode.dis)/ClassDef[@QName=NodeRef][@QName=ManakaiDOM:ManakaiDOMNodeReference][@QName=ManakaiNodeRef][@type=dis:MultipleResource][@type=ManakaiDOM:IF][@type=ManakaiDOM:Class][@type=ManakaiDOM:Class]/IntMethod[@Name=destroy][@type=DISLang:Method]/Return[@type=DISLang:MethodReturn]/PerlDef [u] (Chunk #375)"
1253 wakaba 1.1 ;
1254     }
1255     }
1256     } else {
1257     warn ref ($self) . q{->DESTROY: there is no associated }.
1258     q{node object - you have a global variable or }.
1259     qq{potential memory-leak detected\n};
1260     }
1261 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/u] (Chunk #376)"
1262 wakaba 1.1
1263 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/bc] (Chunk #378)"
1264 wakaba 1.1
1265 wakaba 1.4 #line 1 "lib/Message/Util/ManakaiNode.dis [/b] (Chunk #380)"
1266 wakaba 1.1 }
1267     }
1268     $Message::DOM::ClassFeature{q<Message::Util::ManakaiNode::ManakaiNodeRef>} = {};
1269     $Message::DOM::ClassPoint{q<Message::Util::ManakaiNode::ManakaiNodeRef>} = 0;
1270     for ($Message::Util::IF::NodeRef::, $Message::Util::IF::NodeStem::){}
1271     ## License: <http://suika.fam.cx/~wakaba/archive/2004/8/18/license#Perl+MPL>
1272     1;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24