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