1------------------------------------------------------------------------------
2--                                                                          --
3--                            Matreshka Project                             --
4--                                                                          --
5--                          Ada Modeling Framework                          --
6--                                                                          --
7--                        Runtime Library Component                         --
8--                                                                          --
9------------------------------------------------------------------------------
10--                                                                          --
11-- Copyright © 2011-2012, Vadim Godunko <vgodunko@gmail.com>                --
12-- All rights reserved.                                                     --
13--                                                                          --
14-- Redistribution and use in source and binary forms, with or without       --
15-- modification, are permitted provided that the following conditions       --
16-- are met:                                                                 --
17--                                                                          --
18--  * Redistributions of source code must retain the above copyright        --
19--    notice, this list of conditions and the following disclaimer.         --
20--                                                                          --
21--  * Redistributions in binary form must reproduce the above copyright     --
22--    notice, this list of conditions and the following disclaimer in the   --
23--    documentation and/or other materials provided with the distribution.  --
24--                                                                          --
25--  * Neither the name of the Vadim Godunko, IE nor the names of its        --
26--    contributors may be used to endorse or promote products derived from  --
27--    this software without specific prior written permission.              --
28--                                                                          --
29-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS      --
30-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT        --
31-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR    --
32-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT     --
33-- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,   --
34-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED --
35-- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR   --
36-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF   --
37-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING     --
38-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS       --
39-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.             --
40--                                                                          --
41------------------------------------------------------------------------------
42--  $Revision: 2911 $ $Date: 2012-04-26 11:20:01 +0400 (Thu, 26 Apr 2012) $
43------------------------------------------------------------------------------
44with AMF.UML.Elements.Collections;
45
46package body AMF.Visitors.Generic_UML_Containment is
47
48   procedure Visit_Owned_Elements
49    (Self    : in out UML_Containment_Iterator'Class;
50     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
51     Element : not null access AMF.UML.Elements.UML_Element'Class;
52     Control : in out Traverse_Control);
53   --  Visit members of ownedElement of the element.
54
55   -----------------------
56   -- Visit_Abstraction --
57   -----------------------
58
59   overriding procedure Visit_Abstraction
60    (Self    : in out UML_Containment_Iterator;
61     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
62     Element : not null AMF.UML.Abstractions.UML_Abstraction_Access;
63     Control : in out Traverse_Control) is
64   begin
65      Self.Visit_Owned_Elements (Visitor, Element, Control);
66   end Visit_Abstraction;
67
68   ------------------------------
69   -- Visit_Accept_Call_Action --
70   ------------------------------
71
72   overriding procedure Visit_Accept_Call_Action
73    (Self    : in out UML_Containment_Iterator;
74     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
75     Element : not null AMF.UML.Accept_Call_Actions.UML_Accept_Call_Action_Access;
76     Control : in out Traverse_Control) is
77   begin
78      Self.Visit_Owned_Elements (Visitor, Element, Control);
79   end Visit_Accept_Call_Action;
80
81   -------------------------------
82   -- Visit_Accept_Event_Action --
83   -------------------------------
84
85   overriding procedure Visit_Accept_Event_Action
86    (Self    : in out UML_Containment_Iterator;
87     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
88     Element : not null AMF.UML.Accept_Event_Actions.UML_Accept_Event_Action_Access;
89     Control : in out Traverse_Control) is
90   begin
91      Self.Visit_Owned_Elements (Visitor, Element, Control);
92   end Visit_Accept_Event_Action;
93
94   ------------------------------------------
95   -- Visit_Action_Execution_Specification --
96   ------------------------------------------
97
98   overriding procedure Visit_Action_Execution_Specification
99    (Self    : in out UML_Containment_Iterator;
100     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
101     Element : not null AMF.UML.Action_Execution_Specifications.UML_Action_Execution_Specification_Access;
102     Control : in out Traverse_Control) is
103   begin
104      Self.Visit_Owned_Elements (Visitor, Element, Control);
105   end Visit_Action_Execution_Specification;
106
107   ----------------------------
108   -- Visit_Action_Input_Pin --
109   ----------------------------
110
111   overriding procedure Visit_Action_Input_Pin
112    (Self    : in out UML_Containment_Iterator;
113     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
114     Element : not null AMF.UML.Action_Input_Pins.UML_Action_Input_Pin_Access;
115     Control : in out Traverse_Control) is
116   begin
117      Self.Visit_Owned_Elements (Visitor, Element, Control);
118   end Visit_Action_Input_Pin;
119
120   --------------------
121   -- Visit_Activity --
122   --------------------
123
124   overriding procedure Visit_Activity
125    (Self    : in out UML_Containment_Iterator;
126     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
127     Element : not null AMF.UML.Activities.UML_Activity_Access;
128     Control : in out Traverse_Control) is
129   begin
130      Self.Visit_Owned_Elements (Visitor, Element, Control);
131   end Visit_Activity;
132
133   -------------------------------
134   -- Visit_Activity_Final_Node --
135   -------------------------------
136
137   overriding procedure Visit_Activity_Final_Node
138    (Self    : in out UML_Containment_Iterator;
139     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
140     Element : not null AMF.UML.Activity_Final_Nodes.UML_Activity_Final_Node_Access;
141     Control : in out Traverse_Control) is
142   begin
143      Self.Visit_Owned_Elements (Visitor, Element, Control);
144   end Visit_Activity_Final_Node;
145
146   -----------------------------------
147   -- Visit_Activity_Parameter_Node --
148   -----------------------------------
149
150   overriding procedure Visit_Activity_Parameter_Node
151    (Self    : in out UML_Containment_Iterator;
152     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
153     Element : not null AMF.UML.Activity_Parameter_Nodes.UML_Activity_Parameter_Node_Access;
154     Control : in out Traverse_Control) is
155   begin
156      Self.Visit_Owned_Elements (Visitor, Element, Control);
157   end Visit_Activity_Parameter_Node;
158
159   ------------------------------
160   -- Visit_Activity_Partition --
161   ------------------------------
162
163   overriding procedure Visit_Activity_Partition
164    (Self    : in out UML_Containment_Iterator;
165     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
166     Element : not null AMF.UML.Activity_Partitions.UML_Activity_Partition_Access;
167     Control : in out Traverse_Control) is
168   begin
169      Self.Visit_Owned_Elements (Visitor, Element, Control);
170   end Visit_Activity_Partition;
171
172   -----------------
173   -- Visit_Actor --
174   -----------------
175
176   overriding procedure Visit_Actor
177    (Self    : in out UML_Containment_Iterator;
178     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
179     Element : not null AMF.UML.Actors.UML_Actor_Access;
180     Control : in out Traverse_Control) is
181   begin
182      Self.Visit_Owned_Elements (Visitor, Element, Control);
183   end Visit_Actor;
184
185   -----------------------------------------------
186   -- Visit_Add_Structural_Feature_Value_Action --
187   -----------------------------------------------
188
189   overriding procedure Visit_Add_Structural_Feature_Value_Action
190    (Self    : in out UML_Containment_Iterator;
191     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
192     Element : not null AMF.UML.Add_Structural_Feature_Value_Actions.UML_Add_Structural_Feature_Value_Action_Access;
193     Control : in out Traverse_Control) is
194   begin
195      Self.Visit_Owned_Elements (Visitor, Element, Control);
196   end Visit_Add_Structural_Feature_Value_Action;
197
198   -------------------------------------
199   -- Visit_Add_Variable_Value_Action --
200   -------------------------------------
201
202   overriding procedure Visit_Add_Variable_Value_Action
203    (Self    : in out UML_Containment_Iterator;
204     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
205     Element : not null AMF.UML.Add_Variable_Value_Actions.UML_Add_Variable_Value_Action_Access;
206     Control : in out Traverse_Control) is
207   begin
208      Self.Visit_Owned_Elements (Visitor, Element, Control);
209   end Visit_Add_Variable_Value_Action;
210
211   -----------------------------
212   -- Visit_Any_Receive_Event --
213   -----------------------------
214
215   overriding procedure Visit_Any_Receive_Event
216    (Self    : in out UML_Containment_Iterator;
217     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
218     Element : not null AMF.UML.Any_Receive_Events.UML_Any_Receive_Event_Access;
219     Control : in out Traverse_Control) is
220   begin
221      Self.Visit_Owned_Elements (Visitor, Element, Control);
222   end Visit_Any_Receive_Event;
223
224   --------------------
225   -- Visit_Artifact --
226   --------------------
227
228   overriding procedure Visit_Artifact
229    (Self    : in out UML_Containment_Iterator;
230     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
231     Element : not null AMF.UML.Artifacts.UML_Artifact_Access;
232     Control : in out Traverse_Control) is
233   begin
234      Self.Visit_Owned_Elements (Visitor, Element, Control);
235   end Visit_Artifact;
236
237   -----------------------
238   -- Visit_Association --
239   -----------------------
240
241   overriding procedure Visit_Association
242    (Self    : in out UML_Containment_Iterator;
243     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
244     Element : not null AMF.UML.Associations.UML_Association_Access;
245     Control : in out Traverse_Control) is
246   begin
247      Self.Visit_Owned_Elements (Visitor, Element, Control);
248   end Visit_Association;
249
250   -----------------------------
251   -- Visit_Association_Class --
252   -----------------------------
253
254   overriding procedure Visit_Association_Class
255    (Self    : in out UML_Containment_Iterator;
256     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
257     Element : not null AMF.UML.Association_Classes.UML_Association_Class_Access;
258     Control : in out Traverse_Control) is
259   begin
260      Self.Visit_Owned_Elements (Visitor, Element, Control);
261   end Visit_Association_Class;
262
263   --------------------------------------------
264   -- Visit_Behavior_Execution_Specification --
265   --------------------------------------------
266
267   overriding procedure Visit_Behavior_Execution_Specification
268    (Self    : in out UML_Containment_Iterator;
269     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
270     Element : not null AMF.UML.Behavior_Execution_Specifications.UML_Behavior_Execution_Specification_Access;
271     Control : in out Traverse_Control) is
272   begin
273      Self.Visit_Owned_Elements (Visitor, Element, Control);
274   end Visit_Behavior_Execution_Specification;
275
276   -----------------------------------
277   -- Visit_Broadcast_Signal_Action --
278   -----------------------------------
279
280   overriding procedure Visit_Broadcast_Signal_Action
281    (Self    : in out UML_Containment_Iterator;
282     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
283     Element : not null AMF.UML.Broadcast_Signal_Actions.UML_Broadcast_Signal_Action_Access;
284     Control : in out Traverse_Control) is
285   begin
286      Self.Visit_Owned_Elements (Visitor, Element, Control);
287   end Visit_Broadcast_Signal_Action;
288
289   --------------------------------
290   -- Visit_Call_Behavior_Action --
291   --------------------------------
292
293   overriding procedure Visit_Call_Behavior_Action
294    (Self    : in out UML_Containment_Iterator;
295     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
296     Element : not null AMF.UML.Call_Behavior_Actions.UML_Call_Behavior_Action_Access;
297     Control : in out Traverse_Control) is
298   begin
299      Self.Visit_Owned_Elements (Visitor, Element, Control);
300   end Visit_Call_Behavior_Action;
301
302   ----------------------
303   -- Visit_Call_Event --
304   ----------------------
305
306   overriding procedure Visit_Call_Event
307    (Self    : in out UML_Containment_Iterator;
308     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
309     Element : not null AMF.UML.Call_Events.UML_Call_Event_Access;
310     Control : in out Traverse_Control) is
311   begin
312      Self.Visit_Owned_Elements (Visitor, Element, Control);
313   end Visit_Call_Event;
314
315   ---------------------------------
316   -- Visit_Call_Operation_Action --
317   ---------------------------------
318
319   overriding procedure Visit_Call_Operation_Action
320    (Self    : in out UML_Containment_Iterator;
321     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
322     Element : not null AMF.UML.Call_Operation_Actions.UML_Call_Operation_Action_Access;
323     Control : in out Traverse_Control) is
324   begin
325      Self.Visit_Owned_Elements (Visitor, Element, Control);
326   end Visit_Call_Operation_Action;
327
328   -------------------------------
329   -- Visit_Central_Buffer_Node --
330   -------------------------------
331
332   overriding procedure Visit_Central_Buffer_Node
333    (Self    : in out UML_Containment_Iterator;
334     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
335     Element : not null AMF.UML.Central_Buffer_Nodes.UML_Central_Buffer_Node_Access;
336     Control : in out Traverse_Control) is
337   begin
338      Self.Visit_Owned_Elements (Visitor, Element, Control);
339   end Visit_Central_Buffer_Node;
340
341   ------------------------
342   -- Visit_Change_Event --
343   ------------------------
344
345   overriding procedure Visit_Change_Event
346    (Self    : in out UML_Containment_Iterator;
347     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
348     Element : not null AMF.UML.Change_Events.UML_Change_Event_Access;
349     Control : in out Traverse_Control) is
350   begin
351      Self.Visit_Owned_Elements (Visitor, Element, Control);
352   end Visit_Change_Event;
353
354   -----------------
355   -- Visit_Class --
356   -----------------
357
358   overriding procedure Visit_Class
359    (Self    : in out UML_Containment_Iterator;
360     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
361     Element : not null AMF.UML.Classes.UML_Class_Access;
362     Control : in out Traverse_Control) is
363   begin
364      Self.Visit_Owned_Elements (Visitor, Element, Control);
365   end Visit_Class;
366
367   -----------------------------------------
368   -- Visit_Classifier_Template_Parameter --
369   -----------------------------------------
370
371   overriding procedure Visit_Classifier_Template_Parameter
372    (Self    : in out UML_Containment_Iterator;
373     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
374     Element : not null AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access;
375     Control : in out Traverse_Control) is
376   begin
377      Self.Visit_Owned_Elements (Visitor, Element, Control);
378   end Visit_Classifier_Template_Parameter;
379
380   ------------------
381   -- Visit_Clause --
382   ------------------
383
384   overriding procedure Visit_Clause
385    (Self    : in out UML_Containment_Iterator;
386     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
387     Element : not null AMF.UML.Clauses.UML_Clause_Access;
388     Control : in out Traverse_Control) is
389   begin
390      Self.Visit_Owned_Elements (Visitor, Element, Control);
391   end Visit_Clause;
392
393   ------------------------------------
394   -- Visit_Clear_Association_Action --
395   ------------------------------------
396
397   overriding procedure Visit_Clear_Association_Action
398    (Self    : in out UML_Containment_Iterator;
399     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
400     Element : not null AMF.UML.Clear_Association_Actions.UML_Clear_Association_Action_Access;
401     Control : in out Traverse_Control) is
402   begin
403      Self.Visit_Owned_Elements (Visitor, Element, Control);
404   end Visit_Clear_Association_Action;
405
406   -------------------------------------------
407   -- Visit_Clear_Structural_Feature_Action --
408   -------------------------------------------
409
410   overriding procedure Visit_Clear_Structural_Feature_Action
411    (Self    : in out UML_Containment_Iterator;
412     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
413     Element : not null AMF.UML.Clear_Structural_Feature_Actions.UML_Clear_Structural_Feature_Action_Access;
414     Control : in out Traverse_Control) is
415   begin
416      Self.Visit_Owned_Elements (Visitor, Element, Control);
417   end Visit_Clear_Structural_Feature_Action;
418
419   ---------------------------------
420   -- Visit_Clear_Variable_Action --
421   ---------------------------------
422
423   overriding procedure Visit_Clear_Variable_Action
424    (Self    : in out UML_Containment_Iterator;
425     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
426     Element : not null AMF.UML.Clear_Variable_Actions.UML_Clear_Variable_Action_Access;
427     Control : in out Traverse_Control) is
428   begin
429      Self.Visit_Owned_Elements (Visitor, Element, Control);
430   end Visit_Clear_Variable_Action;
431
432   -------------------------
433   -- Visit_Collaboration --
434   -------------------------
435
436   overriding procedure Visit_Collaboration
437    (Self    : in out UML_Containment_Iterator;
438     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
439     Element : not null AMF.UML.Collaborations.UML_Collaboration_Access;
440     Control : in out Traverse_Control) is
441   begin
442      Self.Visit_Owned_Elements (Visitor, Element, Control);
443   end Visit_Collaboration;
444
445   -----------------------------
446   -- Visit_Collaboration_Use --
447   -----------------------------
448
449   overriding procedure Visit_Collaboration_Use
450    (Self    : in out UML_Containment_Iterator;
451     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
452     Element : not null AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access;
453     Control : in out Traverse_Control) is
454   begin
455      Self.Visit_Owned_Elements (Visitor, Element, Control);
456   end Visit_Collaboration_Use;
457
458   -----------------------------
459   -- Visit_Combined_Fragment --
460   -----------------------------
461
462   overriding procedure Visit_Combined_Fragment
463    (Self    : in out UML_Containment_Iterator;
464     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
465     Element : not null AMF.UML.Combined_Fragments.UML_Combined_Fragment_Access;
466     Control : in out Traverse_Control) is
467   begin
468      Self.Visit_Owned_Elements (Visitor, Element, Control);
469   end Visit_Combined_Fragment;
470
471   -------------------
472   -- Visit_Comment --
473   -------------------
474
475   overriding procedure Visit_Comment
476    (Self    : in out UML_Containment_Iterator;
477     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
478     Element : not null AMF.UML.Comments.UML_Comment_Access;
479     Control : in out Traverse_Control) is
480   begin
481      Self.Visit_Owned_Elements (Visitor, Element, Control);
482   end Visit_Comment;
483
484   ------------------------------
485   -- Visit_Communication_Path --
486   ------------------------------
487
488   overriding procedure Visit_Communication_Path
489    (Self    : in out UML_Containment_Iterator;
490     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
491     Element : not null AMF.UML.Communication_Paths.UML_Communication_Path_Access;
492     Control : in out Traverse_Control) is
493   begin
494      Self.Visit_Owned_Elements (Visitor, Element, Control);
495   end Visit_Communication_Path;
496
497   ---------------------
498   -- Visit_Component --
499   ---------------------
500
501   overriding procedure Visit_Component
502    (Self    : in out UML_Containment_Iterator;
503     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
504     Element : not null AMF.UML.Components.UML_Component_Access;
505     Control : in out Traverse_Control) is
506   begin
507      Self.Visit_Owned_Elements (Visitor, Element, Control);
508   end Visit_Component;
509
510   ---------------------------------
511   -- Visit_Component_Realization --
512   ---------------------------------
513
514   overriding procedure Visit_Component_Realization
515    (Self    : in out UML_Containment_Iterator;
516     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
517     Element : not null AMF.UML.Component_Realizations.UML_Component_Realization_Access;
518     Control : in out Traverse_Control) is
519   begin
520      Self.Visit_Owned_Elements (Visitor, Element, Control);
521   end Visit_Component_Realization;
522
523   ----------------------------
524   -- Visit_Conditional_Node --
525   ----------------------------
526
527   overriding procedure Visit_Conditional_Node
528    (Self    : in out UML_Containment_Iterator;
529     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
530     Element : not null AMF.UML.Conditional_Nodes.UML_Conditional_Node_Access;
531     Control : in out Traverse_Control) is
532   begin
533      Self.Visit_Owned_Elements (Visitor, Element, Control);
534   end Visit_Conditional_Node;
535
536   --------------------------------------------------
537   -- Visit_Connectable_Element_Template_Parameter --
538   --------------------------------------------------
539
540   overriding procedure Visit_Connectable_Element_Template_Parameter
541    (Self    : in out UML_Containment_Iterator;
542     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
543     Element : not null AMF.UML.Connectable_Element_Template_Parameters.UML_Connectable_Element_Template_Parameter_Access;
544     Control : in out Traverse_Control) is
545   begin
546      Self.Visit_Owned_Elements (Visitor, Element, Control);
547   end Visit_Connectable_Element_Template_Parameter;
548
549   --------------------------------------
550   -- Visit_Connection_Point_Reference --
551   --------------------------------------
552
553   overriding procedure Visit_Connection_Point_Reference
554    (Self    : in out UML_Containment_Iterator;
555     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
556     Element : not null AMF.UML.Connection_Point_References.UML_Connection_Point_Reference_Access;
557     Control : in out Traverse_Control) is
558   begin
559      Self.Visit_Owned_Elements (Visitor, Element, Control);
560   end Visit_Connection_Point_Reference;
561
562   ---------------------
563   -- Visit_Connector --
564   ---------------------
565
566   overriding procedure Visit_Connector
567    (Self    : in out UML_Containment_Iterator;
568     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
569     Element : not null AMF.UML.Connectors.UML_Connector_Access;
570     Control : in out Traverse_Control) is
571   begin
572      Self.Visit_Owned_Elements (Visitor, Element, Control);
573   end Visit_Connector;
574
575   -------------------------
576   -- Visit_Connector_End --
577   -------------------------
578
579   overriding procedure Visit_Connector_End
580    (Self    : in out UML_Containment_Iterator;
581     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
582     Element : not null AMF.UML.Connector_Ends.UML_Connector_End_Access;
583     Control : in out Traverse_Control) is
584   begin
585      Self.Visit_Owned_Elements (Visitor, Element, Control);
586   end Visit_Connector_End;
587
588   ------------------------------------
589   -- Visit_Consider_Ignore_Fragment --
590   ------------------------------------
591
592   overriding procedure Visit_Consider_Ignore_Fragment
593    (Self    : in out UML_Containment_Iterator;
594     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
595     Element : not null AMF.UML.Consider_Ignore_Fragments.UML_Consider_Ignore_Fragment_Access;
596     Control : in out Traverse_Control) is
597   begin
598      Self.Visit_Owned_Elements (Visitor, Element, Control);
599   end Visit_Consider_Ignore_Fragment;
600
601   ----------------------
602   -- Visit_Constraint --
603   ----------------------
604
605   overriding procedure Visit_Constraint
606    (Self    : in out UML_Containment_Iterator;
607     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
608     Element : not null AMF.UML.Constraints.UML_Constraint_Access;
609     Control : in out Traverse_Control) is
610   begin
611      Self.Visit_Owned_Elements (Visitor, Element, Control);
612   end Visit_Constraint;
613
614   ------------------------
615   -- Visit_Continuation --
616   ------------------------
617
618   overriding procedure Visit_Continuation
619    (Self    : in out UML_Containment_Iterator;
620     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
621     Element : not null AMF.UML.Continuations.UML_Continuation_Access;
622     Control : in out Traverse_Control) is
623   begin
624      Self.Visit_Owned_Elements (Visitor, Element, Control);
625   end Visit_Continuation;
626
627   ------------------------
628   -- Visit_Control_Flow --
629   ------------------------
630
631   overriding procedure Visit_Control_Flow
632    (Self    : in out UML_Containment_Iterator;
633     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
634     Element : not null AMF.UML.Control_Flows.UML_Control_Flow_Access;
635     Control : in out Traverse_Control) is
636   begin
637      Self.Visit_Owned_Elements (Visitor, Element, Control);
638   end Visit_Control_Flow;
639
640   ------------------------------
641   -- Visit_Create_Link_Action --
642   ------------------------------
643
644   overriding procedure Visit_Create_Link_Action
645    (Self    : in out UML_Containment_Iterator;
646     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
647     Element : not null AMF.UML.Create_Link_Actions.UML_Create_Link_Action_Access;
648     Control : in out Traverse_Control) is
649   begin
650      Self.Visit_Owned_Elements (Visitor, Element, Control);
651   end Visit_Create_Link_Action;
652
653   -------------------------------------
654   -- Visit_Create_Link_Object_Action --
655   -------------------------------------
656
657   overriding procedure Visit_Create_Link_Object_Action
658    (Self    : in out UML_Containment_Iterator;
659     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
660     Element : not null AMF.UML.Create_Link_Object_Actions.UML_Create_Link_Object_Action_Access;
661     Control : in out Traverse_Control) is
662   begin
663      Self.Visit_Owned_Elements (Visitor, Element, Control);
664   end Visit_Create_Link_Object_Action;
665
666   --------------------------------
667   -- Visit_Create_Object_Action --
668   --------------------------------
669
670   overriding procedure Visit_Create_Object_Action
671    (Self    : in out UML_Containment_Iterator;
672     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
673     Element : not null AMF.UML.Create_Object_Actions.UML_Create_Object_Action_Access;
674     Control : in out Traverse_Control) is
675   begin
676      Self.Visit_Owned_Elements (Visitor, Element, Control);
677   end Visit_Create_Object_Action;
678
679   ---------------------------
680   -- Visit_Data_Store_Node --
681   ---------------------------
682
683   overriding procedure Visit_Data_Store_Node
684    (Self    : in out UML_Containment_Iterator;
685     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
686     Element : not null AMF.UML.Data_Store_Nodes.UML_Data_Store_Node_Access;
687     Control : in out Traverse_Control) is
688   begin
689      Self.Visit_Owned_Elements (Visitor, Element, Control);
690   end Visit_Data_Store_Node;
691
692   ---------------------
693   -- Visit_Data_Type --
694   ---------------------
695
696   overriding procedure Visit_Data_Type
697    (Self    : in out UML_Containment_Iterator;
698     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
699     Element : not null AMF.UML.Data_Types.UML_Data_Type_Access;
700     Control : in out Traverse_Control) is
701   begin
702      Self.Visit_Owned_Elements (Visitor, Element, Control);
703   end Visit_Data_Type;
704
705   -------------------------
706   -- Visit_Decision_Node --
707   -------------------------
708
709   overriding procedure Visit_Decision_Node
710    (Self    : in out UML_Containment_Iterator;
711     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
712     Element : not null AMF.UML.Decision_Nodes.UML_Decision_Node_Access;
713     Control : in out Traverse_Control) is
714   begin
715      Self.Visit_Owned_Elements (Visitor, Element, Control);
716   end Visit_Decision_Node;
717
718   ----------------------
719   -- Visit_Dependency --
720   ----------------------
721
722   overriding procedure Visit_Dependency
723    (Self    : in out UML_Containment_Iterator;
724     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
725     Element : not null AMF.UML.Dependencies.UML_Dependency_Access;
726     Control : in out Traverse_Control) is
727   begin
728      Self.Visit_Owned_Elements (Visitor, Element, Control);
729   end Visit_Dependency;
730
731   ----------------------
732   -- Visit_Deployment --
733   ----------------------
734
735   overriding procedure Visit_Deployment
736    (Self    : in out UML_Containment_Iterator;
737     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
738     Element : not null AMF.UML.Deployments.UML_Deployment_Access;
739     Control : in out Traverse_Control) is
740   begin
741      Self.Visit_Owned_Elements (Visitor, Element, Control);
742   end Visit_Deployment;
743
744   ------------------------------------
745   -- Visit_Deployment_Specification --
746   ------------------------------------
747
748   overriding procedure Visit_Deployment_Specification
749    (Self    : in out UML_Containment_Iterator;
750     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
751     Element : not null AMF.UML.Deployment_Specifications.UML_Deployment_Specification_Access;
752     Control : in out Traverse_Control) is
753   begin
754      Self.Visit_Owned_Elements (Visitor, Element, Control);
755   end Visit_Deployment_Specification;
756
757   -------------------------------
758   -- Visit_Destroy_Link_Action --
759   -------------------------------
760
761   overriding procedure Visit_Destroy_Link_Action
762    (Self    : in out UML_Containment_Iterator;
763     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
764     Element : not null AMF.UML.Destroy_Link_Actions.UML_Destroy_Link_Action_Access;
765     Control : in out Traverse_Control) is
766   begin
767      Self.Visit_Owned_Elements (Visitor, Element, Control);
768   end Visit_Destroy_Link_Action;
769
770   ---------------------------------
771   -- Visit_Destroy_Object_Action --
772   ---------------------------------
773
774   overriding procedure Visit_Destroy_Object_Action
775    (Self    : in out UML_Containment_Iterator;
776     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
777     Element : not null AMF.UML.Destroy_Object_Actions.UML_Destroy_Object_Action_Access;
778     Control : in out Traverse_Control) is
779   begin
780      Self.Visit_Owned_Elements (Visitor, Element, Control);
781   end Visit_Destroy_Object_Action;
782
783   ------------------------------------------------
784   -- Visit_Destruction_Occurrence_Specification --
785   ------------------------------------------------
786
787   overriding procedure Visit_Destruction_Occurrence_Specification
788    (Self    : in out UML_Containment_Iterator;
789     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
790     Element : not null AMF.UML.Destruction_Occurrence_Specifications.UML_Destruction_Occurrence_Specification_Access;
791     Control : in out Traverse_Control) is
792   begin
793      Self.Visit_Owned_Elements (Visitor, Element, Control);
794   end Visit_Destruction_Occurrence_Specification;
795
796   ------------------
797   -- Visit_Device --
798   ------------------
799
800   overriding procedure Visit_Device
801    (Self    : in out UML_Containment_Iterator;
802     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
803     Element : not null AMF.UML.Devices.UML_Device_Access;
804     Control : in out Traverse_Control) is
805   begin
806      Self.Visit_Owned_Elements (Visitor, Element, Control);
807   end Visit_Device;
808
809   --------------------
810   -- Visit_Duration --
811   --------------------
812
813   overriding procedure Visit_Duration
814    (Self    : in out UML_Containment_Iterator;
815     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
816     Element : not null AMF.UML.Durations.UML_Duration_Access;
817     Control : in out Traverse_Control) is
818   begin
819      Self.Visit_Owned_Elements (Visitor, Element, Control);
820   end Visit_Duration;
821
822   -------------------------------
823   -- Visit_Duration_Constraint --
824   -------------------------------
825
826   overriding procedure Visit_Duration_Constraint
827    (Self    : in out UML_Containment_Iterator;
828     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
829     Element : not null AMF.UML.Duration_Constraints.UML_Duration_Constraint_Access;
830     Control : in out Traverse_Control) is
831   begin
832      Self.Visit_Owned_Elements (Visitor, Element, Control);
833   end Visit_Duration_Constraint;
834
835   -----------------------------
836   -- Visit_Duration_Interval --
837   -----------------------------
838
839   overriding procedure Visit_Duration_Interval
840    (Self    : in out UML_Containment_Iterator;
841     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
842     Element : not null AMF.UML.Duration_Intervals.UML_Duration_Interval_Access;
843     Control : in out Traverse_Control) is
844   begin
845      Self.Visit_Owned_Elements (Visitor, Element, Control);
846   end Visit_Duration_Interval;
847
848   --------------------------------
849   -- Visit_Duration_Observation --
850   --------------------------------
851
852   overriding procedure Visit_Duration_Observation
853    (Self    : in out UML_Containment_Iterator;
854     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
855     Element : not null AMF.UML.Duration_Observations.UML_Duration_Observation_Access;
856     Control : in out Traverse_Control) is
857   begin
858      Self.Visit_Owned_Elements (Visitor, Element, Control);
859   end Visit_Duration_Observation;
860
861   --------------------------
862   -- Visit_Element_Import --
863   --------------------------
864
865   overriding procedure Visit_Element_Import
866    (Self    : in out UML_Containment_Iterator;
867     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
868     Element : not null AMF.UML.Element_Imports.UML_Element_Import_Access;
869     Control : in out Traverse_Control) is
870   begin
871      Self.Visit_Owned_Elements (Visitor, Element, Control);
872   end Visit_Element_Import;
873
874   -----------------------
875   -- Visit_Enumeration --
876   -----------------------
877
878   overriding procedure Visit_Enumeration
879    (Self    : in out UML_Containment_Iterator;
880     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
881     Element : not null AMF.UML.Enumerations.UML_Enumeration_Access;
882     Control : in out Traverse_Control) is
883   begin
884      Self.Visit_Owned_Elements (Visitor, Element, Control);
885   end Visit_Enumeration;
886
887   -------------------------------
888   -- Visit_Enumeration_Literal --
889   -------------------------------
890
891   overriding procedure Visit_Enumeration_Literal
892    (Self    : in out UML_Containment_Iterator;
893     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
894     Element : not null AMF.UML.Enumeration_Literals.UML_Enumeration_Literal_Access;
895     Control : in out Traverse_Control) is
896   begin
897      Self.Visit_Owned_Elements (Visitor, Element, Control);
898   end Visit_Enumeration_Literal;
899
900   -----------------------------
901   -- Visit_Exception_Handler --
902   -----------------------------
903
904   overriding procedure Visit_Exception_Handler
905    (Self    : in out UML_Containment_Iterator;
906     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
907     Element : not null AMF.UML.Exception_Handlers.UML_Exception_Handler_Access;
908     Control : in out Traverse_Control) is
909   begin
910      Self.Visit_Owned_Elements (Visitor, Element, Control);
911   end Visit_Exception_Handler;
912
913   ---------------------------------
914   -- Visit_Execution_Environment --
915   ---------------------------------
916
917   overriding procedure Visit_Execution_Environment
918    (Self    : in out UML_Containment_Iterator;
919     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
920     Element : not null AMF.UML.Execution_Environments.UML_Execution_Environment_Access;
921     Control : in out Traverse_Control) is
922   begin
923      Self.Visit_Owned_Elements (Visitor, Element, Control);
924   end Visit_Execution_Environment;
925
926   ----------------------------------------------
927   -- Visit_Execution_Occurrence_Specification --
928   ----------------------------------------------
929
930   overriding procedure Visit_Execution_Occurrence_Specification
931    (Self    : in out UML_Containment_Iterator;
932     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
933     Element : not null AMF.UML.Execution_Occurrence_Specifications.UML_Execution_Occurrence_Specification_Access;
934     Control : in out Traverse_Control) is
935   begin
936      Self.Visit_Owned_Elements (Visitor, Element, Control);
937   end Visit_Execution_Occurrence_Specification;
938
939   --------------------------
940   -- Visit_Expansion_Node --
941   --------------------------
942
943   overriding procedure Visit_Expansion_Node
944    (Self    : in out UML_Containment_Iterator;
945     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
946     Element : not null AMF.UML.Expansion_Nodes.UML_Expansion_Node_Access;
947     Control : in out Traverse_Control) is
948   begin
949      Self.Visit_Owned_Elements (Visitor, Element, Control);
950   end Visit_Expansion_Node;
951
952   ----------------------------
953   -- Visit_Expansion_Region --
954   ----------------------------
955
956   overriding procedure Visit_Expansion_Region
957    (Self    : in out UML_Containment_Iterator;
958     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
959     Element : not null AMF.UML.Expansion_Regions.UML_Expansion_Region_Access;
960     Control : in out Traverse_Control) is
961   begin
962      Self.Visit_Owned_Elements (Visitor, Element, Control);
963   end Visit_Expansion_Region;
964
965   ----------------------
966   -- Visit_Expression --
967   ----------------------
968
969   overriding procedure Visit_Expression
970    (Self    : in out UML_Containment_Iterator;
971     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
972     Element : not null AMF.UML.Expressions.UML_Expression_Access;
973     Control : in out Traverse_Control) is
974   begin
975      Self.Visit_Owned_Elements (Visitor, Element, Control);
976   end Visit_Expression;
977
978   ------------------
979   -- Visit_Extend --
980   ------------------
981
982   overriding procedure Visit_Extend
983    (Self    : in out UML_Containment_Iterator;
984     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
985     Element : not null AMF.UML.Extends.UML_Extend_Access;
986     Control : in out Traverse_Control) is
987   begin
988      Self.Visit_Owned_Elements (Visitor, Element, Control);
989   end Visit_Extend;
990
991   ---------------------
992   -- Visit_Extension --
993   ---------------------
994
995   overriding procedure Visit_Extension
996    (Self    : in out UML_Containment_Iterator;
997     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
998     Element : not null AMF.UML.Extensions.UML_Extension_Access;
999     Control : in out Traverse_Control) is
1000   begin
1001      Self.Visit_Owned_Elements (Visitor, Element, Control);
1002   end Visit_Extension;
1003
1004   -------------------------
1005   -- Visit_Extension_End --
1006   -------------------------
1007
1008   overriding procedure Visit_Extension_End
1009    (Self    : in out UML_Containment_Iterator;
1010     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1011     Element : not null AMF.UML.Extension_Ends.UML_Extension_End_Access;
1012     Control : in out Traverse_Control) is
1013   begin
1014      Self.Visit_Owned_Elements (Visitor, Element, Control);
1015   end Visit_Extension_End;
1016
1017   ---------------------------
1018   -- Visit_Extension_Point --
1019   ---------------------------
1020
1021   overriding procedure Visit_Extension_Point
1022    (Self    : in out UML_Containment_Iterator;
1023     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1024     Element : not null AMF.UML.Extension_Points.UML_Extension_Point_Access;
1025     Control : in out Traverse_Control) is
1026   begin
1027      Self.Visit_Owned_Elements (Visitor, Element, Control);
1028   end Visit_Extension_Point;
1029
1030   -----------------------
1031   -- Visit_Final_State --
1032   -----------------------
1033
1034   overriding procedure Visit_Final_State
1035    (Self    : in out UML_Containment_Iterator;
1036     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1037     Element : not null AMF.UML.Final_States.UML_Final_State_Access;
1038     Control : in out Traverse_Control) is
1039   begin
1040      Self.Visit_Owned_Elements (Visitor, Element, Control);
1041   end Visit_Final_State;
1042
1043   ---------------------------
1044   -- Visit_Flow_Final_Node --
1045   ---------------------------
1046
1047   overriding procedure Visit_Flow_Final_Node
1048    (Self    : in out UML_Containment_Iterator;
1049     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1050     Element : not null AMF.UML.Flow_Final_Nodes.UML_Flow_Final_Node_Access;
1051     Control : in out Traverse_Control) is
1052   begin
1053      Self.Visit_Owned_Elements (Visitor, Element, Control);
1054   end Visit_Flow_Final_Node;
1055
1056   ---------------------
1057   -- Visit_Fork_Node --
1058   ---------------------
1059
1060   overriding procedure Visit_Fork_Node
1061    (Self    : in out UML_Containment_Iterator;
1062     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1063     Element : not null AMF.UML.Fork_Nodes.UML_Fork_Node_Access;
1064     Control : in out Traverse_Control) is
1065   begin
1066      Self.Visit_Owned_Elements (Visitor, Element, Control);
1067   end Visit_Fork_Node;
1068
1069   -----------------------------
1070   -- Visit_Function_Behavior --
1071   -----------------------------
1072
1073   overriding procedure Visit_Function_Behavior
1074    (Self    : in out UML_Containment_Iterator;
1075     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1076     Element : not null AMF.UML.Function_Behaviors.UML_Function_Behavior_Access;
1077     Control : in out Traverse_Control) is
1078   begin
1079      Self.Visit_Owned_Elements (Visitor, Element, Control);
1080   end Visit_Function_Behavior;
1081
1082   ----------------
1083   -- Visit_Gate --
1084   ----------------
1085
1086   overriding procedure Visit_Gate
1087    (Self    : in out UML_Containment_Iterator;
1088     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1089     Element : not null AMF.UML.Gates.UML_Gate_Access;
1090     Control : in out Traverse_Control) is
1091   begin
1092      Self.Visit_Owned_Elements (Visitor, Element, Control);
1093   end Visit_Gate;
1094
1095   ----------------------------
1096   -- Visit_General_Ordering --
1097   ----------------------------
1098
1099   overriding procedure Visit_General_Ordering
1100    (Self    : in out UML_Containment_Iterator;
1101     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1102     Element : not null AMF.UML.General_Orderings.UML_General_Ordering_Access;
1103     Control : in out Traverse_Control) is
1104   begin
1105      Self.Visit_Owned_Elements (Visitor, Element, Control);
1106   end Visit_General_Ordering;
1107
1108   --------------------------
1109   -- Visit_Generalization --
1110   --------------------------
1111
1112   overriding procedure Visit_Generalization
1113    (Self    : in out UML_Containment_Iterator;
1114     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1115     Element : not null AMF.UML.Generalizations.UML_Generalization_Access;
1116     Control : in out Traverse_Control) is
1117   begin
1118      Self.Visit_Owned_Elements (Visitor, Element, Control);
1119   end Visit_Generalization;
1120
1121   ------------------------------
1122   -- Visit_Generalization_Set --
1123   ------------------------------
1124
1125   overriding procedure Visit_Generalization_Set
1126    (Self    : in out UML_Containment_Iterator;
1127     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1128     Element : not null AMF.UML.Generalization_Sets.UML_Generalization_Set_Access;
1129     Control : in out Traverse_Control) is
1130   begin
1131      Self.Visit_Owned_Elements (Visitor, Element, Control);
1132   end Visit_Generalization_Set;
1133
1134   -----------------
1135   -- Visit_Image --
1136   -----------------
1137
1138   overriding procedure Visit_Image
1139    (Self    : in out UML_Containment_Iterator;
1140     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1141     Element : not null AMF.UML.Images.UML_Image_Access;
1142     Control : in out Traverse_Control) is
1143   begin
1144      Self.Visit_Owned_Elements (Visitor, Element, Control);
1145   end Visit_Image;
1146
1147   -------------------
1148   -- Visit_Include --
1149   -------------------
1150
1151   overriding procedure Visit_Include
1152    (Self    : in out UML_Containment_Iterator;
1153     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1154     Element : not null AMF.UML.Includes.UML_Include_Access;
1155     Control : in out Traverse_Control) is
1156   begin
1157      Self.Visit_Owned_Elements (Visitor, Element, Control);
1158   end Visit_Include;
1159
1160   ----------------------------
1161   -- Visit_Information_Flow --
1162   ----------------------------
1163
1164   overriding procedure Visit_Information_Flow
1165    (Self    : in out UML_Containment_Iterator;
1166     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1167     Element : not null AMF.UML.Information_Flows.UML_Information_Flow_Access;
1168     Control : in out Traverse_Control) is
1169   begin
1170      Self.Visit_Owned_Elements (Visitor, Element, Control);
1171   end Visit_Information_Flow;
1172
1173   ----------------------------
1174   -- Visit_Information_Item --
1175   ----------------------------
1176
1177   overriding procedure Visit_Information_Item
1178    (Self    : in out UML_Containment_Iterator;
1179     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1180     Element : not null AMF.UML.Information_Items.UML_Information_Item_Access;
1181     Control : in out Traverse_Control) is
1182   begin
1183      Self.Visit_Owned_Elements (Visitor, Element, Control);
1184   end Visit_Information_Item;
1185
1186   ------------------------
1187   -- Visit_Initial_Node --
1188   ------------------------
1189
1190   overriding procedure Visit_Initial_Node
1191    (Self    : in out UML_Containment_Iterator;
1192     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1193     Element : not null AMF.UML.Initial_Nodes.UML_Initial_Node_Access;
1194     Control : in out Traverse_Control) is
1195   begin
1196      Self.Visit_Owned_Elements (Visitor, Element, Control);
1197   end Visit_Initial_Node;
1198
1199   ---------------------
1200   -- Visit_Input_Pin --
1201   ---------------------
1202
1203   overriding procedure Visit_Input_Pin
1204    (Self    : in out UML_Containment_Iterator;
1205     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1206     Element : not null AMF.UML.Input_Pins.UML_Input_Pin_Access;
1207     Control : in out Traverse_Control) is
1208   begin
1209      Self.Visit_Owned_Elements (Visitor, Element, Control);
1210   end Visit_Input_Pin;
1211
1212   ----------------------------------
1213   -- Visit_Instance_Specification --
1214   ----------------------------------
1215
1216   overriding procedure Visit_Instance_Specification
1217    (Self    : in out UML_Containment_Iterator;
1218     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1219     Element : not null AMF.UML.Instance_Specifications.UML_Instance_Specification_Access;
1220     Control : in out Traverse_Control) is
1221   begin
1222      Self.Visit_Owned_Elements (Visitor, Element, Control);
1223   end Visit_Instance_Specification;
1224
1225   --------------------------
1226   -- Visit_Instance_Value --
1227   --------------------------
1228
1229   overriding procedure Visit_Instance_Value
1230    (Self    : in out UML_Containment_Iterator;
1231     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1232     Element : not null AMF.UML.Instance_Values.UML_Instance_Value_Access;
1233     Control : in out Traverse_Control) is
1234   begin
1235      Self.Visit_Owned_Elements (Visitor, Element, Control);
1236   end Visit_Instance_Value;
1237
1238   -----------------------
1239   -- Visit_Interaction --
1240   -----------------------
1241
1242   overriding procedure Visit_Interaction
1243    (Self    : in out UML_Containment_Iterator;
1244     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1245     Element : not null AMF.UML.Interactions.UML_Interaction_Access;
1246     Control : in out Traverse_Control) is
1247   begin
1248      Self.Visit_Owned_Elements (Visitor, Element, Control);
1249   end Visit_Interaction;
1250
1251   ----------------------------------
1252   -- Visit_Interaction_Constraint --
1253   ----------------------------------
1254
1255   overriding procedure Visit_Interaction_Constraint
1256    (Self    : in out UML_Containment_Iterator;
1257     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1258     Element : not null AMF.UML.Interaction_Constraints.UML_Interaction_Constraint_Access;
1259     Control : in out Traverse_Control) is
1260   begin
1261      Self.Visit_Owned_Elements (Visitor, Element, Control);
1262   end Visit_Interaction_Constraint;
1263
1264   -------------------------------
1265   -- Visit_Interaction_Operand --
1266   -------------------------------
1267
1268   overriding procedure Visit_Interaction_Operand
1269    (Self    : in out UML_Containment_Iterator;
1270     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1271     Element : not null AMF.UML.Interaction_Operands.UML_Interaction_Operand_Access;
1272     Control : in out Traverse_Control) is
1273   begin
1274      Self.Visit_Owned_Elements (Visitor, Element, Control);
1275   end Visit_Interaction_Operand;
1276
1277   ---------------------------
1278   -- Visit_Interaction_Use --
1279   ---------------------------
1280
1281   overriding procedure Visit_Interaction_Use
1282    (Self    : in out UML_Containment_Iterator;
1283     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1284     Element : not null AMF.UML.Interaction_Uses.UML_Interaction_Use_Access;
1285     Control : in out Traverse_Control) is
1286   begin
1287      Self.Visit_Owned_Elements (Visitor, Element, Control);
1288   end Visit_Interaction_Use;
1289
1290   ---------------------
1291   -- Visit_Interface --
1292   ---------------------
1293
1294   overriding procedure Visit_Interface
1295    (Self    : in out UML_Containment_Iterator;
1296     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1297     Element : not null AMF.UML.Interfaces.UML_Interface_Access;
1298     Control : in out Traverse_Control) is
1299   begin
1300      Self.Visit_Owned_Elements (Visitor, Element, Control);
1301   end Visit_Interface;
1302
1303   ---------------------------------
1304   -- Visit_Interface_Realization --
1305   ---------------------------------
1306
1307   overriding procedure Visit_Interface_Realization
1308    (Self    : in out UML_Containment_Iterator;
1309     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1310     Element : not null AMF.UML.Interface_Realizations.UML_Interface_Realization_Access;
1311     Control : in out Traverse_Control) is
1312   begin
1313      Self.Visit_Owned_Elements (Visitor, Element, Control);
1314   end Visit_Interface_Realization;
1315
1316   -----------------------------------------
1317   -- Visit_Interruptible_Activity_Region --
1318   -----------------------------------------
1319
1320   overriding procedure Visit_Interruptible_Activity_Region
1321    (Self    : in out UML_Containment_Iterator;
1322     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1323     Element : not null AMF.UML.Interruptible_Activity_Regions.UML_Interruptible_Activity_Region_Access;
1324     Control : in out Traverse_Control) is
1325   begin
1326      Self.Visit_Owned_Elements (Visitor, Element, Control);
1327   end Visit_Interruptible_Activity_Region;
1328
1329   --------------------
1330   -- Visit_Interval --
1331   --------------------
1332
1333   overriding procedure Visit_Interval
1334    (Self    : in out UML_Containment_Iterator;
1335     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1336     Element : not null AMF.UML.Intervals.UML_Interval_Access;
1337     Control : in out Traverse_Control) is
1338   begin
1339      Self.Visit_Owned_Elements (Visitor, Element, Control);
1340   end Visit_Interval;
1341
1342   -------------------------------
1343   -- Visit_Interval_Constraint --
1344   -------------------------------
1345
1346   overriding procedure Visit_Interval_Constraint
1347    (Self    : in out UML_Containment_Iterator;
1348     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1349     Element : not null AMF.UML.Interval_Constraints.UML_Interval_Constraint_Access;
1350     Control : in out Traverse_Control) is
1351   begin
1352      Self.Visit_Owned_Elements (Visitor, Element, Control);
1353   end Visit_Interval_Constraint;
1354
1355   ---------------------
1356   -- Visit_Join_Node --
1357   ---------------------
1358
1359   overriding procedure Visit_Join_Node
1360    (Self    : in out UML_Containment_Iterator;
1361     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1362     Element : not null AMF.UML.Join_Nodes.UML_Join_Node_Access;
1363     Control : in out Traverse_Control) is
1364   begin
1365      Self.Visit_Owned_Elements (Visitor, Element, Control);
1366   end Visit_Join_Node;
1367
1368   --------------------
1369   -- Visit_Lifeline --
1370   --------------------
1371
1372   overriding procedure Visit_Lifeline
1373    (Self    : in out UML_Containment_Iterator;
1374     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1375     Element : not null AMF.UML.Lifelines.UML_Lifeline_Access;
1376     Control : in out Traverse_Control) is
1377   begin
1378      Self.Visit_Owned_Elements (Visitor, Element, Control);
1379   end Visit_Lifeline;
1380
1381   ----------------------------------
1382   -- Visit_Link_End_Creation_Data --
1383   ----------------------------------
1384
1385   overriding procedure Visit_Link_End_Creation_Data
1386    (Self    : in out UML_Containment_Iterator;
1387     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1388     Element : not null AMF.UML.Link_End_Creation_Datas.UML_Link_End_Creation_Data_Access;
1389     Control : in out Traverse_Control) is
1390   begin
1391      Self.Visit_Owned_Elements (Visitor, Element, Control);
1392   end Visit_Link_End_Creation_Data;
1393
1394   -------------------------
1395   -- Visit_Link_End_Data --
1396   -------------------------
1397
1398   overriding procedure Visit_Link_End_Data
1399    (Self    : in out UML_Containment_Iterator;
1400     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1401     Element : not null AMF.UML.Link_End_Datas.UML_Link_End_Data_Access;
1402     Control : in out Traverse_Control) is
1403   begin
1404      Self.Visit_Owned_Elements (Visitor, Element, Control);
1405   end Visit_Link_End_Data;
1406
1407   -------------------------------------
1408   -- Visit_Link_End_Destruction_Data --
1409   -------------------------------------
1410
1411   overriding procedure Visit_Link_End_Destruction_Data
1412    (Self    : in out UML_Containment_Iterator;
1413     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1414     Element : not null AMF.UML.Link_End_Destruction_Datas.UML_Link_End_Destruction_Data_Access;
1415     Control : in out Traverse_Control) is
1416   begin
1417      Self.Visit_Owned_Elements (Visitor, Element, Control);
1418   end Visit_Link_End_Destruction_Data;
1419
1420   ---------------------------
1421   -- Visit_Literal_Boolean --
1422   ---------------------------
1423
1424   overriding procedure Visit_Literal_Boolean
1425    (Self    : in out UML_Containment_Iterator;
1426     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1427     Element : not null AMF.UML.Literal_Booleans.UML_Literal_Boolean_Access;
1428     Control : in out Traverse_Control) is
1429   begin
1430      Self.Visit_Owned_Elements (Visitor, Element, Control);
1431   end Visit_Literal_Boolean;
1432
1433   ---------------------------
1434   -- Visit_Literal_Integer --
1435   ---------------------------
1436
1437   overriding procedure Visit_Literal_Integer
1438    (Self    : in out UML_Containment_Iterator;
1439     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1440     Element : not null AMF.UML.Literal_Integers.UML_Literal_Integer_Access;
1441     Control : in out Traverse_Control) is
1442   begin
1443      Self.Visit_Owned_Elements (Visitor, Element, Control);
1444   end Visit_Literal_Integer;
1445
1446   ------------------------
1447   -- Visit_Literal_Null --
1448   ------------------------
1449
1450   overriding procedure Visit_Literal_Null
1451    (Self    : in out UML_Containment_Iterator;
1452     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1453     Element : not null AMF.UML.Literal_Nulls.UML_Literal_Null_Access;
1454     Control : in out Traverse_Control) is
1455   begin
1456      Self.Visit_Owned_Elements (Visitor, Element, Control);
1457   end Visit_Literal_Null;
1458
1459   ------------------------
1460   -- Visit_Literal_Real --
1461   ------------------------
1462
1463   overriding procedure Visit_Literal_Real
1464    (Self    : in out UML_Containment_Iterator;
1465     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1466     Element : not null AMF.UML.Literal_Reals.UML_Literal_Real_Access;
1467     Control : in out Traverse_Control) is
1468   begin
1469      Self.Visit_Owned_Elements (Visitor, Element, Control);
1470   end Visit_Literal_Real;
1471
1472   --------------------------
1473   -- Visit_Literal_String --
1474   --------------------------
1475
1476   overriding procedure Visit_Literal_String
1477    (Self    : in out UML_Containment_Iterator;
1478     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1479     Element : not null AMF.UML.Literal_Strings.UML_Literal_String_Access;
1480     Control : in out Traverse_Control) is
1481   begin
1482      Self.Visit_Owned_Elements (Visitor, Element, Control);
1483   end Visit_Literal_String;
1484
1485   -------------------------------------
1486   -- Visit_Literal_Unlimited_Natural --
1487   -------------------------------------
1488
1489   overriding procedure Visit_Literal_Unlimited_Natural
1490    (Self    : in out UML_Containment_Iterator;
1491     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1492     Element : not null AMF.UML.Literal_Unlimited_Naturals.UML_Literal_Unlimited_Natural_Access;
1493     Control : in out Traverse_Control) is
1494   begin
1495      Self.Visit_Owned_Elements (Visitor, Element, Control);
1496   end Visit_Literal_Unlimited_Natural;
1497
1498   ---------------------
1499   -- Visit_Loop_Node --
1500   ---------------------
1501
1502   overriding procedure Visit_Loop_Node
1503    (Self    : in out UML_Containment_Iterator;
1504     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1505     Element : not null AMF.UML.Loop_Nodes.UML_Loop_Node_Access;
1506     Control : in out Traverse_Control) is
1507   begin
1508      Self.Visit_Owned_Elements (Visitor, Element, Control);
1509   end Visit_Loop_Node;
1510
1511   -------------------------
1512   -- Visit_Manifestation --
1513   -------------------------
1514
1515   overriding procedure Visit_Manifestation
1516    (Self    : in out UML_Containment_Iterator;
1517     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1518     Element : not null AMF.UML.Manifestations.UML_Manifestation_Access;
1519     Control : in out Traverse_Control) is
1520   begin
1521      Self.Visit_Owned_Elements (Visitor, Element, Control);
1522   end Visit_Manifestation;
1523
1524   ----------------------
1525   -- Visit_Merge_Node --
1526   ----------------------
1527
1528   overriding procedure Visit_Merge_Node
1529    (Self    : in out UML_Containment_Iterator;
1530     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1531     Element : not null AMF.UML.Merge_Nodes.UML_Merge_Node_Access;
1532     Control : in out Traverse_Control) is
1533   begin
1534      Self.Visit_Owned_Elements (Visitor, Element, Control);
1535   end Visit_Merge_Node;
1536
1537   -------------------
1538   -- Visit_Message --
1539   -------------------
1540
1541   overriding procedure Visit_Message
1542    (Self    : in out UML_Containment_Iterator;
1543     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1544     Element : not null AMF.UML.Messages.UML_Message_Access;
1545     Control : in out Traverse_Control) is
1546   begin
1547      Self.Visit_Owned_Elements (Visitor, Element, Control);
1548   end Visit_Message;
1549
1550   --------------------------------------------
1551   -- Visit_Message_Occurrence_Specification --
1552   --------------------------------------------
1553
1554   overriding procedure Visit_Message_Occurrence_Specification
1555    (Self    : in out UML_Containment_Iterator;
1556     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1557     Element : not null AMF.UML.Message_Occurrence_Specifications.UML_Message_Occurrence_Specification_Access;
1558     Control : in out Traverse_Control) is
1559   begin
1560      Self.Visit_Owned_Elements (Visitor, Element, Control);
1561   end Visit_Message_Occurrence_Specification;
1562
1563   -----------------
1564   -- Visit_Model --
1565   -----------------
1566
1567   overriding procedure Visit_Model
1568    (Self    : in out UML_Containment_Iterator;
1569     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1570     Element : not null AMF.UML.Models.UML_Model_Access;
1571     Control : in out Traverse_Control) is
1572   begin
1573      Self.Visit_Package
1574       (Visitor,
1575        AMF.UML.Packages.UML_Package_Access (Element),
1576        Control);
1577   end Visit_Model;
1578
1579   ----------------
1580   -- Visit_Node --
1581   ----------------
1582
1583   overriding procedure Visit_Node
1584    (Self    : in out UML_Containment_Iterator;
1585     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1586     Element : not null AMF.UML.Nodes.UML_Node_Access;
1587     Control : in out Traverse_Control) is
1588   begin
1589      Self.Visit_Owned_Elements (Visitor, Element, Control);
1590   end Visit_Node;
1591
1592   -----------------------
1593   -- Visit_Object_Flow --
1594   -----------------------
1595
1596   overriding procedure Visit_Object_Flow
1597    (Self    : in out UML_Containment_Iterator;
1598     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1599     Element : not null AMF.UML.Object_Flows.UML_Object_Flow_Access;
1600     Control : in out Traverse_Control) is
1601   begin
1602      Self.Visit_Owned_Elements (Visitor, Element, Control);
1603   end Visit_Object_Flow;
1604
1605   ------------------------------------
1606   -- Visit_Occurrence_Specification --
1607   ------------------------------------
1608
1609   overriding procedure Visit_Occurrence_Specification
1610    (Self    : in out UML_Containment_Iterator;
1611     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1612     Element : not null AMF.UML.Occurrence_Specifications.UML_Occurrence_Specification_Access;
1613     Control : in out Traverse_Control) is
1614   begin
1615      Self.Visit_Owned_Elements (Visitor, Element, Control);
1616   end Visit_Occurrence_Specification;
1617
1618   -------------------------
1619   -- Visit_Opaque_Action --
1620   -------------------------
1621
1622   overriding procedure Visit_Opaque_Action
1623    (Self    : in out UML_Containment_Iterator;
1624     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1625     Element : not null AMF.UML.Opaque_Actions.UML_Opaque_Action_Access;
1626     Control : in out Traverse_Control) is
1627   begin
1628      Self.Visit_Owned_Elements (Visitor, Element, Control);
1629   end Visit_Opaque_Action;
1630
1631   ---------------------------
1632   -- Visit_Opaque_Behavior --
1633   ---------------------------
1634
1635   overriding procedure Visit_Opaque_Behavior
1636    (Self    : in out UML_Containment_Iterator;
1637     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1638     Element : not null AMF.UML.Opaque_Behaviors.UML_Opaque_Behavior_Access;
1639     Control : in out Traverse_Control) is
1640   begin
1641      Self.Visit_Owned_Elements (Visitor, Element, Control);
1642   end Visit_Opaque_Behavior;
1643
1644   -----------------------------
1645   -- Visit_Opaque_Expression --
1646   -----------------------------
1647
1648   overriding procedure Visit_Opaque_Expression
1649    (Self    : in out UML_Containment_Iterator;
1650     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1651     Element : not null AMF.UML.Opaque_Expressions.UML_Opaque_Expression_Access;
1652     Control : in out Traverse_Control) is
1653   begin
1654      Self.Visit_Owned_Elements (Visitor, Element, Control);
1655   end Visit_Opaque_Expression;
1656
1657   ---------------------
1658   -- Visit_Operation --
1659   ---------------------
1660
1661   overriding procedure Visit_Operation
1662    (Self    : in out UML_Containment_Iterator;
1663     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1664     Element : not null AMF.UML.Operations.UML_Operation_Access;
1665     Control : in out Traverse_Control) is
1666   begin
1667      Self.Visit_Owned_Elements (Visitor, Element, Control);
1668   end Visit_Operation;
1669
1670   ----------------------------------------
1671   -- Visit_Operation_Template_Parameter --
1672   ----------------------------------------
1673
1674   overriding procedure Visit_Operation_Template_Parameter
1675    (Self    : in out UML_Containment_Iterator;
1676     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1677     Element : not null AMF.UML.Operation_Template_Parameters.UML_Operation_Template_Parameter_Access;
1678     Control : in out Traverse_Control) is
1679   begin
1680      Self.Visit_Owned_Elements (Visitor, Element, Control);
1681   end Visit_Operation_Template_Parameter;
1682
1683   ----------------------
1684   -- Visit_Output_Pin --
1685   ----------------------
1686
1687   overriding procedure Visit_Output_Pin
1688    (Self    : in out UML_Containment_Iterator;
1689     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1690     Element : not null AMF.UML.Output_Pins.UML_Output_Pin_Access;
1691     Control : in out Traverse_Control) is
1692   begin
1693      Self.Visit_Owned_Elements (Visitor, Element, Control);
1694   end Visit_Output_Pin;
1695
1696   --------------------------
1697   -- Visit_Owned_Elements --
1698   --------------------------
1699
1700   procedure Visit_Owned_Elements
1701    (Self    : in out UML_Containment_Iterator'Class;
1702     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1703     Element : not null access AMF.UML.Elements.UML_Element'Class;
1704     Control : in out Traverse_Control)
1705   is
1706      Owned_Element : constant AMF.UML.Elements.Collections.Set_Of_UML_Element
1707        := Element.Get_Owned_Element;
1708
1709   begin
1710      for J in 1 .. Owned_Element.Length loop
1711         AMF.Visitors.Visit
1712          (Self,
1713           Visitor,
1714           AMF.Elements.Element_Access (Owned_Element.Element (J)),
1715           Control);
1716
1717         case Control is
1718            when Continue =>
1719               null;
1720
1721            when Abandon_Children =>
1722               Control := Continue;
1723
1724            when Abandon_Sibling =>
1725               Control := Continue;
1726
1727               exit;
1728
1729            when Terminate_Immediately =>
1730               exit;
1731         end case;
1732      end loop;
1733   end Visit_Owned_Elements;
1734
1735   -------------------
1736   -- Visit_Package --
1737   -------------------
1738
1739   overriding procedure Visit_Package
1740    (Self    : in out UML_Containment_Iterator;
1741     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1742     Element : not null AMF.UML.Packages.UML_Package_Access;
1743     Control : in out Traverse_Control) is
1744   begin
1745      Self.Visit_Owned_Elements (Visitor, Element, Control);
1746   end Visit_Package;
1747
1748   --------------------------
1749   -- Visit_Package_Import --
1750   --------------------------
1751
1752   overriding procedure Visit_Package_Import
1753    (Self    : in out UML_Containment_Iterator;
1754     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1755     Element : not null AMF.UML.Package_Imports.UML_Package_Import_Access;
1756     Control : in out Traverse_Control) is
1757   begin
1758      Self.Visit_Owned_Elements (Visitor, Element, Control);
1759   end Visit_Package_Import;
1760
1761   -------------------------
1762   -- Visit_Package_Merge --
1763   -------------------------
1764
1765   overriding procedure Visit_Package_Merge
1766    (Self    : in out UML_Containment_Iterator;
1767     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1768     Element : not null AMF.UML.Package_Merges.UML_Package_Merge_Access;
1769     Control : in out Traverse_Control) is
1770   begin
1771      Self.Visit_Owned_Elements (Visitor, Element, Control);
1772   end Visit_Package_Merge;
1773
1774   ---------------------
1775   -- Visit_Parameter --
1776   ---------------------
1777
1778   overriding procedure Visit_Parameter
1779    (Self    : in out UML_Containment_Iterator;
1780     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1781     Element : not null AMF.UML.Parameters.UML_Parameter_Access;
1782     Control : in out Traverse_Control) is
1783   begin
1784      Self.Visit_Owned_Elements (Visitor, Element, Control);
1785   end Visit_Parameter;
1786
1787   -------------------------
1788   -- Visit_Parameter_Set --
1789   -------------------------
1790
1791   overriding procedure Visit_Parameter_Set
1792    (Self    : in out UML_Containment_Iterator;
1793     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1794     Element : not null AMF.UML.Parameter_Sets.UML_Parameter_Set_Access;
1795     Control : in out Traverse_Control) is
1796   begin
1797      Self.Visit_Owned_Elements (Visitor, Element, Control);
1798   end Visit_Parameter_Set;
1799
1800   ------------------------------
1801   -- Visit_Part_Decomposition --
1802   ------------------------------
1803
1804   overriding procedure Visit_Part_Decomposition
1805    (Self    : in out UML_Containment_Iterator;
1806     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1807     Element : not null AMF.UML.Part_Decompositions.UML_Part_Decomposition_Access;
1808     Control : in out Traverse_Control) is
1809   begin
1810      Self.Visit_Owned_Elements (Visitor, Element, Control);
1811   end Visit_Part_Decomposition;
1812
1813   ----------------
1814   -- Visit_Port --
1815   ----------------
1816
1817   overriding procedure Visit_Port
1818    (Self    : in out UML_Containment_Iterator;
1819     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1820     Element : not null AMF.UML.Ports.UML_Port_Access;
1821     Control : in out Traverse_Control) is
1822   begin
1823      Self.Visit_Owned_Elements (Visitor, Element, Control);
1824   end Visit_Port;
1825
1826   --------------------------
1827   -- Visit_Primitive_Type --
1828   --------------------------
1829
1830   overriding procedure Visit_Primitive_Type
1831    (Self    : in out UML_Containment_Iterator;
1832     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1833     Element : not null AMF.UML.Primitive_Types.UML_Primitive_Type_Access;
1834     Control : in out Traverse_Control) is
1835   begin
1836      Self.Visit_Owned_Elements (Visitor, Element, Control);
1837   end Visit_Primitive_Type;
1838
1839   -------------------
1840   -- Visit_Profile --
1841   -------------------
1842
1843   overriding procedure Visit_Profile
1844    (Self    : in out UML_Containment_Iterator;
1845     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1846     Element : not null AMF.UML.Profiles.UML_Profile_Access;
1847     Control : in out Traverse_Control) is
1848   begin
1849      Self.Visit_Owned_Elements (Visitor, Element, Control);
1850   end Visit_Profile;
1851
1852   -------------------------------
1853   -- Visit_Profile_Application --
1854   -------------------------------
1855
1856   overriding procedure Visit_Profile_Application
1857    (Self    : in out UML_Containment_Iterator;
1858     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1859     Element : not null AMF.UML.Profile_Applications.UML_Profile_Application_Access;
1860     Control : in out Traverse_Control) is
1861   begin
1862      Self.Visit_Owned_Elements (Visitor, Element, Control);
1863   end Visit_Profile_Application;
1864
1865   --------------------
1866   -- Visit_Property --
1867   --------------------
1868
1869   overriding procedure Visit_Property
1870    (Self    : in out UML_Containment_Iterator;
1871     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1872     Element : not null AMF.UML.Properties.UML_Property_Access;
1873     Control : in out Traverse_Control) is
1874   begin
1875      Self.Visit_Owned_Elements (Visitor, Element, Control);
1876   end Visit_Property;
1877
1878   --------------------------------
1879   -- Visit_Protocol_Conformance --
1880   --------------------------------
1881
1882   overriding procedure Visit_Protocol_Conformance
1883    (Self    : in out UML_Containment_Iterator;
1884     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1885     Element : not null AMF.UML.Protocol_Conformances.UML_Protocol_Conformance_Access;
1886     Control : in out Traverse_Control) is
1887   begin
1888      Self.Visit_Owned_Elements (Visitor, Element, Control);
1889   end Visit_Protocol_Conformance;
1890
1891   ----------------------------------
1892   -- Visit_Protocol_State_Machine --
1893   ----------------------------------
1894
1895   overriding procedure Visit_Protocol_State_Machine
1896    (Self    : in out UML_Containment_Iterator;
1897     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1898     Element : not null AMF.UML.Protocol_State_Machines.UML_Protocol_State_Machine_Access;
1899     Control : in out Traverse_Control) is
1900   begin
1901      Self.Visit_Owned_Elements (Visitor, Element, Control);
1902   end Visit_Protocol_State_Machine;
1903
1904   -------------------------------
1905   -- Visit_Protocol_Transition --
1906   -------------------------------
1907
1908   overriding procedure Visit_Protocol_Transition
1909    (Self    : in out UML_Containment_Iterator;
1910     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1911     Element : not null AMF.UML.Protocol_Transitions.UML_Protocol_Transition_Access;
1912     Control : in out Traverse_Control) is
1913   begin
1914      Self.Visit_Owned_Elements (Visitor, Element, Control);
1915   end Visit_Protocol_Transition;
1916
1917   -----------------------
1918   -- Visit_Pseudostate --
1919   -----------------------
1920
1921   overriding procedure Visit_Pseudostate
1922    (Self    : in out UML_Containment_Iterator;
1923     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1924     Element : not null AMF.UML.Pseudostates.UML_Pseudostate_Access;
1925     Control : in out Traverse_Control) is
1926   begin
1927      Self.Visit_Owned_Elements (Visitor, Element, Control);
1928   end Visit_Pseudostate;
1929
1930   ---------------------------
1931   -- Visit_Qualifier_Value --
1932   ---------------------------
1933
1934   overriding procedure Visit_Qualifier_Value
1935    (Self    : in out UML_Containment_Iterator;
1936     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1937     Element : not null AMF.UML.Qualifier_Values.UML_Qualifier_Value_Access;
1938     Control : in out Traverse_Control) is
1939   begin
1940      Self.Visit_Owned_Elements (Visitor, Element, Control);
1941   end Visit_Qualifier_Value;
1942
1943   ----------------------------------
1944   -- Visit_Raise_Exception_Action --
1945   ----------------------------------
1946
1947   overriding procedure Visit_Raise_Exception_Action
1948    (Self    : in out UML_Containment_Iterator;
1949     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1950     Element : not null AMF.UML.Raise_Exception_Actions.UML_Raise_Exception_Action_Access;
1951     Control : in out Traverse_Control) is
1952   begin
1953      Self.Visit_Owned_Elements (Visitor, Element, Control);
1954   end Visit_Raise_Exception_Action;
1955
1956   ------------------------------
1957   -- Visit_Read_Extent_Action --
1958   ------------------------------
1959
1960   overriding procedure Visit_Read_Extent_Action
1961    (Self    : in out UML_Containment_Iterator;
1962     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1963     Element : not null AMF.UML.Read_Extent_Actions.UML_Read_Extent_Action_Access;
1964     Control : in out Traverse_Control) is
1965   begin
1966      Self.Visit_Owned_Elements (Visitor, Element, Control);
1967   end Visit_Read_Extent_Action;
1968
1969   --------------------------------------------
1970   -- Visit_Read_Is_Classified_Object_Action --
1971   --------------------------------------------
1972
1973   overriding procedure Visit_Read_Is_Classified_Object_Action
1974    (Self    : in out UML_Containment_Iterator;
1975     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1976     Element : not null AMF.UML.Read_Is_Classified_Object_Actions.UML_Read_Is_Classified_Object_Action_Access;
1977     Control : in out Traverse_Control) is
1978   begin
1979      Self.Visit_Owned_Elements (Visitor, Element, Control);
1980   end Visit_Read_Is_Classified_Object_Action;
1981
1982   ----------------------------
1983   -- Visit_Read_Link_Action --
1984   ----------------------------
1985
1986   overriding procedure Visit_Read_Link_Action
1987    (Self    : in out UML_Containment_Iterator;
1988     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
1989     Element : not null AMF.UML.Read_Link_Actions.UML_Read_Link_Action_Access;
1990     Control : in out Traverse_Control) is
1991   begin
1992      Self.Visit_Owned_Elements (Visitor, Element, Control);
1993   end Visit_Read_Link_Action;
1994
1995   ---------------------------------------
1996   -- Visit_Read_Link_Object_End_Action --
1997   ---------------------------------------
1998
1999   overriding procedure Visit_Read_Link_Object_End_Action
2000    (Self    : in out UML_Containment_Iterator;
2001     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2002     Element : not null AMF.UML.Read_Link_Object_End_Actions.UML_Read_Link_Object_End_Action_Access;
2003     Control : in out Traverse_Control) is
2004   begin
2005      Self.Visit_Owned_Elements (Visitor, Element, Control);
2006   end Visit_Read_Link_Object_End_Action;
2007
2008   -------------------------------------------------
2009   -- Visit_Read_Link_Object_End_Qualifier_Action --
2010   -------------------------------------------------
2011
2012   overriding procedure Visit_Read_Link_Object_End_Qualifier_Action
2013    (Self    : in out UML_Containment_Iterator;
2014     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2015     Element : not null AMF.UML.Read_Link_Object_End_Qualifier_Actions.UML_Read_Link_Object_End_Qualifier_Action_Access;
2016     Control : in out Traverse_Control) is
2017   begin
2018      Self.Visit_Owned_Elements (Visitor, Element, Control);
2019   end Visit_Read_Link_Object_End_Qualifier_Action;
2020
2021   ----------------------------
2022   -- Visit_Read_Self_Action --
2023   ----------------------------
2024
2025   overriding procedure Visit_Read_Self_Action
2026    (Self    : in out UML_Containment_Iterator;
2027     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2028     Element : not null AMF.UML.Read_Self_Actions.UML_Read_Self_Action_Access;
2029     Control : in out Traverse_Control) is
2030   begin
2031      Self.Visit_Owned_Elements (Visitor, Element, Control);
2032   end Visit_Read_Self_Action;
2033
2034   ------------------------------------------
2035   -- Visit_Read_Structural_Feature_Action --
2036   ------------------------------------------
2037
2038   overriding procedure Visit_Read_Structural_Feature_Action
2039    (Self    : in out UML_Containment_Iterator;
2040     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2041     Element : not null AMF.UML.Read_Structural_Feature_Actions.UML_Read_Structural_Feature_Action_Access;
2042     Control : in out Traverse_Control) is
2043   begin
2044      Self.Visit_Owned_Elements (Visitor, Element, Control);
2045   end Visit_Read_Structural_Feature_Action;
2046
2047   --------------------------------
2048   -- Visit_Read_Variable_Action --
2049   --------------------------------
2050
2051   overriding procedure Visit_Read_Variable_Action
2052    (Self    : in out UML_Containment_Iterator;
2053     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2054     Element : not null AMF.UML.Read_Variable_Actions.UML_Read_Variable_Action_Access;
2055     Control : in out Traverse_Control) is
2056   begin
2057      Self.Visit_Owned_Elements (Visitor, Element, Control);
2058   end Visit_Read_Variable_Action;
2059
2060   -----------------------
2061   -- Visit_Realization --
2062   -----------------------
2063
2064   overriding procedure Visit_Realization
2065    (Self    : in out UML_Containment_Iterator;
2066     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2067     Element : not null AMF.UML.Realizations.UML_Realization_Access;
2068     Control : in out Traverse_Control) is
2069   begin
2070      Self.Visit_Owned_Elements (Visitor, Element, Control);
2071   end Visit_Realization;
2072
2073   ---------------------
2074   -- Visit_Reception --
2075   ---------------------
2076
2077   overriding procedure Visit_Reception
2078    (Self    : in out UML_Containment_Iterator;
2079     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2080     Element : not null AMF.UML.Receptions.UML_Reception_Access;
2081     Control : in out Traverse_Control) is
2082   begin
2083      Self.Visit_Owned_Elements (Visitor, Element, Control);
2084   end Visit_Reception;
2085
2086   ------------------------------------
2087   -- Visit_Reclassify_Object_Action --
2088   ------------------------------------
2089
2090   overriding procedure Visit_Reclassify_Object_Action
2091    (Self    : in out UML_Containment_Iterator;
2092     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2093     Element : not null AMF.UML.Reclassify_Object_Actions.UML_Reclassify_Object_Action_Access;
2094     Control : in out Traverse_Control) is
2095   begin
2096      Self.Visit_Owned_Elements (Visitor, Element, Control);
2097   end Visit_Reclassify_Object_Action;
2098
2099   ------------------------------------------
2100   -- Visit_Redefinable_Template_Signature --
2101   ------------------------------------------
2102
2103   overriding procedure Visit_Redefinable_Template_Signature
2104    (Self    : in out UML_Containment_Iterator;
2105     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2106     Element : not null AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access;
2107     Control : in out Traverse_Control) is
2108   begin
2109      Self.Visit_Owned_Elements (Visitor, Element, Control);
2110   end Visit_Redefinable_Template_Signature;
2111
2112   -------------------------
2113   -- Visit_Reduce_Action --
2114   -------------------------
2115
2116   overriding procedure Visit_Reduce_Action
2117    (Self    : in out UML_Containment_Iterator;
2118     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2119     Element : not null AMF.UML.Reduce_Actions.UML_Reduce_Action_Access;
2120     Control : in out Traverse_Control) is
2121   begin
2122      Self.Visit_Owned_Elements (Visitor, Element, Control);
2123   end Visit_Reduce_Action;
2124
2125   ------------------
2126   -- Visit_Region --
2127   ------------------
2128
2129   overriding procedure Visit_Region
2130    (Self    : in out UML_Containment_Iterator;
2131     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2132     Element : not null AMF.UML.Regions.UML_Region_Access;
2133     Control : in out Traverse_Control) is
2134   begin
2135      Self.Visit_Owned_Elements (Visitor, Element, Control);
2136   end Visit_Region;
2137
2138   --------------------------------------------------
2139   -- Visit_Remove_Structural_Feature_Value_Action --
2140   --------------------------------------------------
2141
2142   overriding procedure Visit_Remove_Structural_Feature_Value_Action
2143    (Self    : in out UML_Containment_Iterator;
2144     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2145     Element : not null AMF.UML.Remove_Structural_Feature_Value_Actions.UML_Remove_Structural_Feature_Value_Action_Access;
2146     Control : in out Traverse_Control) is
2147   begin
2148      Self.Visit_Owned_Elements (Visitor, Element, Control);
2149   end Visit_Remove_Structural_Feature_Value_Action;
2150
2151   ----------------------------------------
2152   -- Visit_Remove_Variable_Value_Action --
2153   ----------------------------------------
2154
2155   overriding procedure Visit_Remove_Variable_Value_Action
2156    (Self    : in out UML_Containment_Iterator;
2157     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2158     Element : not null AMF.UML.Remove_Variable_Value_Actions.UML_Remove_Variable_Value_Action_Access;
2159     Control : in out Traverse_Control) is
2160   begin
2161      Self.Visit_Owned_Elements (Visitor, Element, Control);
2162   end Visit_Remove_Variable_Value_Action;
2163
2164   ------------------------
2165   -- Visit_Reply_Action --
2166   ------------------------
2167
2168   overriding procedure Visit_Reply_Action
2169    (Self    : in out UML_Containment_Iterator;
2170     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2171     Element : not null AMF.UML.Reply_Actions.UML_Reply_Action_Access;
2172     Control : in out Traverse_Control) is
2173   begin
2174      Self.Visit_Owned_Elements (Visitor, Element, Control);
2175   end Visit_Reply_Action;
2176
2177   ------------------------------
2178   -- Visit_Send_Object_Action --
2179   ------------------------------
2180
2181   overriding procedure Visit_Send_Object_Action
2182    (Self    : in out UML_Containment_Iterator;
2183     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2184     Element : not null AMF.UML.Send_Object_Actions.UML_Send_Object_Action_Access;
2185     Control : in out Traverse_Control) is
2186   begin
2187      Self.Visit_Owned_Elements (Visitor, Element, Control);
2188   end Visit_Send_Object_Action;
2189
2190   ------------------------------
2191   -- Visit_Send_Signal_Action --
2192   ------------------------------
2193
2194   overriding procedure Visit_Send_Signal_Action
2195    (Self    : in out UML_Containment_Iterator;
2196     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2197     Element : not null AMF.UML.Send_Signal_Actions.UML_Send_Signal_Action_Access;
2198     Control : in out Traverse_Control) is
2199   begin
2200      Self.Visit_Owned_Elements (Visitor, Element, Control);
2201   end Visit_Send_Signal_Action;
2202
2203   -------------------------
2204   -- Visit_Sequence_Node --
2205   -------------------------
2206
2207   overriding procedure Visit_Sequence_Node
2208    (Self    : in out UML_Containment_Iterator;
2209     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2210     Element : not null AMF.UML.Sequence_Nodes.UML_Sequence_Node_Access;
2211     Control : in out Traverse_Control) is
2212   begin
2213      Self.Visit_Owned_Elements (Visitor, Element, Control);
2214   end Visit_Sequence_Node;
2215
2216   ------------------
2217   -- Visit_Signal --
2218   ------------------
2219
2220   overriding procedure Visit_Signal
2221    (Self    : in out UML_Containment_Iterator;
2222     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2223     Element : not null AMF.UML.Signals.UML_Signal_Access;
2224     Control : in out Traverse_Control) is
2225   begin
2226      Self.Visit_Owned_Elements (Visitor, Element, Control);
2227   end Visit_Signal;
2228
2229   ------------------------
2230   -- Visit_Signal_Event --
2231   ------------------------
2232
2233   overriding procedure Visit_Signal_Event
2234    (Self    : in out UML_Containment_Iterator;
2235     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2236     Element : not null AMF.UML.Signal_Events.UML_Signal_Event_Access;
2237     Control : in out Traverse_Control) is
2238   begin
2239      Self.Visit_Owned_Elements (Visitor, Element, Control);
2240   end Visit_Signal_Event;
2241
2242   ----------------
2243   -- Visit_Slot --
2244   ----------------
2245
2246   overriding procedure Visit_Slot
2247    (Self    : in out UML_Containment_Iterator;
2248     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2249     Element : not null AMF.UML.Slots.UML_Slot_Access;
2250     Control : in out Traverse_Control) is
2251   begin
2252      Self.Visit_Owned_Elements (Visitor, Element, Control);
2253   end Visit_Slot;
2254
2255   --------------------------------------------
2256   -- Visit_Start_Classifier_Behavior_Action --
2257   --------------------------------------------
2258
2259   overriding procedure Visit_Start_Classifier_Behavior_Action
2260    (Self    : in out UML_Containment_Iterator;
2261     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2262     Element : not null AMF.UML.Start_Classifier_Behavior_Actions.UML_Start_Classifier_Behavior_Action_Access;
2263     Control : in out Traverse_Control) is
2264   begin
2265      Self.Visit_Owned_Elements (Visitor, Element, Control);
2266   end Visit_Start_Classifier_Behavior_Action;
2267
2268   ----------------------------------------
2269   -- Visit_Start_Object_Behavior_Action --
2270   ----------------------------------------
2271
2272   overriding procedure Visit_Start_Object_Behavior_Action
2273    (Self    : in out UML_Containment_Iterator;
2274     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2275     Element : not null AMF.UML.Start_Object_Behavior_Actions.UML_Start_Object_Behavior_Action_Access;
2276     Control : in out Traverse_Control) is
2277   begin
2278      Self.Visit_Owned_Elements (Visitor, Element, Control);
2279   end Visit_Start_Object_Behavior_Action;
2280
2281   -----------------
2282   -- Visit_State --
2283   -----------------
2284
2285   overriding procedure Visit_State
2286    (Self    : in out UML_Containment_Iterator;
2287     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2288     Element : not null AMF.UML.States.UML_State_Access;
2289     Control : in out Traverse_Control) is
2290   begin
2291      Self.Visit_Owned_Elements (Visitor, Element, Control);
2292   end Visit_State;
2293
2294   ---------------------------
2295   -- Visit_State_Invariant --
2296   ---------------------------
2297
2298   overriding procedure Visit_State_Invariant
2299    (Self    : in out UML_Containment_Iterator;
2300     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2301     Element : not null AMF.UML.State_Invariants.UML_State_Invariant_Access;
2302     Control : in out Traverse_Control) is
2303   begin
2304      Self.Visit_Owned_Elements (Visitor, Element, Control);
2305   end Visit_State_Invariant;
2306
2307   -------------------------
2308   -- Visit_State_Machine --
2309   -------------------------
2310
2311   overriding procedure Visit_State_Machine
2312    (Self    : in out UML_Containment_Iterator;
2313     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2314     Element : not null AMF.UML.State_Machines.UML_State_Machine_Access;
2315     Control : in out Traverse_Control) is
2316   begin
2317      Self.Visit_Owned_Elements (Visitor, Element, Control);
2318   end Visit_State_Machine;
2319
2320   ----------------------
2321   -- Visit_Stereotype --
2322   ----------------------
2323
2324   overriding procedure Visit_Stereotype
2325    (Self    : in out UML_Containment_Iterator;
2326     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2327     Element : not null AMF.UML.Stereotypes.UML_Stereotype_Access;
2328     Control : in out Traverse_Control) is
2329   begin
2330      Self.Visit_Owned_Elements (Visitor, Element, Control);
2331   end Visit_Stereotype;
2332
2333   -----------------------------
2334   -- Visit_String_Expression --
2335   -----------------------------
2336
2337   overriding procedure Visit_String_Expression
2338    (Self    : in out UML_Containment_Iterator;
2339     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2340     Element : not null AMF.UML.String_Expressions.UML_String_Expression_Access;
2341     Control : in out Traverse_Control) is
2342   begin
2343      Self.Visit_Owned_Elements (Visitor, Element, Control);
2344   end Visit_String_Expression;
2345
2346   ------------------------------------
2347   -- Visit_Structured_Activity_Node --
2348   ------------------------------------
2349
2350   overriding procedure Visit_Structured_Activity_Node
2351    (Self    : in out UML_Containment_Iterator;
2352     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2353     Element : not null AMF.UML.Structured_Activity_Nodes.UML_Structured_Activity_Node_Access;
2354     Control : in out Traverse_Control) is
2355   begin
2356      Self.Visit_Owned_Elements (Visitor, Element, Control);
2357   end Visit_Structured_Activity_Node;
2358
2359   ------------------------
2360   -- Visit_Substitution --
2361   ------------------------
2362
2363   overriding procedure Visit_Substitution
2364    (Self    : in out UML_Containment_Iterator;
2365     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2366     Element : not null AMF.UML.Substitutions.UML_Substitution_Access;
2367     Control : in out Traverse_Control) is
2368   begin
2369      Self.Visit_Owned_Elements (Visitor, Element, Control);
2370   end Visit_Substitution;
2371
2372   ----------------------------
2373   -- Visit_Template_Binding --
2374   ----------------------------
2375
2376   overriding procedure Visit_Template_Binding
2377    (Self    : in out UML_Containment_Iterator;
2378     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2379     Element : not null AMF.UML.Template_Bindings.UML_Template_Binding_Access;
2380     Control : in out Traverse_Control) is
2381   begin
2382      Self.Visit_Owned_Elements (Visitor, Element, Control);
2383   end Visit_Template_Binding;
2384
2385   ------------------------------
2386   -- Visit_Template_Parameter --
2387   ------------------------------
2388
2389   overriding procedure Visit_Template_Parameter
2390    (Self    : in out UML_Containment_Iterator;
2391     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2392     Element : not null AMF.UML.Template_Parameters.UML_Template_Parameter_Access;
2393     Control : in out Traverse_Control) is
2394   begin
2395      Self.Visit_Owned_Elements (Visitor, Element, Control);
2396   end Visit_Template_Parameter;
2397
2398   -------------------------------------------
2399   -- Visit_Template_Parameter_Substitution --
2400   -------------------------------------------
2401
2402   overriding procedure Visit_Template_Parameter_Substitution
2403    (Self    : in out UML_Containment_Iterator;
2404     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2405     Element : not null AMF.UML.Template_Parameter_Substitutions.UML_Template_Parameter_Substitution_Access;
2406     Control : in out Traverse_Control) is
2407   begin
2408      Self.Visit_Owned_Elements (Visitor, Element, Control);
2409   end Visit_Template_Parameter_Substitution;
2410
2411   ------------------------------
2412   -- Visit_Template_Signature --
2413   ------------------------------
2414
2415   overriding procedure Visit_Template_Signature
2416    (Self    : in out UML_Containment_Iterator;
2417     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2418     Element : not null AMF.UML.Template_Signatures.UML_Template_Signature_Access;
2419     Control : in out Traverse_Control) is
2420   begin
2421      Self.Visit_Owned_Elements (Visitor, Element, Control);
2422   end Visit_Template_Signature;
2423
2424   --------------------------------
2425   -- Visit_Test_Identity_Action --
2426   --------------------------------
2427
2428   overriding procedure Visit_Test_Identity_Action
2429    (Self    : in out UML_Containment_Iterator;
2430     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2431     Element : not null AMF.UML.Test_Identity_Actions.UML_Test_Identity_Action_Access;
2432     Control : in out Traverse_Control) is
2433   begin
2434      Self.Visit_Owned_Elements (Visitor, Element, Control);
2435   end Visit_Test_Identity_Action;
2436
2437   ---------------------------
2438   -- Visit_Time_Constraint --
2439   ---------------------------
2440
2441   overriding procedure Visit_Time_Constraint
2442    (Self    : in out UML_Containment_Iterator;
2443     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2444     Element : not null AMF.UML.Time_Constraints.UML_Time_Constraint_Access;
2445     Control : in out Traverse_Control) is
2446   begin
2447      Self.Visit_Owned_Elements (Visitor, Element, Control);
2448   end Visit_Time_Constraint;
2449
2450   ----------------------
2451   -- Visit_Time_Event --
2452   ----------------------
2453
2454   overriding procedure Visit_Time_Event
2455    (Self    : in out UML_Containment_Iterator;
2456     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2457     Element : not null AMF.UML.Time_Events.UML_Time_Event_Access;
2458     Control : in out Traverse_Control) is
2459   begin
2460      Self.Visit_Owned_Elements (Visitor, Element, Control);
2461   end Visit_Time_Event;
2462
2463   ---------------------------
2464   -- Visit_Time_Expression --
2465   ---------------------------
2466
2467   overriding procedure Visit_Time_Expression
2468    (Self    : in out UML_Containment_Iterator;
2469     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2470     Element : not null AMF.UML.Time_Expressions.UML_Time_Expression_Access;
2471     Control : in out Traverse_Control) is
2472   begin
2473      Self.Visit_Owned_Elements (Visitor, Element, Control);
2474   end Visit_Time_Expression;
2475
2476   -------------------------
2477   -- Visit_Time_Interval --
2478   -------------------------
2479
2480   overriding procedure Visit_Time_Interval
2481    (Self    : in out UML_Containment_Iterator;
2482     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2483     Element : not null AMF.UML.Time_Intervals.UML_Time_Interval_Access;
2484     Control : in out Traverse_Control) is
2485   begin
2486      Self.Visit_Owned_Elements (Visitor, Element, Control);
2487   end Visit_Time_Interval;
2488
2489   ----------------------------
2490   -- Visit_Time_Observation --
2491   ----------------------------
2492
2493   overriding procedure Visit_Time_Observation
2494    (Self    : in out UML_Containment_Iterator;
2495     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2496     Element : not null AMF.UML.Time_Observations.UML_Time_Observation_Access;
2497     Control : in out Traverse_Control) is
2498   begin
2499      Self.Visit_Owned_Elements (Visitor, Element, Control);
2500   end Visit_Time_Observation;
2501
2502   ----------------------
2503   -- Visit_Transition --
2504   ----------------------
2505
2506   overriding procedure Visit_Transition
2507    (Self    : in out UML_Containment_Iterator;
2508     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2509     Element : not null AMF.UML.Transitions.UML_Transition_Access;
2510     Control : in out Traverse_Control) is
2511   begin
2512      Self.Visit_Owned_Elements (Visitor, Element, Control);
2513   end Visit_Transition;
2514
2515   -------------------
2516   -- Visit_Trigger --
2517   -------------------
2518
2519   overriding procedure Visit_Trigger
2520    (Self    : in out UML_Containment_Iterator;
2521     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2522     Element : not null AMF.UML.Triggers.UML_Trigger_Access;
2523     Control : in out Traverse_Control) is
2524   begin
2525      Self.Visit_Owned_Elements (Visitor, Element, Control);
2526   end Visit_Trigger;
2527
2528   -----------------------------
2529   -- Visit_Unmarshall_Action --
2530   -----------------------------
2531
2532   overriding procedure Visit_Unmarshall_Action
2533    (Self    : in out UML_Containment_Iterator;
2534     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2535     Element : not null AMF.UML.Unmarshall_Actions.UML_Unmarshall_Action_Access;
2536     Control : in out Traverse_Control) is
2537   begin
2538      Self.Visit_Owned_Elements (Visitor, Element, Control);
2539   end Visit_Unmarshall_Action;
2540
2541   -----------------
2542   -- Visit_Usage --
2543   -----------------
2544
2545   overriding procedure Visit_Usage
2546    (Self    : in out UML_Containment_Iterator;
2547     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2548     Element : not null AMF.UML.Usages.UML_Usage_Access;
2549     Control : in out Traverse_Control) is
2550   begin
2551      Self.Visit_Owned_Elements (Visitor, Element, Control);
2552   end Visit_Usage;
2553
2554   --------------------
2555   -- Visit_Use_Case --
2556   --------------------
2557
2558   overriding procedure Visit_Use_Case
2559    (Self    : in out UML_Containment_Iterator;
2560     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2561     Element : not null AMF.UML.Use_Cases.UML_Use_Case_Access;
2562     Control : in out Traverse_Control) is
2563   begin
2564      Self.Visit_Owned_Elements (Visitor, Element, Control);
2565   end Visit_Use_Case;
2566
2567   ---------------------
2568   -- Visit_Value_Pin --
2569   ---------------------
2570
2571   overriding procedure Visit_Value_Pin
2572    (Self    : in out UML_Containment_Iterator;
2573     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2574     Element : not null AMF.UML.Value_Pins.UML_Value_Pin_Access;
2575     Control : in out Traverse_Control) is
2576   begin
2577      Self.Visit_Owned_Elements (Visitor, Element, Control);
2578   end Visit_Value_Pin;
2579
2580   --------------------------------------
2581   -- Visit_Value_Specification_Action --
2582   --------------------------------------
2583
2584   overriding procedure Visit_Value_Specification_Action
2585    (Self    : in out UML_Containment_Iterator;
2586     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2587     Element : not null AMF.UML.Value_Specification_Actions.UML_Value_Specification_Action_Access;
2588     Control : in out Traverse_Control) is
2589   begin
2590      Self.Visit_Owned_Elements (Visitor, Element, Control);
2591   end Visit_Value_Specification_Action;
2592
2593   --------------------
2594   -- Visit_Variable --
2595   --------------------
2596
2597   overriding procedure Visit_Variable
2598    (Self    : in out UML_Containment_Iterator;
2599     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
2600     Element : not null AMF.UML.Variables.UML_Variable_Access;
2601     Control : in out Traverse_Control) is
2602   begin
2603      Self.Visit_Owned_Elements (Visitor, Element, Control);
2604   end Visit_Variable;
2605
2606end AMF.Visitors.Generic_UML_Containment;
2607