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