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