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