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_Send_Object_Actions is
54
55   -------------------
56   -- Enter_Element --
57   -------------------
58
59   overriding procedure Enter_Element
60    (Self    : not null access constant UML_Send_Object_Action_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_Send_Object_Action
67            (AMF.UML.Send_Object_Actions.UML_Send_Object_Action_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_Send_Object_Action_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_Send_Object_Action
84            (AMF.UML.Send_Object_Actions.UML_Send_Object_Action_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_Send_Object_Action_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_Send_Object_Action
102            (Visitor,
103             AMF.UML.Send_Object_Actions.UML_Send_Object_Action_Access (Self),
104             Control);
105      end if;
106   end Visit_Element;
107
108   -----------------
109   -- Get_Request --
110   -----------------
111
112   overriding function Get_Request
113    (Self : not null access constant UML_Send_Object_Action_Proxy)
114       return AMF.UML.Input_Pins.UML_Input_Pin_Access is
115   begin
116      raise Program_Error;
117      return Get_Request (Self);
118   end Get_Request;
119
120   -----------------
121   -- Set_Request --
122   -----------------
123
124   overriding procedure Set_Request
125    (Self : not null access UML_Send_Object_Action_Proxy;
126     To   : AMF.UML.Input_Pins.UML_Input_Pin_Access) is
127   begin
128      raise Program_Error;
129   end Set_Request;
130
131   ----------------
132   -- Get_Target --
133   ----------------
134
135   overriding function Get_Target
136    (Self : not null access constant UML_Send_Object_Action_Proxy)
137       return AMF.UML.Input_Pins.UML_Input_Pin_Access is
138   begin
139      return
140        AMF.UML.Input_Pins.UML_Input_Pin_Access
141         (AMF.Internals.Helpers.To_Element
142           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Target
143             (Self.Element)));
144   end Get_Target;
145
146   ----------------
147   -- Set_Target --
148   ----------------
149
150   overriding procedure Set_Target
151    (Self : not null access UML_Send_Object_Action_Proxy;
152     To   : AMF.UML.Input_Pins.UML_Input_Pin_Access) is
153   begin
154      AMF.Internals.Tables.UML_Attributes.Internal_Set_Target
155       (Self.Element,
156        AMF.Internals.Helpers.To_Element
157         (AMF.Elements.Element_Access (To)));
158   end Set_Target;
159
160   ------------------
161   -- Get_Argument --
162   ------------------
163
164   overriding function Get_Argument
165    (Self : not null access constant UML_Send_Object_Action_Proxy)
166       return AMF.UML.Input_Pins.Collections.Ordered_Set_Of_UML_Input_Pin is
167   begin
168      return
169        AMF.UML.Input_Pins.Collections.Wrap
170         (AMF.Internals.Element_Collections.Wrap
171           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Argument
172             (Self.Element)));
173   end Get_Argument;
174
175   -----------------
176   -- Get_On_Port --
177   -----------------
178
179   overriding function Get_On_Port
180    (Self : not null access constant UML_Send_Object_Action_Proxy)
181       return AMF.UML.Ports.UML_Port_Access is
182   begin
183      return
184        AMF.UML.Ports.UML_Port_Access
185         (AMF.Internals.Helpers.To_Element
186           (AMF.Internals.Tables.UML_Attributes.Internal_Get_On_Port
187             (Self.Element)));
188   end Get_On_Port;
189
190   -----------------
191   -- Set_On_Port --
192   -----------------
193
194   overriding procedure Set_On_Port
195    (Self : not null access UML_Send_Object_Action_Proxy;
196     To   : AMF.UML.Ports.UML_Port_Access) is
197   begin
198      AMF.Internals.Tables.UML_Attributes.Internal_Set_On_Port
199       (Self.Element,
200        AMF.Internals.Helpers.To_Element
201         (AMF.Elements.Element_Access (To)));
202   end Set_On_Port;
203
204   -----------------
205   -- Get_Context --
206   -----------------
207
208   overriding function Get_Context
209    (Self : not null access constant UML_Send_Object_Action_Proxy)
210       return AMF.UML.Classifiers.UML_Classifier_Access is
211   begin
212      return
213        AMF.UML.Classifiers.UML_Classifier_Access
214         (AMF.Internals.Helpers.To_Element
215           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Context
216             (Self.Element)));
217   end Get_Context;
218
219   ---------------
220   -- Get_Input --
221   ---------------
222
223   overriding function Get_Input
224    (Self : not null access constant UML_Send_Object_Action_Proxy)
225       return AMF.UML.Input_Pins.Collections.Ordered_Set_Of_UML_Input_Pin is
226   begin
227      return
228        AMF.UML.Input_Pins.Collections.Wrap
229         (AMF.Internals.Element_Collections.Wrap
230           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Input
231             (Self.Element)));
232   end Get_Input;
233
234   ------------------------------
235   -- Get_Is_Locally_Reentrant --
236   ------------------------------
237
238   overriding function Get_Is_Locally_Reentrant
239    (Self : not null access constant UML_Send_Object_Action_Proxy)
240       return Boolean is
241   begin
242      return
243        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Locally_Reentrant
244         (Self.Element);
245   end Get_Is_Locally_Reentrant;
246
247   ------------------------------
248   -- Set_Is_Locally_Reentrant --
249   ------------------------------
250
251   overriding procedure Set_Is_Locally_Reentrant
252    (Self : not null access UML_Send_Object_Action_Proxy;
253     To   : Boolean) is
254   begin
255      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Locally_Reentrant
256       (Self.Element, To);
257   end Set_Is_Locally_Reentrant;
258
259   -----------------------------
260   -- Get_Local_Postcondition --
261   -----------------------------
262
263   overriding function Get_Local_Postcondition
264    (Self : not null access constant UML_Send_Object_Action_Proxy)
265       return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is
266   begin
267      return
268        AMF.UML.Constraints.Collections.Wrap
269         (AMF.Internals.Element_Collections.Wrap
270           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Local_Postcondition
271             (Self.Element)));
272   end Get_Local_Postcondition;
273
274   ----------------------------
275   -- Get_Local_Precondition --
276   ----------------------------
277
278   overriding function Get_Local_Precondition
279    (Self : not null access constant UML_Send_Object_Action_Proxy)
280       return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is
281   begin
282      return
283        AMF.UML.Constraints.Collections.Wrap
284         (AMF.Internals.Element_Collections.Wrap
285           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Local_Precondition
286             (Self.Element)));
287   end Get_Local_Precondition;
288
289   ----------------
290   -- Get_Output --
291   ----------------
292
293   overriding function Get_Output
294    (Self : not null access constant UML_Send_Object_Action_Proxy)
295       return AMF.UML.Output_Pins.Collections.Ordered_Set_Of_UML_Output_Pin is
296   begin
297      return
298        AMF.UML.Output_Pins.Collections.Wrap
299         (AMF.Internals.Element_Collections.Wrap
300           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Output
301             (Self.Element)));
302   end Get_Output;
303
304   -----------------
305   -- Get_Handler --
306   -----------------
307
308   overriding function Get_Handler
309    (Self : not null access constant UML_Send_Object_Action_Proxy)
310       return AMF.UML.Exception_Handlers.Collections.Set_Of_UML_Exception_Handler is
311   begin
312      return
313        AMF.UML.Exception_Handlers.Collections.Wrap
314         (AMF.Internals.Element_Collections.Wrap
315           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Handler
316             (Self.Element)));
317   end Get_Handler;
318
319   ------------------
320   -- Get_Activity --
321   ------------------
322
323   overriding function Get_Activity
324    (Self : not null access constant UML_Send_Object_Action_Proxy)
325       return AMF.UML.Activities.UML_Activity_Access is
326   begin
327      return
328        AMF.UML.Activities.UML_Activity_Access
329         (AMF.Internals.Helpers.To_Element
330           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Activity
331             (Self.Element)));
332   end Get_Activity;
333
334   ------------------
335   -- Set_Activity --
336   ------------------
337
338   overriding procedure Set_Activity
339    (Self : not null access UML_Send_Object_Action_Proxy;
340     To   : AMF.UML.Activities.UML_Activity_Access) is
341   begin
342      AMF.Internals.Tables.UML_Attributes.Internal_Set_Activity
343       (Self.Element,
344        AMF.Internals.Helpers.To_Element
345         (AMF.Elements.Element_Access (To)));
346   end Set_Activity;
347
348   ------------------
349   -- Get_In_Group --
350   ------------------
351
352   overriding function Get_In_Group
353    (Self : not null access constant UML_Send_Object_Action_Proxy)
354       return AMF.UML.Activity_Groups.Collections.Set_Of_UML_Activity_Group is
355   begin
356      return
357        AMF.UML.Activity_Groups.Collections.Wrap
358         (AMF.Internals.Element_Collections.Wrap
359           (AMF.Internals.Tables.UML_Attributes.Internal_Get_In_Group
360             (Self.Element)));
361   end Get_In_Group;
362
363   ---------------------------------
364   -- Get_In_Interruptible_Region --
365   ---------------------------------
366
367   overriding function Get_In_Interruptible_Region
368    (Self : not null access constant UML_Send_Object_Action_Proxy)
369       return AMF.UML.Interruptible_Activity_Regions.Collections.Set_Of_UML_Interruptible_Activity_Region is
370   begin
371      return
372        AMF.UML.Interruptible_Activity_Regions.Collections.Wrap
373         (AMF.Internals.Element_Collections.Wrap
374           (AMF.Internals.Tables.UML_Attributes.Internal_Get_In_Interruptible_Region
375             (Self.Element)));
376   end Get_In_Interruptible_Region;
377
378   ----------------------
379   -- Get_In_Partition --
380   ----------------------
381
382   overriding function Get_In_Partition
383    (Self : not null access constant UML_Send_Object_Action_Proxy)
384       return AMF.UML.Activity_Partitions.Collections.Set_Of_UML_Activity_Partition is
385   begin
386      return
387        AMF.UML.Activity_Partitions.Collections.Wrap
388         (AMF.Internals.Element_Collections.Wrap
389           (AMF.Internals.Tables.UML_Attributes.Internal_Get_In_Partition
390             (Self.Element)));
391   end Get_In_Partition;
392
393   ----------------------------
394   -- Get_In_Structured_Node --
395   ----------------------------
396
397   overriding function Get_In_Structured_Node
398    (Self : not null access constant UML_Send_Object_Action_Proxy)
399       return AMF.UML.Structured_Activity_Nodes.UML_Structured_Activity_Node_Access is
400   begin
401      return
402        AMF.UML.Structured_Activity_Nodes.UML_Structured_Activity_Node_Access
403         (AMF.Internals.Helpers.To_Element
404           (AMF.Internals.Tables.UML_Attributes.Internal_Get_In_Structured_Node
405             (Self.Element)));
406   end Get_In_Structured_Node;
407
408   ----------------------------
409   -- Set_In_Structured_Node --
410   ----------------------------
411
412   overriding procedure Set_In_Structured_Node
413    (Self : not null access UML_Send_Object_Action_Proxy;
414     To   : AMF.UML.Structured_Activity_Nodes.UML_Structured_Activity_Node_Access) is
415   begin
416      AMF.Internals.Tables.UML_Attributes.Internal_Set_In_Structured_Node
417       (Self.Element,
418        AMF.Internals.Helpers.To_Element
419         (AMF.Elements.Element_Access (To)));
420   end Set_In_Structured_Node;
421
422   ------------------
423   -- Get_Incoming --
424   ------------------
425
426   overriding function Get_Incoming
427    (Self : not null access constant UML_Send_Object_Action_Proxy)
428       return AMF.UML.Activity_Edges.Collections.Set_Of_UML_Activity_Edge is
429   begin
430      return
431        AMF.UML.Activity_Edges.Collections.Wrap
432         (AMF.Internals.Element_Collections.Wrap
433           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Incoming
434             (Self.Element)));
435   end Get_Incoming;
436
437   ------------------
438   -- Get_Outgoing --
439   ------------------
440
441   overriding function Get_Outgoing
442    (Self : not null access constant UML_Send_Object_Action_Proxy)
443       return AMF.UML.Activity_Edges.Collections.Set_Of_UML_Activity_Edge is
444   begin
445      return
446        AMF.UML.Activity_Edges.Collections.Wrap
447         (AMF.Internals.Element_Collections.Wrap
448           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Outgoing
449             (Self.Element)));
450   end Get_Outgoing;
451
452   ------------------------
453   -- Get_Redefined_Node --
454   ------------------------
455
456   overriding function Get_Redefined_Node
457    (Self : not null access constant UML_Send_Object_Action_Proxy)
458       return AMF.UML.Activity_Nodes.Collections.Set_Of_UML_Activity_Node is
459   begin
460      return
461        AMF.UML.Activity_Nodes.Collections.Wrap
462         (AMF.Internals.Element_Collections.Wrap
463           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Node
464             (Self.Element)));
465   end Get_Redefined_Node;
466
467   -----------------
468   -- Get_Is_Leaf --
469   -----------------
470
471   overriding function Get_Is_Leaf
472    (Self : not null access constant UML_Send_Object_Action_Proxy)
473       return Boolean is
474   begin
475      return
476        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Leaf
477         (Self.Element);
478   end Get_Is_Leaf;
479
480   -----------------
481   -- Set_Is_Leaf --
482   -----------------
483
484   overriding procedure Set_Is_Leaf
485    (Self : not null access UML_Send_Object_Action_Proxy;
486     To   : Boolean) is
487   begin
488      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Leaf
489       (Self.Element, To);
490   end Set_Is_Leaf;
491
492   ---------------------------
493   -- Get_Redefined_Element --
494   ---------------------------
495
496   overriding function Get_Redefined_Element
497    (Self : not null access constant UML_Send_Object_Action_Proxy)
498       return AMF.UML.Redefinable_Elements.Collections.Set_Of_UML_Redefinable_Element is
499   begin
500      return
501        AMF.UML.Redefinable_Elements.Collections.Wrap
502         (AMF.Internals.Element_Collections.Wrap
503           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Element
504             (Self.Element)));
505   end Get_Redefined_Element;
506
507   ------------------------------
508   -- Get_Redefinition_Context --
509   ------------------------------
510
511   overriding function Get_Redefinition_Context
512    (Self : not null access constant UML_Send_Object_Action_Proxy)
513       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
514   begin
515      return
516        AMF.UML.Classifiers.Collections.Wrap
517         (AMF.Internals.Element_Collections.Wrap
518           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefinition_Context
519             (Self.Element)));
520   end Get_Redefinition_Context;
521
522   ---------------------------
523   -- Get_Client_Dependency --
524   ---------------------------
525
526   overriding function Get_Client_Dependency
527    (Self : not null access constant UML_Send_Object_Action_Proxy)
528       return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency is
529   begin
530      return
531        AMF.UML.Dependencies.Collections.Wrap
532         (AMF.Internals.Element_Collections.Wrap
533           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Client_Dependency
534             (Self.Element)));
535   end Get_Client_Dependency;
536
537   -------------------------
538   -- Get_Name_Expression --
539   -------------------------
540
541   overriding function Get_Name_Expression
542    (Self : not null access constant UML_Send_Object_Action_Proxy)
543       return AMF.UML.String_Expressions.UML_String_Expression_Access is
544   begin
545      return
546        AMF.UML.String_Expressions.UML_String_Expression_Access
547         (AMF.Internals.Helpers.To_Element
548           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Name_Expression
549             (Self.Element)));
550   end Get_Name_Expression;
551
552   -------------------------
553   -- Set_Name_Expression --
554   -------------------------
555
556   overriding procedure Set_Name_Expression
557    (Self : not null access UML_Send_Object_Action_Proxy;
558     To   : AMF.UML.String_Expressions.UML_String_Expression_Access) is
559   begin
560      AMF.Internals.Tables.UML_Attributes.Internal_Set_Name_Expression
561       (Self.Element,
562        AMF.Internals.Helpers.To_Element
563         (AMF.Elements.Element_Access (To)));
564   end Set_Name_Expression;
565
566   -------------------
567   -- Get_Namespace --
568   -------------------
569
570   overriding function Get_Namespace
571    (Self : not null access constant UML_Send_Object_Action_Proxy)
572       return AMF.UML.Namespaces.UML_Namespace_Access is
573   begin
574      return
575        AMF.UML.Namespaces.UML_Namespace_Access
576         (AMF.Internals.Helpers.To_Element
577           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Namespace
578             (Self.Element)));
579   end Get_Namespace;
580
581   ------------------------
582   -- Get_Qualified_Name --
583   ------------------------
584
585   overriding function Get_Qualified_Name
586    (Self : not null access constant UML_Send_Object_Action_Proxy)
587       return AMF.Optional_String is
588   begin
589      declare
590         use type Matreshka.Internals.Strings.Shared_String_Access;
591
592         Aux : constant Matreshka.Internals.Strings.Shared_String_Access
593           := AMF.Internals.Tables.UML_Attributes.Internal_Get_Qualified_Name (Self.Element);
594
595      begin
596         if Aux = null then
597            return (Is_Empty => True);
598
599         else
600            return (False, League.Strings.Internals.Create (Aux));
601         end if;
602      end;
603   end Get_Qualified_Name;
604
605   -------------
606   -- Context --
607   -------------
608
609   overriding function Context
610    (Self : not null access constant UML_Send_Object_Action_Proxy)
611       return AMF.UML.Classifiers.UML_Classifier_Access is
612   begin
613      --  Generated stub: replace with real body!
614      pragma Compile_Time_Warning (Standard.True, "Context unimplemented");
615      raise Program_Error with "Unimplemented procedure UML_Send_Object_Action_Proxy.Context";
616      return Context (Self);
617   end Context;
618
619   ------------------------
620   -- Is_Consistent_With --
621   ------------------------
622
623   overriding function Is_Consistent_With
624    (Self : not null access constant UML_Send_Object_Action_Proxy;
625     Redefinee : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
626       return Boolean is
627   begin
628      --  Generated stub: replace with real body!
629      pragma Compile_Time_Warning (Standard.True, "Is_Consistent_With unimplemented");
630      raise Program_Error with "Unimplemented procedure UML_Send_Object_Action_Proxy.Is_Consistent_With";
631      return Is_Consistent_With (Self, Redefinee);
632   end Is_Consistent_With;
633
634   -----------------------------------
635   -- Is_Redefinition_Context_Valid --
636   -----------------------------------
637
638   overriding function Is_Redefinition_Context_Valid
639    (Self : not null access constant UML_Send_Object_Action_Proxy;
640     Redefined : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
641       return Boolean is
642   begin
643      --  Generated stub: replace with real body!
644      pragma Compile_Time_Warning (Standard.True, "Is_Redefinition_Context_Valid unimplemented");
645      raise Program_Error with "Unimplemented procedure UML_Send_Object_Action_Proxy.Is_Redefinition_Context_Valid";
646      return Is_Redefinition_Context_Valid (Self, Redefined);
647   end Is_Redefinition_Context_Valid;
648
649   -------------------------
650   -- All_Owning_Packages --
651   -------------------------
652
653   overriding function All_Owning_Packages
654    (Self : not null access constant UML_Send_Object_Action_Proxy)
655       return AMF.UML.Packages.Collections.Set_Of_UML_Package is
656   begin
657      --  Generated stub: replace with real body!
658      pragma Compile_Time_Warning (Standard.True, "All_Owning_Packages unimplemented");
659      raise Program_Error with "Unimplemented procedure UML_Send_Object_Action_Proxy.All_Owning_Packages";
660      return All_Owning_Packages (Self);
661   end All_Owning_Packages;
662
663   -----------------------------
664   -- Is_Distinguishable_From --
665   -----------------------------
666
667   overriding function Is_Distinguishable_From
668    (Self : not null access constant UML_Send_Object_Action_Proxy;
669     N : AMF.UML.Named_Elements.UML_Named_Element_Access;
670     Ns : AMF.UML.Namespaces.UML_Namespace_Access)
671       return Boolean is
672   begin
673      --  Generated stub: replace with real body!
674      pragma Compile_Time_Warning (Standard.True, "Is_Distinguishable_From unimplemented");
675      raise Program_Error with "Unimplemented procedure UML_Send_Object_Action_Proxy.Is_Distinguishable_From";
676      return Is_Distinguishable_From (Self, N, Ns);
677   end Is_Distinguishable_From;
678
679   ---------------
680   -- Namespace --
681   ---------------
682
683   overriding function Namespace
684    (Self : not null access constant UML_Send_Object_Action_Proxy)
685       return AMF.UML.Namespaces.UML_Namespace_Access is
686   begin
687      --  Generated stub: replace with real body!
688      pragma Compile_Time_Warning (Standard.True, "Namespace unimplemented");
689      raise Program_Error with "Unimplemented procedure UML_Send_Object_Action_Proxy.Namespace";
690      return Namespace (Self);
691   end Namespace;
692
693end AMF.Internals.UML_Send_Object_Actions;
694