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