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_Packages is
54
55   -------------------
56   -- Enter_Element --
57   -------------------
58
59   overriding procedure Enter_Element
60    (Self    : not null access constant UML_Package_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_Package
67            (AMF.UML.Packages.UML_Package_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_Package_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_Package
84            (AMF.UML.Packages.UML_Package_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_Package_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_Package
102            (Visitor,
103             AMF.UML.Packages.UML_Package_Access (Self),
104             Control);
105      end if;
106   end Visit_Element;
107
108   -------------------
109   -- Must_Be_Owned --
110   -------------------
111
112   overriding function Must_Be_Owned
113    (Self : not null access constant UML_Package_Proxy) return Boolean
114   is
115      pragma Unreferenced (Self);
116
117      --  [UML241] 7.3.38 Package (from Kernel)
118      --
119      --   The query mustBeOwned() indicates whether elements of this type must
120      --   have an owner.
121      --
122      --   Package::mustBeOwned() : Boolean
123      --   mustBeOwned = false
124
125   begin
126      return False;
127   end Must_Be_Owned;
128
129   -------------
130   -- Get_URI --
131   -------------
132
133   overriding function Get_URI
134    (Self : not null access constant UML_Package_Proxy)
135       return AMF.Optional_String is
136   begin
137      declare
138         use type Matreshka.Internals.Strings.Shared_String_Access;
139
140         Aux : constant Matreshka.Internals.Strings.Shared_String_Access
141           := AMF.Internals.Tables.UML_Attributes.Internal_Get_URI (Self.Element);
142
143      begin
144         if Aux = null then
145            return (Is_Empty => True);
146
147         else
148            return (False, League.Strings.Internals.Create (Aux));
149         end if;
150      end;
151   end Get_URI;
152
153   -------------
154   -- Set_URI --
155   -------------
156
157   overriding procedure Set_URI
158    (Self : not null access UML_Package_Proxy;
159     To   : AMF.Optional_String) is
160   begin
161      if To.Is_Empty then
162         AMF.Internals.Tables.UML_Attributes.Internal_Set_URI
163          (Self.Element, null);
164
165      else
166         AMF.Internals.Tables.UML_Attributes.Internal_Set_URI
167          (Self.Element,
168           League.Strings.Internals.Internal (To.Value));
169      end if;
170   end Set_URI;
171
172   ------------------------
173   -- Get_Nested_Package --
174   ------------------------
175
176   overriding function Get_Nested_Package
177    (Self : not null access constant UML_Package_Proxy)
178       return AMF.UML.Packages.Collections.Set_Of_UML_Package is
179   begin
180      return
181        AMF.UML.Packages.Collections.Wrap
182         (AMF.Internals.Element_Collections.Wrap
183           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Nested_Package
184             (Self.Element)));
185   end Get_Nested_Package;
186
187   -------------------------
188   -- Get_Nesting_Package --
189   -------------------------
190
191   overriding function Get_Nesting_Package
192    (Self : not null access constant UML_Package_Proxy)
193       return AMF.UML.Packages.UML_Package_Access is
194   begin
195      return
196        AMF.UML.Packages.UML_Package_Access
197         (AMF.Internals.Helpers.To_Element
198           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Nesting_Package
199             (Self.Element)));
200   end Get_Nesting_Package;
201
202   -------------------------
203   -- Set_Nesting_Package --
204   -------------------------
205
206   overriding procedure Set_Nesting_Package
207    (Self : not null access UML_Package_Proxy;
208     To   : AMF.UML.Packages.UML_Package_Access) is
209   begin
210      AMF.Internals.Tables.UML_Attributes.Internal_Set_Nesting_Package
211       (Self.Element,
212        AMF.Internals.Helpers.To_Element
213         (AMF.Elements.Element_Access (To)));
214   end Set_Nesting_Package;
215
216   --------------------------
217   -- Get_Owned_Stereotype --
218   --------------------------
219
220   overriding function Get_Owned_Stereotype
221    (Self : not null access constant UML_Package_Proxy)
222       return AMF.UML.Stereotypes.Collections.Set_Of_UML_Stereotype is
223   begin
224      return
225        AMF.UML.Stereotypes.Collections.Wrap
226         (AMF.Internals.Element_Collections.Wrap
227           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Stereotype
228             (Self.Element)));
229   end Get_Owned_Stereotype;
230
231   --------------------
232   -- Get_Owned_Type --
233   --------------------
234
235   overriding function Get_Owned_Type
236    (Self : not null access constant UML_Package_Proxy)
237       return AMF.UML.Types.Collections.Set_Of_UML_Type is
238   begin
239      return
240        AMF.UML.Types.Collections.Wrap
241         (AMF.Internals.Element_Collections.Wrap
242           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Type
243             (Self.Element)));
244   end Get_Owned_Type;
245
246   -----------------------
247   -- Get_Package_Merge --
248   -----------------------
249
250   overriding function Get_Package_Merge
251    (Self : not null access constant UML_Package_Proxy)
252       return AMF.UML.Package_Merges.Collections.Set_Of_UML_Package_Merge is
253   begin
254      return
255        AMF.UML.Package_Merges.Collections.Wrap
256         (AMF.Internals.Element_Collections.Wrap
257           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Package_Merge
258             (Self.Element)));
259   end Get_Package_Merge;
260
261   --------------------------
262   -- Get_Packaged_Element --
263   --------------------------
264
265   overriding function Get_Packaged_Element
266    (Self : not null access constant UML_Package_Proxy)
267       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
268   begin
269      return
270        AMF.UML.Packageable_Elements.Collections.Wrap
271         (AMF.Internals.Element_Collections.Wrap
272           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Packaged_Element
273             (Self.Element)));
274   end Get_Packaged_Element;
275
276   -----------------------------
277   -- Get_Profile_Application --
278   -----------------------------
279
280   overriding function Get_Profile_Application
281    (Self : not null access constant UML_Package_Proxy)
282       return AMF.UML.Profile_Applications.Collections.Set_Of_UML_Profile_Application is
283   begin
284      return
285        AMF.UML.Profile_Applications.Collections.Wrap
286         (AMF.Internals.Element_Collections.Wrap
287           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Profile_Application
288             (Self.Element)));
289   end Get_Profile_Application;
290
291   ------------------------
292   -- Get_Element_Import --
293   ------------------------
294
295   overriding function Get_Element_Import
296    (Self : not null access constant UML_Package_Proxy)
297       return AMF.UML.Element_Imports.Collections.Set_Of_UML_Element_Import is
298   begin
299      return
300        AMF.UML.Element_Imports.Collections.Wrap
301         (AMF.Internals.Element_Collections.Wrap
302           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Element_Import
303             (Self.Element)));
304   end Get_Element_Import;
305
306   -------------------------
307   -- Get_Imported_Member --
308   -------------------------
309
310   overriding function Get_Imported_Member
311    (Self : not null access constant UML_Package_Proxy)
312       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
313   begin
314      return
315        AMF.UML.Packageable_Elements.Collections.Wrap
316         (AMF.Internals.Element_Collections.Wrap
317           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Imported_Member
318             (Self.Element)));
319   end Get_Imported_Member;
320
321   ----------------
322   -- Get_Member --
323   ----------------
324
325   overriding function Get_Member
326    (Self : not null access constant UML_Package_Proxy)
327       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
328   begin
329      return
330        AMF.UML.Named_Elements.Collections.Wrap
331         (AMF.Internals.Element_Collections.Wrap
332           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Member
333             (Self.Element)));
334   end Get_Member;
335
336   ----------------------
337   -- Get_Owned_Member --
338   ----------------------
339
340   overriding function Get_Owned_Member
341    (Self : not null access constant UML_Package_Proxy)
342       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
343   begin
344      return
345        AMF.UML.Named_Elements.Collections.Wrap
346         (AMF.Internals.Element_Collections.Wrap
347           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Member
348             (Self.Element)));
349   end Get_Owned_Member;
350
351   --------------------
352   -- Get_Owned_Rule --
353   --------------------
354
355   overriding function Get_Owned_Rule
356    (Self : not null access constant UML_Package_Proxy)
357       return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is
358   begin
359      return
360        AMF.UML.Constraints.Collections.Wrap
361         (AMF.Internals.Element_Collections.Wrap
362           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Rule
363             (Self.Element)));
364   end Get_Owned_Rule;
365
366   ------------------------
367   -- Get_Package_Import --
368   ------------------------
369
370   overriding function Get_Package_Import
371    (Self : not null access constant UML_Package_Proxy)
372       return AMF.UML.Package_Imports.Collections.Set_Of_UML_Package_Import is
373   begin
374      return
375        AMF.UML.Package_Imports.Collections.Wrap
376         (AMF.Internals.Element_Collections.Wrap
377           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Package_Import
378             (Self.Element)));
379   end Get_Package_Import;
380
381   ---------------------------
382   -- Get_Client_Dependency --
383   ---------------------------
384
385   overriding function Get_Client_Dependency
386    (Self : not null access constant UML_Package_Proxy)
387       return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency is
388   begin
389      return
390        AMF.UML.Dependencies.Collections.Wrap
391         (AMF.Internals.Element_Collections.Wrap
392           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Client_Dependency
393             (Self.Element)));
394   end Get_Client_Dependency;
395
396   -------------------------
397   -- Get_Name_Expression --
398   -------------------------
399
400   overriding function Get_Name_Expression
401    (Self : not null access constant UML_Package_Proxy)
402       return AMF.UML.String_Expressions.UML_String_Expression_Access is
403   begin
404      return
405        AMF.UML.String_Expressions.UML_String_Expression_Access
406         (AMF.Internals.Helpers.To_Element
407           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Name_Expression
408             (Self.Element)));
409   end Get_Name_Expression;
410
411   -------------------------
412   -- Set_Name_Expression --
413   -------------------------
414
415   overriding procedure Set_Name_Expression
416    (Self : not null access UML_Package_Proxy;
417     To   : AMF.UML.String_Expressions.UML_String_Expression_Access) is
418   begin
419      AMF.Internals.Tables.UML_Attributes.Internal_Set_Name_Expression
420       (Self.Element,
421        AMF.Internals.Helpers.To_Element
422         (AMF.Elements.Element_Access (To)));
423   end Set_Name_Expression;
424
425   -------------------
426   -- Get_Namespace --
427   -------------------
428
429   overriding function Get_Namespace
430    (Self : not null access constant UML_Package_Proxy)
431       return AMF.UML.Namespaces.UML_Namespace_Access is
432   begin
433      return
434        AMF.UML.Namespaces.UML_Namespace_Access
435         (AMF.Internals.Helpers.To_Element
436           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Namespace
437             (Self.Element)));
438   end Get_Namespace;
439
440   ------------------------
441   -- Get_Qualified_Name --
442   ------------------------
443
444   overriding function Get_Qualified_Name
445    (Self : not null access constant UML_Package_Proxy)
446       return AMF.Optional_String is
447   begin
448      declare
449         use type Matreshka.Internals.Strings.Shared_String_Access;
450
451         Aux : constant Matreshka.Internals.Strings.Shared_String_Access
452           := AMF.Internals.Tables.UML_Attributes.Internal_Get_Qualified_Name (Self.Element);
453
454      begin
455         if Aux = null then
456            return (Is_Empty => True);
457
458         else
459            return (False, League.Strings.Internals.Create (Aux));
460         end if;
461      end;
462   end Get_Qualified_Name;
463
464   -----------------------------------
465   -- Get_Owning_Template_Parameter --
466   -----------------------------------
467
468   overriding function Get_Owning_Template_Parameter
469    (Self : not null access constant UML_Package_Proxy)
470       return AMF.UML.Template_Parameters.UML_Template_Parameter_Access is
471   begin
472      return
473        AMF.UML.Template_Parameters.UML_Template_Parameter_Access
474         (AMF.Internals.Helpers.To_Element
475           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owning_Template_Parameter
476             (Self.Element)));
477   end Get_Owning_Template_Parameter;
478
479   -----------------------------------
480   -- Set_Owning_Template_Parameter --
481   -----------------------------------
482
483   overriding procedure Set_Owning_Template_Parameter
484    (Self : not null access UML_Package_Proxy;
485     To   : AMF.UML.Template_Parameters.UML_Template_Parameter_Access) is
486   begin
487      AMF.Internals.Tables.UML_Attributes.Internal_Set_Owning_Template_Parameter
488       (Self.Element,
489        AMF.Internals.Helpers.To_Element
490         (AMF.Elements.Element_Access (To)));
491   end Set_Owning_Template_Parameter;
492
493   ----------------------------
494   -- Get_Template_Parameter --
495   ----------------------------
496
497   overriding function Get_Template_Parameter
498    (Self : not null access constant UML_Package_Proxy)
499       return AMF.UML.Template_Parameters.UML_Template_Parameter_Access is
500   begin
501      return
502        AMF.UML.Template_Parameters.UML_Template_Parameter_Access
503         (AMF.Internals.Helpers.To_Element
504           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Template_Parameter
505             (Self.Element)));
506   end Get_Template_Parameter;
507
508   ----------------------------
509   -- Set_Template_Parameter --
510   ----------------------------
511
512   overriding procedure Set_Template_Parameter
513    (Self : not null access UML_Package_Proxy;
514     To   : AMF.UML.Template_Parameters.UML_Template_Parameter_Access) is
515   begin
516      AMF.Internals.Tables.UML_Attributes.Internal_Set_Template_Parameter
517       (Self.Element,
518        AMF.Internals.Helpers.To_Element
519         (AMF.Elements.Element_Access (To)));
520   end Set_Template_Parameter;
521
522   ----------------------------------
523   -- Get_Owned_Template_Signature --
524   ----------------------------------
525
526   overriding function Get_Owned_Template_Signature
527    (Self : not null access constant UML_Package_Proxy)
528       return AMF.UML.Template_Signatures.UML_Template_Signature_Access is
529   begin
530      return
531        AMF.UML.Template_Signatures.UML_Template_Signature_Access
532         (AMF.Internals.Helpers.To_Element
533           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Template_Signature
534             (Self.Element)));
535   end Get_Owned_Template_Signature;
536
537   ----------------------------------
538   -- Set_Owned_Template_Signature --
539   ----------------------------------
540
541   overriding procedure Set_Owned_Template_Signature
542    (Self : not null access UML_Package_Proxy;
543     To   : AMF.UML.Template_Signatures.UML_Template_Signature_Access) is
544   begin
545      AMF.Internals.Tables.UML_Attributes.Internal_Set_Owned_Template_Signature
546       (Self.Element,
547        AMF.Internals.Helpers.To_Element
548         (AMF.Elements.Element_Access (To)));
549   end Set_Owned_Template_Signature;
550
551   --------------------------
552   -- Get_Template_Binding --
553   --------------------------
554
555   overriding function Get_Template_Binding
556    (Self : not null access constant UML_Package_Proxy)
557       return AMF.UML.Template_Bindings.Collections.Set_Of_UML_Template_Binding is
558   begin
559      return
560        AMF.UML.Template_Bindings.Collections.Wrap
561         (AMF.Internals.Element_Collections.Wrap
562           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Template_Binding
563             (Self.Element)));
564   end Get_Template_Binding;
565
566   --------------------------------
567   -- All_Applicable_Stereotypes --
568   --------------------------------
569
570   overriding function All_Applicable_Stereotypes
571    (Self : not null access constant UML_Package_Proxy)
572       return AMF.UML.Stereotypes.Collections.Set_Of_UML_Stereotype is
573   begin
574      --  Generated stub: replace with real body!
575      pragma Compile_Time_Warning (Standard.True, "All_Applicable_Stereotypes unimplemented");
576      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.All_Applicable_Stereotypes";
577      return All_Applicable_Stereotypes (Self);
578   end All_Applicable_Stereotypes;
579
580   ------------------------
581   -- Containing_Profile --
582   ------------------------
583
584   overriding function Containing_Profile
585    (Self : not null access constant UML_Package_Proxy)
586       return AMF.UML.Profiles.UML_Profile_Access is
587   begin
588      --  Generated stub: replace with real body!
589      pragma Compile_Time_Warning (Standard.True, "Containing_Profile unimplemented");
590      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Containing_Profile";
591      return Containing_Profile (Self);
592   end Containing_Profile;
593
594   -------------------
595   -- Makes_Visible --
596   -------------------
597
598   overriding function Makes_Visible
599    (Self : not null access constant UML_Package_Proxy;
600     El : AMF.UML.Named_Elements.UML_Named_Element_Access)
601       return Boolean is
602   begin
603      --  Generated stub: replace with real body!
604      pragma Compile_Time_Warning (Standard.True, "Makes_Visible unimplemented");
605      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Makes_Visible";
606      return Makes_Visible (Self, El);
607   end Makes_Visible;
608
609   --------------------
610   -- Nested_Package --
611   --------------------
612
613   overriding function Nested_Package
614    (Self : not null access constant UML_Package_Proxy)
615       return AMF.UML.Packages.Collections.Set_Of_UML_Package is
616   begin
617      --  Generated stub: replace with real body!
618      pragma Compile_Time_Warning (Standard.True, "Nested_Package unimplemented");
619      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Nested_Package";
620      return Nested_Package (Self);
621   end Nested_Package;
622
623   ----------------------
624   -- Owned_Stereotype --
625   ----------------------
626
627   overriding function Owned_Stereotype
628    (Self : not null access constant UML_Package_Proxy)
629       return AMF.UML.Stereotypes.Collections.Set_Of_UML_Stereotype is
630   begin
631      --  Generated stub: replace with real body!
632      pragma Compile_Time_Warning (Standard.True, "Owned_Stereotype unimplemented");
633      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Owned_Stereotype";
634      return Owned_Stereotype (Self);
635   end Owned_Stereotype;
636
637   ----------------
638   -- Owned_Type --
639   ----------------
640
641   overriding function Owned_Type
642    (Self : not null access constant UML_Package_Proxy)
643       return AMF.UML.Types.Collections.Set_Of_UML_Type is
644   begin
645      --  Generated stub: replace with real body!
646      pragma Compile_Time_Warning (Standard.True, "Owned_Type unimplemented");
647      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Owned_Type";
648      return Owned_Type (Self);
649   end Owned_Type;
650
651   ---------------------
652   -- Visible_Members --
653   ---------------------
654
655   overriding function Visible_Members
656    (Self : not null access constant UML_Package_Proxy)
657       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
658   begin
659      --  Generated stub: replace with real body!
660      pragma Compile_Time_Warning (Standard.True, "Visible_Members unimplemented");
661      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Visible_Members";
662      return Visible_Members (Self);
663   end Visible_Members;
664
665   ------------------------
666   -- Exclude_Collisions --
667   ------------------------
668
669   overriding function Exclude_Collisions
670    (Self : not null access constant UML_Package_Proxy;
671     Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element)
672       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
673   begin
674      --  Generated stub: replace with real body!
675      pragma Compile_Time_Warning (Standard.True, "Exclude_Collisions unimplemented");
676      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Exclude_Collisions";
677      return Exclude_Collisions (Self, Imps);
678   end Exclude_Collisions;
679
680   -------------------------
681   -- Get_Names_Of_Member --
682   -------------------------
683
684   overriding function Get_Names_Of_Member
685    (Self : not null access constant UML_Package_Proxy;
686     Element : AMF.UML.Named_Elements.UML_Named_Element_Access)
687       return AMF.String_Collections.Set_Of_String is
688   begin
689      --  Generated stub: replace with real body!
690      pragma Compile_Time_Warning (Standard.True, "Get_Names_Of_Member unimplemented");
691      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Get_Names_Of_Member";
692      return Get_Names_Of_Member (Self, Element);
693   end Get_Names_Of_Member;
694
695   --------------------
696   -- Import_Members --
697   --------------------
698
699   overriding function Import_Members
700    (Self : not null access constant UML_Package_Proxy;
701     Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element)
702       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
703   begin
704      --  Generated stub: replace with real body!
705      pragma Compile_Time_Warning (Standard.True, "Import_Members unimplemented");
706      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Import_Members";
707      return Import_Members (Self, Imps);
708   end Import_Members;
709
710   ---------------------
711   -- Imported_Member --
712   ---------------------
713
714   overriding function Imported_Member
715    (Self : not null access constant UML_Package_Proxy)
716       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
717   begin
718      --  Generated stub: replace with real body!
719      pragma Compile_Time_Warning (Standard.True, "Imported_Member unimplemented");
720      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Imported_Member";
721      return Imported_Member (Self);
722   end Imported_Member;
723
724   ---------------------------------
725   -- Members_Are_Distinguishable --
726   ---------------------------------
727
728   overriding function Members_Are_Distinguishable
729    (Self : not null access constant UML_Package_Proxy)
730       return Boolean is
731   begin
732      --  Generated stub: replace with real body!
733      pragma Compile_Time_Warning (Standard.True, "Members_Are_Distinguishable unimplemented");
734      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Members_Are_Distinguishable";
735      return Members_Are_Distinguishable (Self);
736   end Members_Are_Distinguishable;
737
738   ------------------
739   -- Owned_Member --
740   ------------------
741
742   overriding function Owned_Member
743    (Self : not null access constant UML_Package_Proxy)
744       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
745   begin
746      --  Generated stub: replace with real body!
747      pragma Compile_Time_Warning (Standard.True, "Owned_Member unimplemented");
748      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Owned_Member";
749      return Owned_Member (Self);
750   end Owned_Member;
751
752   -------------------------
753   -- All_Owning_Packages --
754   -------------------------
755
756   overriding function All_Owning_Packages
757    (Self : not null access constant UML_Package_Proxy)
758       return AMF.UML.Packages.Collections.Set_Of_UML_Package is
759   begin
760      --  Generated stub: replace with real body!
761      pragma Compile_Time_Warning (Standard.True, "All_Owning_Packages unimplemented");
762      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.All_Owning_Packages";
763      return All_Owning_Packages (Self);
764   end All_Owning_Packages;
765
766   -----------------------------
767   -- Is_Distinguishable_From --
768   -----------------------------
769
770   overriding function Is_Distinguishable_From
771    (Self : not null access constant UML_Package_Proxy;
772     N : AMF.UML.Named_Elements.UML_Named_Element_Access;
773     Ns : AMF.UML.Namespaces.UML_Namespace_Access)
774       return Boolean is
775   begin
776      --  Generated stub: replace with real body!
777      pragma Compile_Time_Warning (Standard.True, "Is_Distinguishable_From unimplemented");
778      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Is_Distinguishable_From";
779      return Is_Distinguishable_From (Self, N, Ns);
780   end Is_Distinguishable_From;
781
782   ---------------
783   -- Namespace --
784   ---------------
785
786   overriding function Namespace
787    (Self : not null access constant UML_Package_Proxy)
788       return AMF.UML.Namespaces.UML_Namespace_Access is
789   begin
790      --  Generated stub: replace with real body!
791      pragma Compile_Time_Warning (Standard.True, "Namespace unimplemented");
792      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Namespace";
793      return Namespace (Self);
794   end Namespace;
795
796   ------------------------
797   -- Is_Compatible_With --
798   ------------------------
799
800   overriding function Is_Compatible_With
801    (Self : not null access constant UML_Package_Proxy;
802     P : AMF.UML.Parameterable_Elements.UML_Parameterable_Element_Access)
803       return Boolean is
804   begin
805      --  Generated stub: replace with real body!
806      pragma Compile_Time_Warning (Standard.True, "Is_Compatible_With unimplemented");
807      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Is_Compatible_With";
808      return Is_Compatible_With (Self, P);
809   end Is_Compatible_With;
810
811   ---------------------------
812   -- Is_Template_Parameter --
813   ---------------------------
814
815   overriding function Is_Template_Parameter
816    (Self : not null access constant UML_Package_Proxy)
817       return Boolean is
818   begin
819      --  Generated stub: replace with real body!
820      pragma Compile_Time_Warning (Standard.True, "Is_Template_Parameter unimplemented");
821      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Is_Template_Parameter";
822      return Is_Template_Parameter (Self);
823   end Is_Template_Parameter;
824
825   -----------------
826   -- Is_Template --
827   -----------------
828
829   overriding function Is_Template
830    (Self : not null access constant UML_Package_Proxy)
831       return Boolean is
832   begin
833      --  Generated stub: replace with real body!
834      pragma Compile_Time_Warning (Standard.True, "Is_Template unimplemented");
835      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Is_Template";
836      return Is_Template (Self);
837   end Is_Template;
838
839   ----------------------------
840   -- Parameterable_Elements --
841   ----------------------------
842
843   overriding function Parameterable_Elements
844    (Self : not null access constant UML_Package_Proxy)
845       return AMF.UML.Parameterable_Elements.Collections.Set_Of_UML_Parameterable_Element is
846   begin
847      --  Generated stub: replace with real body!
848      pragma Compile_Time_Warning (Standard.True, "Parameterable_Elements unimplemented");
849      raise Program_Error with "Unimplemented procedure UML_Package_Proxy.Parameterable_Elements";
850      return Parameterable_Elements (Self);
851   end Parameterable_Elements;
852
853end AMF.Internals.UML_Packages;
854