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: 2937 $ $Date: 2012-05-01 21:07:27 +0400 (Tue, 01 May 2012) $
43------------------------------------------------------------------------------
44with AMF.Elements;
45with AMF.Internals.Element_Collections;
46with AMF.Internals.Helpers;
47with AMF.Internals.Tables.UML_Attributes;
48with AMF.Visitors.UML_Iterators;
49with AMF.Visitors.UML_Visitors;
50with League.Strings.Internals;
51with Matreshka.Internals.Strings;
52
53package body AMF.Internals.UML_Protocol_Transitions is
54
55   -------------------
56   -- Enter_Element --
57   -------------------
58
59   overriding procedure Enter_Element
60    (Self    : not null access constant UML_Protocol_Transition_Proxy;
61     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
62     Control : in out AMF.Visitors.Traverse_Control) is
63   begin
64      if Visitor in AMF.Visitors.UML_Visitors.UML_Visitor'Class then
65         AMF.Visitors.UML_Visitors.UML_Visitor'Class
66          (Visitor).Enter_Protocol_Transition
67            (AMF.UML.Protocol_Transitions.UML_Protocol_Transition_Access (Self),
68           Control);
69      end if;
70   end Enter_Element;
71
72   -------------------
73   -- Leave_Element --
74   -------------------
75
76   overriding procedure Leave_Element
77    (Self    : not null access constant UML_Protocol_Transition_Proxy;
78     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
79     Control : in out AMF.Visitors.Traverse_Control) is
80   begin
81      if Visitor in AMF.Visitors.UML_Visitors.UML_Visitor'Class then
82         AMF.Visitors.UML_Visitors.UML_Visitor'Class
83          (Visitor).Leave_Protocol_Transition
84            (AMF.UML.Protocol_Transitions.UML_Protocol_Transition_Access (Self),
85           Control);
86      end if;
87   end Leave_Element;
88
89   -------------------
90   -- Visit_Element --
91   -------------------
92
93   overriding procedure Visit_Element
94    (Self     : not null access constant UML_Protocol_Transition_Proxy;
95     Iterator : in out AMF.Visitors.Abstract_Iterator'Class;
96     Visitor  : in out AMF.Visitors.Abstract_Visitor'Class;
97     Control  : in out AMF.Visitors.Traverse_Control) is
98   begin
99      if Iterator in AMF.Visitors.UML_Iterators.UML_Iterator'Class then
100         AMF.Visitors.UML_Iterators.UML_Iterator'Class
101          (Iterator).Visit_Protocol_Transition
102            (Visitor,
103             AMF.UML.Protocol_Transitions.UML_Protocol_Transition_Access (Self),
104             Control);
105      end if;
106   end Visit_Element;
107
108   ------------------------
109   -- Get_Post_Condition --
110   ------------------------
111
112   overriding function Get_Post_Condition
113    (Self : not null access constant UML_Protocol_Transition_Proxy)
114       return AMF.UML.Constraints.UML_Constraint_Access is
115   begin
116      return
117        AMF.UML.Constraints.UML_Constraint_Access
118         (AMF.Internals.Helpers.To_Element
119           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Post_Condition
120             (Self.Element)));
121   end Get_Post_Condition;
122
123   ------------------------
124   -- Set_Post_Condition --
125   ------------------------
126
127   overriding procedure Set_Post_Condition
128    (Self : not null access UML_Protocol_Transition_Proxy;
129     To   : AMF.UML.Constraints.UML_Constraint_Access) is
130   begin
131      AMF.Internals.Tables.UML_Attributes.Internal_Set_Post_Condition
132       (Self.Element,
133        AMF.Internals.Helpers.To_Element
134         (AMF.Elements.Element_Access (To)));
135   end Set_Post_Condition;
136
137   -----------------------
138   -- Get_Pre_Condition --
139   -----------------------
140
141   overriding function Get_Pre_Condition
142    (Self : not null access constant UML_Protocol_Transition_Proxy)
143       return AMF.UML.Constraints.UML_Constraint_Access is
144   begin
145      return
146        AMF.UML.Constraints.UML_Constraint_Access
147         (AMF.Internals.Helpers.To_Element
148           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Pre_Condition
149             (Self.Element)));
150   end Get_Pre_Condition;
151
152   -----------------------
153   -- Set_Pre_Condition --
154   -----------------------
155
156   overriding procedure Set_Pre_Condition
157    (Self : not null access UML_Protocol_Transition_Proxy;
158     To   : AMF.UML.Constraints.UML_Constraint_Access) is
159   begin
160      AMF.Internals.Tables.UML_Attributes.Internal_Set_Pre_Condition
161       (Self.Element,
162        AMF.Internals.Helpers.To_Element
163         (AMF.Elements.Element_Access (To)));
164   end Set_Pre_Condition;
165
166   ------------------
167   -- Get_Referred --
168   ------------------
169
170   overriding function Get_Referred
171    (Self : not null access constant UML_Protocol_Transition_Proxy)
172       return AMF.UML.Operations.Collections.Set_Of_UML_Operation is
173   begin
174      return
175        AMF.UML.Operations.Collections.Wrap
176         (AMF.Internals.Element_Collections.Wrap
177           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Referred
178             (Self.Element)));
179   end Get_Referred;
180
181   -------------------
182   -- Get_Container --
183   -------------------
184
185   overriding function Get_Container
186    (Self : not null access constant UML_Protocol_Transition_Proxy)
187       return AMF.UML.Regions.UML_Region_Access is
188   begin
189      return
190        AMF.UML.Regions.UML_Region_Access
191         (AMF.Internals.Helpers.To_Element
192           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Container
193             (Self.Element)));
194   end Get_Container;
195
196   -------------------
197   -- Set_Container --
198   -------------------
199
200   overriding procedure Set_Container
201    (Self : not null access UML_Protocol_Transition_Proxy;
202     To   : AMF.UML.Regions.UML_Region_Access) is
203   begin
204      AMF.Internals.Tables.UML_Attributes.Internal_Set_Container
205       (Self.Element,
206        AMF.Internals.Helpers.To_Element
207         (AMF.Elements.Element_Access (To)));
208   end Set_Container;
209
210   ----------------
211   -- Get_Effect --
212   ----------------
213
214   overriding function Get_Effect
215    (Self : not null access constant UML_Protocol_Transition_Proxy)
216       return AMF.UML.Behaviors.UML_Behavior_Access is
217   begin
218      return
219        AMF.UML.Behaviors.UML_Behavior_Access
220         (AMF.Internals.Helpers.To_Element
221           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Effect
222             (Self.Element)));
223   end Get_Effect;
224
225   ----------------
226   -- Set_Effect --
227   ----------------
228
229   overriding procedure Set_Effect
230    (Self : not null access UML_Protocol_Transition_Proxy;
231     To   : AMF.UML.Behaviors.UML_Behavior_Access) is
232   begin
233      AMF.Internals.Tables.UML_Attributes.Internal_Set_Effect
234       (Self.Element,
235        AMF.Internals.Helpers.To_Element
236         (AMF.Elements.Element_Access (To)));
237   end Set_Effect;
238
239   ---------------
240   -- Get_Guard --
241   ---------------
242
243   overriding function Get_Guard
244    (Self : not null access constant UML_Protocol_Transition_Proxy)
245       return AMF.UML.Constraints.UML_Constraint_Access is
246   begin
247      return
248        AMF.UML.Constraints.UML_Constraint_Access
249         (AMF.Internals.Helpers.To_Element
250           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Guard
251             (Self.Element)));
252   end Get_Guard;
253
254   ---------------
255   -- Set_Guard --
256   ---------------
257
258   overriding procedure Set_Guard
259    (Self : not null access UML_Protocol_Transition_Proxy;
260     To   : AMF.UML.Constraints.UML_Constraint_Access) is
261   begin
262      AMF.Internals.Tables.UML_Attributes.Internal_Set_Guard
263       (Self.Element,
264        AMF.Internals.Helpers.To_Element
265         (AMF.Elements.Element_Access (To)));
266   end Set_Guard;
267
268   --------------
269   -- Get_Kind --
270   --------------
271
272   overriding function Get_Kind
273    (Self : not null access constant UML_Protocol_Transition_Proxy)
274       return AMF.UML.UML_Transition_Kind is
275   begin
276      return
277        AMF.Internals.Tables.UML_Attributes.Internal_Get_Kind
278         (Self.Element);
279   end Get_Kind;
280
281   --------------
282   -- Set_Kind --
283   --------------
284
285   overriding procedure Set_Kind
286    (Self : not null access UML_Protocol_Transition_Proxy;
287     To   : AMF.UML.UML_Transition_Kind) is
288   begin
289      AMF.Internals.Tables.UML_Attributes.Internal_Set_Kind
290       (Self.Element, To);
291   end Set_Kind;
292
293   ------------------------------
294   -- Get_Redefined_Transition --
295   ------------------------------
296
297   overriding function Get_Redefined_Transition
298    (Self : not null access constant UML_Protocol_Transition_Proxy)
299       return AMF.UML.Transitions.UML_Transition_Access is
300   begin
301      return
302        AMF.UML.Transitions.UML_Transition_Access
303         (AMF.Internals.Helpers.To_Element
304           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Transition
305             (Self.Element)));
306   end Get_Redefined_Transition;
307
308   ------------------------------
309   -- Set_Redefined_Transition --
310   ------------------------------
311
312   overriding procedure Set_Redefined_Transition
313    (Self : not null access UML_Protocol_Transition_Proxy;
314     To   : AMF.UML.Transitions.UML_Transition_Access) is
315   begin
316      AMF.Internals.Tables.UML_Attributes.Internal_Set_Redefined_Transition
317       (Self.Element,
318        AMF.Internals.Helpers.To_Element
319         (AMF.Elements.Element_Access (To)));
320   end Set_Redefined_Transition;
321
322   ------------------------------
323   -- Get_Redefinition_Context --
324   ------------------------------
325
326   overriding function Get_Redefinition_Context
327    (Self : not null access constant UML_Protocol_Transition_Proxy)
328       return AMF.UML.Classifiers.UML_Classifier_Access is
329   begin
330      raise Program_Error;
331      return Get_Redefinition_Context (Self);
332   end Get_Redefinition_Context;
333
334   ----------------
335   -- Get_Source --
336   ----------------
337
338   overriding function Get_Source
339    (Self : not null access constant UML_Protocol_Transition_Proxy)
340       return AMF.UML.Vertexs.UML_Vertex_Access is
341   begin
342      return
343        AMF.UML.Vertexs.UML_Vertex_Access
344         (AMF.Internals.Helpers.To_Element
345           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Source
346             (Self.Element)));
347   end Get_Source;
348
349   ----------------
350   -- Set_Source --
351   ----------------
352
353   overriding procedure Set_Source
354    (Self : not null access UML_Protocol_Transition_Proxy;
355     To   : AMF.UML.Vertexs.UML_Vertex_Access) is
356   begin
357      AMF.Internals.Tables.UML_Attributes.Internal_Set_Source
358       (Self.Element,
359        AMF.Internals.Helpers.To_Element
360         (AMF.Elements.Element_Access (To)));
361   end Set_Source;
362
363   ----------------
364   -- Get_Target --
365   ----------------
366
367   overriding function Get_Target
368    (Self : not null access constant UML_Protocol_Transition_Proxy)
369       return AMF.UML.Vertexs.UML_Vertex_Access is
370   begin
371      return
372        AMF.UML.Vertexs.UML_Vertex_Access
373         (AMF.Internals.Helpers.To_Element
374           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Target
375             (Self.Element)));
376   end Get_Target;
377
378   ----------------
379   -- Set_Target --
380   ----------------
381
382   overriding procedure Set_Target
383    (Self : not null access UML_Protocol_Transition_Proxy;
384     To   : AMF.UML.Vertexs.UML_Vertex_Access) is
385   begin
386      AMF.Internals.Tables.UML_Attributes.Internal_Set_Target
387       (Self.Element,
388        AMF.Internals.Helpers.To_Element
389         (AMF.Elements.Element_Access (To)));
390   end Set_Target;
391
392   -----------------
393   -- Get_Trigger --
394   -----------------
395
396   overriding function Get_Trigger
397    (Self : not null access constant UML_Protocol_Transition_Proxy)
398       return AMF.UML.Triggers.Collections.Set_Of_UML_Trigger is
399   begin
400      return
401        AMF.UML.Triggers.Collections.Wrap
402         (AMF.Internals.Element_Collections.Wrap
403           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Trigger
404             (Self.Element)));
405   end Get_Trigger;
406
407   ------------------------
408   -- Get_Element_Import --
409   ------------------------
410
411   overriding function Get_Element_Import
412    (Self : not null access constant UML_Protocol_Transition_Proxy)
413       return AMF.UML.Element_Imports.Collections.Set_Of_UML_Element_Import is
414   begin
415      return
416        AMF.UML.Element_Imports.Collections.Wrap
417         (AMF.Internals.Element_Collections.Wrap
418           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Element_Import
419             (Self.Element)));
420   end Get_Element_Import;
421
422   -------------------------
423   -- Get_Imported_Member --
424   -------------------------
425
426   overriding function Get_Imported_Member
427    (Self : not null access constant UML_Protocol_Transition_Proxy)
428       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
429   begin
430      return
431        AMF.UML.Packageable_Elements.Collections.Wrap
432         (AMF.Internals.Element_Collections.Wrap
433           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Imported_Member
434             (Self.Element)));
435   end Get_Imported_Member;
436
437   ----------------
438   -- Get_Member --
439   ----------------
440
441   overriding function Get_Member
442    (Self : not null access constant UML_Protocol_Transition_Proxy)
443       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
444   begin
445      return
446        AMF.UML.Named_Elements.Collections.Wrap
447         (AMF.Internals.Element_Collections.Wrap
448           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Member
449             (Self.Element)));
450   end Get_Member;
451
452   ----------------------
453   -- Get_Owned_Member --
454   ----------------------
455
456   overriding function Get_Owned_Member
457    (Self : not null access constant UML_Protocol_Transition_Proxy)
458       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
459   begin
460      return
461        AMF.UML.Named_Elements.Collections.Wrap
462         (AMF.Internals.Element_Collections.Wrap
463           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Member
464             (Self.Element)));
465   end Get_Owned_Member;
466
467   --------------------
468   -- Get_Owned_Rule --
469   --------------------
470
471   overriding function Get_Owned_Rule
472    (Self : not null access constant UML_Protocol_Transition_Proxy)
473       return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is
474   begin
475      return
476        AMF.UML.Constraints.Collections.Wrap
477         (AMF.Internals.Element_Collections.Wrap
478           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Rule
479             (Self.Element)));
480   end Get_Owned_Rule;
481
482   ------------------------
483   -- Get_Package_Import --
484   ------------------------
485
486   overriding function Get_Package_Import
487    (Self : not null access constant UML_Protocol_Transition_Proxy)
488       return AMF.UML.Package_Imports.Collections.Set_Of_UML_Package_Import is
489   begin
490      return
491        AMF.UML.Package_Imports.Collections.Wrap
492         (AMF.Internals.Element_Collections.Wrap
493           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Package_Import
494             (Self.Element)));
495   end Get_Package_Import;
496
497   ---------------------------
498   -- Get_Client_Dependency --
499   ---------------------------
500
501   overriding function Get_Client_Dependency
502    (Self : not null access constant UML_Protocol_Transition_Proxy)
503       return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency is
504   begin
505      return
506        AMF.UML.Dependencies.Collections.Wrap
507         (AMF.Internals.Element_Collections.Wrap
508           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Client_Dependency
509             (Self.Element)));
510   end Get_Client_Dependency;
511
512   -------------------------
513   -- Get_Name_Expression --
514   -------------------------
515
516   overriding function Get_Name_Expression
517    (Self : not null access constant UML_Protocol_Transition_Proxy)
518       return AMF.UML.String_Expressions.UML_String_Expression_Access is
519   begin
520      return
521        AMF.UML.String_Expressions.UML_String_Expression_Access
522         (AMF.Internals.Helpers.To_Element
523           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Name_Expression
524             (Self.Element)));
525   end Get_Name_Expression;
526
527   -------------------------
528   -- Set_Name_Expression --
529   -------------------------
530
531   overriding procedure Set_Name_Expression
532    (Self : not null access UML_Protocol_Transition_Proxy;
533     To   : AMF.UML.String_Expressions.UML_String_Expression_Access) is
534   begin
535      AMF.Internals.Tables.UML_Attributes.Internal_Set_Name_Expression
536       (Self.Element,
537        AMF.Internals.Helpers.To_Element
538         (AMF.Elements.Element_Access (To)));
539   end Set_Name_Expression;
540
541   -------------------
542   -- Get_Namespace --
543   -------------------
544
545   overriding function Get_Namespace
546    (Self : not null access constant UML_Protocol_Transition_Proxy)
547       return AMF.UML.Namespaces.UML_Namespace_Access is
548   begin
549      return
550        AMF.UML.Namespaces.UML_Namespace_Access
551         (AMF.Internals.Helpers.To_Element
552           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Namespace
553             (Self.Element)));
554   end Get_Namespace;
555
556   ------------------------
557   -- Get_Qualified_Name --
558   ------------------------
559
560   overriding function Get_Qualified_Name
561    (Self : not null access constant UML_Protocol_Transition_Proxy)
562       return AMF.Optional_String is
563   begin
564      declare
565         use type Matreshka.Internals.Strings.Shared_String_Access;
566
567         Aux : constant Matreshka.Internals.Strings.Shared_String_Access
568           := AMF.Internals.Tables.UML_Attributes.Internal_Get_Qualified_Name (Self.Element);
569
570      begin
571         if Aux = null then
572            return (Is_Empty => True);
573
574         else
575            return (False, League.Strings.Internals.Create (Aux));
576         end if;
577      end;
578   end Get_Qualified_Name;
579
580   -----------------
581   -- Get_Is_Leaf --
582   -----------------
583
584   overriding function Get_Is_Leaf
585    (Self : not null access constant UML_Protocol_Transition_Proxy)
586       return Boolean is
587   begin
588      return
589        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Leaf
590         (Self.Element);
591   end Get_Is_Leaf;
592
593   -----------------
594   -- Set_Is_Leaf --
595   -----------------
596
597   overriding procedure Set_Is_Leaf
598    (Self : not null access UML_Protocol_Transition_Proxy;
599     To   : Boolean) is
600   begin
601      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Leaf
602       (Self.Element, To);
603   end Set_Is_Leaf;
604
605   ---------------------------
606   -- Get_Redefined_Element --
607   ---------------------------
608
609   overriding function Get_Redefined_Element
610    (Self : not null access constant UML_Protocol_Transition_Proxy)
611       return AMF.UML.Redefinable_Elements.Collections.Set_Of_UML_Redefinable_Element is
612   begin
613      return
614        AMF.UML.Redefinable_Elements.Collections.Wrap
615         (AMF.Internals.Element_Collections.Wrap
616           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Element
617             (Self.Element)));
618   end Get_Redefined_Element;
619
620   ------------------------------
621   -- Get_Redefinition_Context --
622   ------------------------------
623
624   overriding function Get_Redefinition_Context
625    (Self : not null access constant UML_Protocol_Transition_Proxy)
626       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
627   begin
628      return
629        AMF.UML.Classifiers.Collections.Wrap
630         (AMF.Internals.Element_Collections.Wrap
631           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefinition_Context
632             (Self.Element)));
633   end Get_Redefinition_Context;
634
635   --------------
636   -- Referred --
637   --------------
638
639   overriding function Referred
640    (Self : not null access constant UML_Protocol_Transition_Proxy)
641       return AMF.UML.Operations.Collections.Set_Of_UML_Operation is
642   begin
643      --  Generated stub: replace with real body!
644      pragma Compile_Time_Warning (Standard.True, "Referred unimplemented");
645      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Referred";
646      return Referred (Self);
647   end Referred;
648
649   ------------------------------
650   -- Containing_State_Machine --
651   ------------------------------
652
653   overriding function Containing_State_Machine
654    (Self : not null access constant UML_Protocol_Transition_Proxy)
655       return AMF.UML.State_Machines.UML_State_Machine_Access is
656   begin
657      --  Generated stub: replace with real body!
658      pragma Compile_Time_Warning (Standard.True, "Containing_State_Machine unimplemented");
659      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Containing_State_Machine";
660      return Containing_State_Machine (Self);
661   end Containing_State_Machine;
662
663   ------------------------
664   -- Is_Consistent_With --
665   ------------------------
666
667   overriding function Is_Consistent_With
668    (Self : not null access constant UML_Protocol_Transition_Proxy;
669     Redefinee : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
670       return Boolean is
671   begin
672      --  Generated stub: replace with real body!
673      pragma Compile_Time_Warning (Standard.True, "Is_Consistent_With unimplemented");
674      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Is_Consistent_With";
675      return Is_Consistent_With (Self, Redefinee);
676   end Is_Consistent_With;
677
678   --------------------------
679   -- Redefinition_Context --
680   --------------------------
681
682   overriding function Redefinition_Context
683    (Self : not null access constant UML_Protocol_Transition_Proxy)
684       return AMF.UML.Classifiers.UML_Classifier_Access is
685   begin
686      --  Generated stub: replace with real body!
687      pragma Compile_Time_Warning (Standard.True, "Redefinition_Context unimplemented");
688      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Redefinition_Context";
689      return Redefinition_Context (Self);
690   end Redefinition_Context;
691
692   ------------------------
693   -- Exclude_Collisions --
694   ------------------------
695
696   overriding function Exclude_Collisions
697    (Self : not null access constant UML_Protocol_Transition_Proxy;
698     Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element)
699       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
700   begin
701      --  Generated stub: replace with real body!
702      pragma Compile_Time_Warning (Standard.True, "Exclude_Collisions unimplemented");
703      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Exclude_Collisions";
704      return Exclude_Collisions (Self, Imps);
705   end Exclude_Collisions;
706
707   -------------------------
708   -- Get_Names_Of_Member --
709   -------------------------
710
711   overriding function Get_Names_Of_Member
712    (Self : not null access constant UML_Protocol_Transition_Proxy;
713     Element : AMF.UML.Named_Elements.UML_Named_Element_Access)
714       return AMF.String_Collections.Set_Of_String is
715   begin
716      --  Generated stub: replace with real body!
717      pragma Compile_Time_Warning (Standard.True, "Get_Names_Of_Member unimplemented");
718      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Get_Names_Of_Member";
719      return Get_Names_Of_Member (Self, Element);
720   end Get_Names_Of_Member;
721
722   --------------------
723   -- Import_Members --
724   --------------------
725
726   overriding function Import_Members
727    (Self : not null access constant UML_Protocol_Transition_Proxy;
728     Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element)
729       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
730   begin
731      --  Generated stub: replace with real body!
732      pragma Compile_Time_Warning (Standard.True, "Import_Members unimplemented");
733      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Import_Members";
734      return Import_Members (Self, Imps);
735   end Import_Members;
736
737   ---------------------
738   -- Imported_Member --
739   ---------------------
740
741   overriding function Imported_Member
742    (Self : not null access constant UML_Protocol_Transition_Proxy)
743       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
744   begin
745      --  Generated stub: replace with real body!
746      pragma Compile_Time_Warning (Standard.True, "Imported_Member unimplemented");
747      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Imported_Member";
748      return Imported_Member (Self);
749   end Imported_Member;
750
751   ---------------------------------
752   -- Members_Are_Distinguishable --
753   ---------------------------------
754
755   overriding function Members_Are_Distinguishable
756    (Self : not null access constant UML_Protocol_Transition_Proxy)
757       return Boolean is
758   begin
759      --  Generated stub: replace with real body!
760      pragma Compile_Time_Warning (Standard.True, "Members_Are_Distinguishable unimplemented");
761      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Members_Are_Distinguishable";
762      return Members_Are_Distinguishable (Self);
763   end Members_Are_Distinguishable;
764
765   ------------------
766   -- Owned_Member --
767   ------------------
768
769   overriding function Owned_Member
770    (Self : not null access constant UML_Protocol_Transition_Proxy)
771       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
772   begin
773      --  Generated stub: replace with real body!
774      pragma Compile_Time_Warning (Standard.True, "Owned_Member unimplemented");
775      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Owned_Member";
776      return Owned_Member (Self);
777   end Owned_Member;
778
779   -------------------------
780   -- All_Owning_Packages --
781   -------------------------
782
783   overriding function All_Owning_Packages
784    (Self : not null access constant UML_Protocol_Transition_Proxy)
785       return AMF.UML.Packages.Collections.Set_Of_UML_Package is
786   begin
787      --  Generated stub: replace with real body!
788      pragma Compile_Time_Warning (Standard.True, "All_Owning_Packages unimplemented");
789      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.All_Owning_Packages";
790      return All_Owning_Packages (Self);
791   end All_Owning_Packages;
792
793   -----------------------------
794   -- Is_Distinguishable_From --
795   -----------------------------
796
797   overriding function Is_Distinguishable_From
798    (Self : not null access constant UML_Protocol_Transition_Proxy;
799     N : AMF.UML.Named_Elements.UML_Named_Element_Access;
800     Ns : AMF.UML.Namespaces.UML_Namespace_Access)
801       return Boolean is
802   begin
803      --  Generated stub: replace with real body!
804      pragma Compile_Time_Warning (Standard.True, "Is_Distinguishable_From unimplemented");
805      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Is_Distinguishable_From";
806      return Is_Distinguishable_From (Self, N, Ns);
807   end Is_Distinguishable_From;
808
809   ---------------
810   -- Namespace --
811   ---------------
812
813   overriding function Namespace
814    (Self : not null access constant UML_Protocol_Transition_Proxy)
815       return AMF.UML.Namespaces.UML_Namespace_Access is
816   begin
817      --  Generated stub: replace with real body!
818      pragma Compile_Time_Warning (Standard.True, "Namespace unimplemented");
819      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Namespace";
820      return Namespace (Self);
821   end Namespace;
822
823   -----------------------------------
824   -- Is_Redefinition_Context_Valid --
825   -----------------------------------
826
827   overriding function Is_Redefinition_Context_Valid
828    (Self : not null access constant UML_Protocol_Transition_Proxy;
829     Redefined : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
830       return Boolean is
831   begin
832      --  Generated stub: replace with real body!
833      pragma Compile_Time_Warning (Standard.True, "Is_Redefinition_Context_Valid unimplemented");
834      raise Program_Error with "Unimplemented procedure UML_Protocol_Transition_Proxy.Is_Redefinition_Context_Valid";
835      return Is_Redefinition_Context_Valid (Self, Redefined);
836   end Is_Redefinition_Context_Valid;
837
838end AMF.Internals.UML_Protocol_Transitions;
839