1------------------------------------------------------------------------------
2--                                                                          --
3--                            Matreshka Project                             --
4--                                                                          --
5--                          Ada Modeling Framework                          --
6--                                                                          --
7--                        Runtime Library Component                         --
8--                                                                          --
9------------------------------------------------------------------------------
10--                                                                          --
11-- Copyright © 2012-2013, 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: 3642 $ $Date: 2013-01-07 22:01:06 +0400 (Mon, 07 Jan 2013) $
43------------------------------------------------------------------------------
44--  This file is generated, don't edit it.
45------------------------------------------------------------------------------
46with AMF.Internals.Links;
47with AMF.Internals.Tables.OCL_Element_Table;
48with AMF.Internals.Tables.OCL_Metamodel;
49with AMF.Internals.Tables.OCL_Notification;
50with AMF.Internals.Tables.OCL_Types;
51with AMF.Internals.Tables.Primitive_Types_Notification;
52with AMF.Internals.Tables.UML_Metamodel;
53with AMF.Internals.Tables.UML_Notification;
54
55package body AMF.Internals.Tables.OCL_Attributes is
56
57   use type Matreshka.Internals.Strings.Shared_String_Access;
58
59   --  AnyType
60   --
61   --     12  Classifier::isAbstract
62   --     13  Classifier::isFinalSpecialization
63   --     11  RedefinableElement::isLeaf
64   --     2  NamedElement::name
65   --     3  NamedElement::nameExpression
66   --     4  NamedElement::namespace
67   --     14  Classifier::ownedTemplateSignature
68   --     10  TemplateableElement::ownedTemplateSignature
69   --     1  Element::owner
70   --     8  ParameterableElement::owningTemplateParameter
71   --     7  Type::package
72   --     5  NamedElement::qualifiedName
73   --     15  Classifier::representation
74   --     16  Classifier::templateParameter
75   --     9  ParameterableElement::templateParameter
76   --     6  NamedElement::visibility
77   --     6  PackageableElement::visibility
78   --
79   --     13  Classifier::attribute
80   --     3  NamedElement::clientDependency
81   --     14  Classifier::collaborationUse
82   --     4  Namespace::elementImport
83   --     15  Classifier::feature
84   --     16  Classifier::general
85   --     17  Classifier::generalization
86   --     5  Namespace::importedMember
87   --     18  Classifier::inheritedMember
88   --     6  Namespace::member
89   --     1  Element::ownedComment
90   --     2  Element::ownedElement
91   --     7  Namespace::ownedMember
92   --     8  Namespace::ownedRule
93   --     19  Classifier::ownedUseCase
94   --     9  Namespace::packageImport
95   --     20  Classifier::powertypeExtent
96   --     21  Classifier::redefinedClassifier
97   --     11  RedefinableElement::redefinedElement
98   --     12  RedefinableElement::redefinitionContext
99   --     22  Classifier::substitution
100   --     10  TemplateableElement::templateBinding
101   --     23  Classifier::useCase
102
103   --  AssociationClassCallExp
104   --
105   --     2  NamedElement::name
106   --     3  NamedElement::nameExpression
107   --     4  NamedElement::namespace
108   --     9  NavigationCallExp::navigationSource
109   --     1  Element::owner
110   --     5  NamedElement::qualifiedName
111   --     10  AssociationClassCallExp::referredAssociationClass
112   --     8  CallExp::source
113   --     7  TypedElement::type
114   --     6  NamedElement::visibility
115   --
116   --     3  NamedElement::clientDependency
117   --     1  Element::ownedComment
118   --     2  Element::ownedElement
119   --     4  NavigationCallExp::qualifier
120
121   --  BagType
122   --
123   --     17  CollectionType::elementType
124   --     12  Classifier::isAbstract
125   --     13  Classifier::isFinalSpecialization
126   --     11  RedefinableElement::isLeaf
127   --     2  NamedElement::name
128   --     3  NamedElement::nameExpression
129   --     4  NamedElement::namespace
130   --     14  Classifier::ownedTemplateSignature
131   --     10  TemplateableElement::ownedTemplateSignature
132   --     1  Element::owner
133   --     8  ParameterableElement::owningTemplateParameter
134   --     7  Type::package
135   --     5  NamedElement::qualifiedName
136   --     15  Classifier::representation
137   --     16  Classifier::templateParameter
138   --     9  ParameterableElement::templateParameter
139   --     6  NamedElement::visibility
140   --     6  PackageableElement::visibility
141   --
142   --     13  Classifier::attribute
143   --     3  NamedElement::clientDependency
144   --     14  Classifier::collaborationUse
145   --     4  Namespace::elementImport
146   --     15  Classifier::feature
147   --     16  Classifier::general
148   --     17  Classifier::generalization
149   --     5  Namespace::importedMember
150   --     18  Classifier::inheritedMember
151   --     6  Namespace::member
152   --     24  DataType::ownedAttribute
153   --     1  Element::ownedComment
154   --     2  Element::ownedElement
155   --     7  Namespace::ownedMember
156   --     25  DataType::ownedOperation
157   --     8  Namespace::ownedRule
158   --     19  Classifier::ownedUseCase
159   --     9  Namespace::packageImport
160   --     20  Classifier::powertypeExtent
161   --     21  Classifier::redefinedClassifier
162   --     11  RedefinableElement::redefinedElement
163   --     12  RedefinableElement::redefinitionContext
164   --     22  Classifier::substitution
165   --     10  TemplateableElement::templateBinding
166   --     23  Classifier::useCase
167
168   --  BooleanLiteralExp
169   --
170   --     8  BooleanLiteralExp::booleanSymbol
171   --     2  NamedElement::name
172   --     3  NamedElement::nameExpression
173   --     4  NamedElement::namespace
174   --     1  Element::owner
175   --     5  NamedElement::qualifiedName
176   --     7  TypedElement::type
177   --     6  NamedElement::visibility
178   --
179   --     3  NamedElement::clientDependency
180   --     1  Element::ownedComment
181   --     2  Element::ownedElement
182
183   --  CollectionItem
184   --
185   --     8  CollectionItem::item
186   --     2  NamedElement::name
187   --     3  NamedElement::nameExpression
188   --     4  NamedElement::namespace
189   --     1  Element::owner
190   --     5  NamedElement::qualifiedName
191   --     7  TypedElement::type
192   --     6  NamedElement::visibility
193   --
194   --     3  NamedElement::clientDependency
195   --     1  Element::ownedComment
196   --     2  Element::ownedElement
197
198   --  CollectionLiteralExp
199   --
200   --     8  CollectionLiteralExp::kind
201   --     2  NamedElement::name
202   --     3  NamedElement::nameExpression
203   --     4  NamedElement::namespace
204   --     1  Element::owner
205   --     5  NamedElement::qualifiedName
206   --     7  TypedElement::type
207   --     6  NamedElement::visibility
208   --
209   --     3  NamedElement::clientDependency
210   --     1  Element::ownedComment
211   --     2  Element::ownedElement
212   --     4  CollectionLiteralExp::part
213
214   --  CollectionRange
215   --
216   --     8  CollectionRange::first
217   --     9  CollectionRange::last
218   --     2  NamedElement::name
219   --     3  NamedElement::nameExpression
220   --     4  NamedElement::namespace
221   --     1  Element::owner
222   --     5  NamedElement::qualifiedName
223   --     7  TypedElement::type
224   --     6  NamedElement::visibility
225   --
226   --     3  NamedElement::clientDependency
227   --     1  Element::ownedComment
228   --     2  Element::ownedElement
229
230   --  CollectionType
231   --
232   --     17  CollectionType::elementType
233   --     12  Classifier::isAbstract
234   --     13  Classifier::isFinalSpecialization
235   --     11  RedefinableElement::isLeaf
236   --     2  NamedElement::name
237   --     3  NamedElement::nameExpression
238   --     4  NamedElement::namespace
239   --     14  Classifier::ownedTemplateSignature
240   --     10  TemplateableElement::ownedTemplateSignature
241   --     1  Element::owner
242   --     8  ParameterableElement::owningTemplateParameter
243   --     7  Type::package
244   --     5  NamedElement::qualifiedName
245   --     15  Classifier::representation
246   --     16  Classifier::templateParameter
247   --     9  ParameterableElement::templateParameter
248   --     6  NamedElement::visibility
249   --     6  PackageableElement::visibility
250   --
251   --     13  Classifier::attribute
252   --     3  NamedElement::clientDependency
253   --     14  Classifier::collaborationUse
254   --     4  Namespace::elementImport
255   --     15  Classifier::feature
256   --     16  Classifier::general
257   --     17  Classifier::generalization
258   --     5  Namespace::importedMember
259   --     18  Classifier::inheritedMember
260   --     6  Namespace::member
261   --     24  DataType::ownedAttribute
262   --     1  Element::ownedComment
263   --     2  Element::ownedElement
264   --     7  Namespace::ownedMember
265   --     25  DataType::ownedOperation
266   --     8  Namespace::ownedRule
267   --     19  Classifier::ownedUseCase
268   --     9  Namespace::packageImport
269   --     20  Classifier::powertypeExtent
270   --     21  Classifier::redefinedClassifier
271   --     11  RedefinableElement::redefinedElement
272   --     12  RedefinableElement::redefinitionContext
273   --     22  Classifier::substitution
274   --     10  TemplateableElement::templateBinding
275   --     23  Classifier::useCase
276
277   --  EnumLiteralExp
278   --
279   --     2  NamedElement::name
280   --     3  NamedElement::nameExpression
281   --     4  NamedElement::namespace
282   --     1  Element::owner
283   --     5  NamedElement::qualifiedName
284   --     8  EnumLiteralExp::referredEnumLiteral
285   --     7  TypedElement::type
286   --     6  NamedElement::visibility
287   --
288   --     3  NamedElement::clientDependency
289   --     1  Element::ownedComment
290   --     2  Element::ownedElement
291
292   --  ExpressionInOcl
293   --
294   --     10  OpaqueExpression::behavior
295   --     11  OpaqueExpression::body
296   --     14  ExpressionInOcl::bodyExpression
297   --     15  ExpressionInOcl::contextVariable
298   --     17  ExpressionInOcl::generatedType
299   --     12  OpaqueExpression::language
300   --     2  NamedElement::name
301   --     3  NamedElement::nameExpression
302   --     4  NamedElement::namespace
303   --     1  Element::owner
304   --     8  ParameterableElement::owningTemplateParameter
305   --     5  NamedElement::qualifiedName
306   --     13  OpaqueExpression::result
307   --     16  ExpressionInOcl::resultVariable
308   --     9  ParameterableElement::templateParameter
309   --     7  TypedElement::type
310   --     6  NamedElement::visibility
311   --     6  PackageableElement::visibility
312   --
313   --     3  NamedElement::clientDependency
314   --     1  Element::ownedComment
315   --     2  Element::ownedElement
316   --     4  ExpressionInOcl::parameterVariable
317
318   --  IfExp
319   --
320   --     8  IfExp::condition
321   --     10  IfExp::elseExpression
322   --     2  NamedElement::name
323   --     3  NamedElement::nameExpression
324   --     4  NamedElement::namespace
325   --     1  Element::owner
326   --     5  NamedElement::qualifiedName
327   --     9  IfExp::thenExpression
328   --     7  TypedElement::type
329   --     6  NamedElement::visibility
330   --
331   --     3  NamedElement::clientDependency
332   --     1  Element::ownedComment
333   --     2  Element::ownedElement
334
335   --  IntegerLiteralExp
336   --
337   --     8  IntegerLiteralExp::integerSymbol
338   --     2  NamedElement::name
339   --     3  NamedElement::nameExpression
340   --     4  NamedElement::namespace
341   --     1  Element::owner
342   --     5  NamedElement::qualifiedName
343   --     7  TypedElement::type
344   --     6  NamedElement::visibility
345   --
346   --     3  NamedElement::clientDependency
347   --     1  Element::ownedComment
348   --     2  Element::ownedElement
349
350   --  InvalidLiteralExp
351   --
352   --     2  NamedElement::name
353   --     3  NamedElement::nameExpression
354   --     4  NamedElement::namespace
355   --     1  Element::owner
356   --     5  NamedElement::qualifiedName
357   --     7  TypedElement::type
358   --     6  NamedElement::visibility
359   --
360   --     3  NamedElement::clientDependency
361   --     1  Element::ownedComment
362   --     2  Element::ownedElement
363
364   --  InvalidType
365   --
366   --     12  Classifier::isAbstract
367   --     13  Classifier::isFinalSpecialization
368   --     11  RedefinableElement::isLeaf
369   --     2  NamedElement::name
370   --     3  NamedElement::nameExpression
371   --     4  NamedElement::namespace
372   --     14  Classifier::ownedTemplateSignature
373   --     10  TemplateableElement::ownedTemplateSignature
374   --     1  Element::owner
375   --     8  ParameterableElement::owningTemplateParameter
376   --     7  Type::package
377   --     5  NamedElement::qualifiedName
378   --     15  Classifier::representation
379   --     16  Classifier::templateParameter
380   --     9  ParameterableElement::templateParameter
381   --     6  NamedElement::visibility
382   --     6  PackageableElement::visibility
383   --
384   --     13  Classifier::attribute
385   --     3  NamedElement::clientDependency
386   --     14  Classifier::collaborationUse
387   --     4  Namespace::elementImport
388   --     15  Classifier::feature
389   --     16  Classifier::general
390   --     17  Classifier::generalization
391   --     5  Namespace::importedMember
392   --     18  Classifier::inheritedMember
393   --     6  Namespace::member
394   --     1  Element::ownedComment
395   --     2  Element::ownedElement
396   --     7  Namespace::ownedMember
397   --     8  Namespace::ownedRule
398   --     19  Classifier::ownedUseCase
399   --     9  Namespace::packageImport
400   --     20  Classifier::powertypeExtent
401   --     21  Classifier::redefinedClassifier
402   --     11  RedefinableElement::redefinedElement
403   --     12  RedefinableElement::redefinitionContext
404   --     22  Classifier::substitution
405   --     10  TemplateableElement::templateBinding
406   --     23  Classifier::useCase
407
408   --  IterateExp
409   --
410   --     9  LoopExp::body
411   --     2  NamedElement::name
412   --     3  NamedElement::nameExpression
413   --     4  NamedElement::namespace
414   --     1  Element::owner
415   --     5  NamedElement::qualifiedName
416   --     10  IterateExp::result
417   --     8  CallExp::source
418   --     7  TypedElement::type
419   --     6  NamedElement::visibility
420   --
421   --     3  NamedElement::clientDependency
422   --     4  LoopExp::iterator
423   --     1  Element::ownedComment
424   --     2  Element::ownedElement
425
426   --  IteratorExp
427   --
428   --     9  LoopExp::body
429   --     2  NamedElement::name
430   --     3  NamedElement::nameExpression
431   --     4  NamedElement::namespace
432   --     1  Element::owner
433   --     5  NamedElement::qualifiedName
434   --     8  CallExp::source
435   --     7  TypedElement::type
436   --     6  NamedElement::visibility
437   --
438   --     3  NamedElement::clientDependency
439   --     4  LoopExp::iterator
440   --     1  Element::ownedComment
441   --     2  Element::ownedElement
442
443   --  LetExp
444   --
445   --     8  LetExp::in
446   --     2  NamedElement::name
447   --     3  NamedElement::nameExpression
448   --     4  NamedElement::namespace
449   --     1  Element::owner
450   --     5  NamedElement::qualifiedName
451   --     7  TypedElement::type
452   --     9  LetExp::variable
453   --     6  NamedElement::visibility
454   --
455   --     3  NamedElement::clientDependency
456   --     1  Element::ownedComment
457   --     2  Element::ownedElement
458
459   --  MessageExp
460   --
461   --     9  MessageExp::calledOperation
462   --     2  NamedElement::name
463   --     3  NamedElement::nameExpression
464   --     4  NamedElement::namespace
465   --     1  Element::owner
466   --     5  NamedElement::qualifiedName
467   --     10  MessageExp::sentSignal
468   --     8  MessageExp::target
469   --     7  TypedElement::type
470   --     6  NamedElement::visibility
471   --
472   --     4  MessageExp::argument
473   --     3  NamedElement::clientDependency
474   --     1  Element::ownedComment
475   --     2  Element::ownedElement
476
477   --  MessageType
478   --
479   --     12  Classifier::isAbstract
480   --     13  Classifier::isFinalSpecialization
481   --     11  RedefinableElement::isLeaf
482   --     2  NamedElement::name
483   --     3  NamedElement::nameExpression
484   --     4  NamedElement::namespace
485   --     14  Classifier::ownedTemplateSignature
486   --     10  TemplateableElement::ownedTemplateSignature
487   --     1  Element::owner
488   --     8  ParameterableElement::owningTemplateParameter
489   --     7  Type::package
490   --     5  NamedElement::qualifiedName
491   --     18  MessageType::referredOperation
492   --     17  MessageType::referredSignal
493   --     15  Classifier::representation
494   --     16  Classifier::templateParameter
495   --     9  ParameterableElement::templateParameter
496   --     6  NamedElement::visibility
497   --     6  PackageableElement::visibility
498   --
499   --     13  Classifier::attribute
500   --     3  NamedElement::clientDependency
501   --     14  Classifier::collaborationUse
502   --     4  Namespace::elementImport
503   --     15  Classifier::feature
504   --     16  Classifier::general
505   --     17  Classifier::generalization
506   --     5  Namespace::importedMember
507   --     18  Classifier::inheritedMember
508   --     6  Namespace::member
509   --     1  Element::ownedComment
510   --     2  Element::ownedElement
511   --     7  Namespace::ownedMember
512   --     8  Namespace::ownedRule
513   --     19  Classifier::ownedUseCase
514   --     9  Namespace::packageImport
515   --     20  Classifier::powertypeExtent
516   --     21  Classifier::redefinedClassifier
517   --     11  RedefinableElement::redefinedElement
518   --     12  RedefinableElement::redefinitionContext
519   --     22  Classifier::substitution
520   --     10  TemplateableElement::templateBinding
521   --     23  Classifier::useCase
522
523   --  NullLiteralExp
524   --
525   --     2  NamedElement::name
526   --     3  NamedElement::nameExpression
527   --     4  NamedElement::namespace
528   --     1  Element::owner
529   --     5  NamedElement::qualifiedName
530   --     7  TypedElement::type
531   --     6  NamedElement::visibility
532   --
533   --     3  NamedElement::clientDependency
534   --     1  Element::ownedComment
535   --     2  Element::ownedElement
536
537   --  OperationCallExp
538   --
539   --     2  NamedElement::name
540   --     3  NamedElement::nameExpression
541   --     4  NamedElement::namespace
542   --     1  Element::owner
543   --     5  NamedElement::qualifiedName
544   --     9  OperationCallExp::referredOperation
545   --     8  CallExp::source
546   --     7  TypedElement::type
547   --     6  NamedElement::visibility
548   --
549   --     4  OperationCallExp::argument
550   --     3  NamedElement::clientDependency
551   --     1  Element::ownedComment
552   --     2  Element::ownedElement
553
554   --  OrderedSetType
555   --
556   --     17  CollectionType::elementType
557   --     12  Classifier::isAbstract
558   --     13  Classifier::isFinalSpecialization
559   --     11  RedefinableElement::isLeaf
560   --     2  NamedElement::name
561   --     3  NamedElement::nameExpression
562   --     4  NamedElement::namespace
563   --     14  Classifier::ownedTemplateSignature
564   --     10  TemplateableElement::ownedTemplateSignature
565   --     1  Element::owner
566   --     8  ParameterableElement::owningTemplateParameter
567   --     7  Type::package
568   --     5  NamedElement::qualifiedName
569   --     15  Classifier::representation
570   --     16  Classifier::templateParameter
571   --     9  ParameterableElement::templateParameter
572   --     6  NamedElement::visibility
573   --     6  PackageableElement::visibility
574   --
575   --     13  Classifier::attribute
576   --     3  NamedElement::clientDependency
577   --     14  Classifier::collaborationUse
578   --     4  Namespace::elementImport
579   --     15  Classifier::feature
580   --     16  Classifier::general
581   --     17  Classifier::generalization
582   --     5  Namespace::importedMember
583   --     18  Classifier::inheritedMember
584   --     6  Namespace::member
585   --     24  DataType::ownedAttribute
586   --     1  Element::ownedComment
587   --     2  Element::ownedElement
588   --     7  Namespace::ownedMember
589   --     25  DataType::ownedOperation
590   --     8  Namespace::ownedRule
591   --     19  Classifier::ownedUseCase
592   --     9  Namespace::packageImport
593   --     20  Classifier::powertypeExtent
594   --     21  Classifier::redefinedClassifier
595   --     11  RedefinableElement::redefinedElement
596   --     12  RedefinableElement::redefinitionContext
597   --     22  Classifier::substitution
598   --     10  TemplateableElement::templateBinding
599   --     23  Classifier::useCase
600
601   --  PropertyCallExp
602   --
603   --     2  NamedElement::name
604   --     3  NamedElement::nameExpression
605   --     4  NamedElement::namespace
606   --     9  NavigationCallExp::navigationSource
607   --     1  Element::owner
608   --     5  NamedElement::qualifiedName
609   --     10  PropertyCallExp::referredProperty
610   --     8  CallExp::source
611   --     7  TypedElement::type
612   --     6  NamedElement::visibility
613   --
614   --     3  NamedElement::clientDependency
615   --     1  Element::ownedComment
616   --     2  Element::ownedElement
617   --     4  NavigationCallExp::qualifier
618
619   --  RealLiteralExp
620   --
621   --     2  NamedElement::name
622   --     3  NamedElement::nameExpression
623   --     4  NamedElement::namespace
624   --     1  Element::owner
625   --     5  NamedElement::qualifiedName
626   --     8  RealLiteralExp::realSymbol
627   --     7  TypedElement::type
628   --     6  NamedElement::visibility
629   --
630   --     3  NamedElement::clientDependency
631   --     1  Element::ownedComment
632   --     2  Element::ownedElement
633
634   --  SequenceType
635   --
636   --     17  CollectionType::elementType
637   --     12  Classifier::isAbstract
638   --     13  Classifier::isFinalSpecialization
639   --     11  RedefinableElement::isLeaf
640   --     2  NamedElement::name
641   --     3  NamedElement::nameExpression
642   --     4  NamedElement::namespace
643   --     14  Classifier::ownedTemplateSignature
644   --     10  TemplateableElement::ownedTemplateSignature
645   --     1  Element::owner
646   --     8  ParameterableElement::owningTemplateParameter
647   --     7  Type::package
648   --     5  NamedElement::qualifiedName
649   --     15  Classifier::representation
650   --     16  Classifier::templateParameter
651   --     9  ParameterableElement::templateParameter
652   --     6  NamedElement::visibility
653   --     6  PackageableElement::visibility
654   --
655   --     13  Classifier::attribute
656   --     3  NamedElement::clientDependency
657   --     14  Classifier::collaborationUse
658   --     4  Namespace::elementImport
659   --     15  Classifier::feature
660   --     16  Classifier::general
661   --     17  Classifier::generalization
662   --     5  Namespace::importedMember
663   --     18  Classifier::inheritedMember
664   --     6  Namespace::member
665   --     24  DataType::ownedAttribute
666   --     1  Element::ownedComment
667   --     2  Element::ownedElement
668   --     7  Namespace::ownedMember
669   --     25  DataType::ownedOperation
670   --     8  Namespace::ownedRule
671   --     19  Classifier::ownedUseCase
672   --     9  Namespace::packageImport
673   --     20  Classifier::powertypeExtent
674   --     21  Classifier::redefinedClassifier
675   --     11  RedefinableElement::redefinedElement
676   --     12  RedefinableElement::redefinitionContext
677   --     22  Classifier::substitution
678   --     10  TemplateableElement::templateBinding
679   --     23  Classifier::useCase
680
681   --  SetType
682   --
683   --     17  CollectionType::elementType
684   --     12  Classifier::isAbstract
685   --     13  Classifier::isFinalSpecialization
686   --     11  RedefinableElement::isLeaf
687   --     2  NamedElement::name
688   --     3  NamedElement::nameExpression
689   --     4  NamedElement::namespace
690   --     14  Classifier::ownedTemplateSignature
691   --     10  TemplateableElement::ownedTemplateSignature
692   --     1  Element::owner
693   --     8  ParameterableElement::owningTemplateParameter
694   --     7  Type::package
695   --     5  NamedElement::qualifiedName
696   --     15  Classifier::representation
697   --     16  Classifier::templateParameter
698   --     9  ParameterableElement::templateParameter
699   --     6  NamedElement::visibility
700   --     6  PackageableElement::visibility
701   --
702   --     13  Classifier::attribute
703   --     3  NamedElement::clientDependency
704   --     14  Classifier::collaborationUse
705   --     4  Namespace::elementImport
706   --     15  Classifier::feature
707   --     16  Classifier::general
708   --     17  Classifier::generalization
709   --     5  Namespace::importedMember
710   --     18  Classifier::inheritedMember
711   --     6  Namespace::member
712   --     24  DataType::ownedAttribute
713   --     1  Element::ownedComment
714   --     2  Element::ownedElement
715   --     7  Namespace::ownedMember
716   --     25  DataType::ownedOperation
717   --     8  Namespace::ownedRule
718   --     19  Classifier::ownedUseCase
719   --     9  Namespace::packageImport
720   --     20  Classifier::powertypeExtent
721   --     21  Classifier::redefinedClassifier
722   --     11  RedefinableElement::redefinedElement
723   --     12  RedefinableElement::redefinitionContext
724   --     22  Classifier::substitution
725   --     10  TemplateableElement::templateBinding
726   --     23  Classifier::useCase
727
728   --  StateExp
729   --
730   --     2  NamedElement::name
731   --     3  NamedElement::nameExpression
732   --     4  NamedElement::namespace
733   --     1  Element::owner
734   --     5  NamedElement::qualifiedName
735   --     8  StateExp::referredState
736   --     7  TypedElement::type
737   --     6  NamedElement::visibility
738   --
739   --     3  NamedElement::clientDependency
740   --     1  Element::ownedComment
741   --     2  Element::ownedElement
742
743   --  StringLiteralExp
744   --
745   --     2  NamedElement::name
746   --     3  NamedElement::nameExpression
747   --     4  NamedElement::namespace
748   --     1  Element::owner
749   --     5  NamedElement::qualifiedName
750   --     8  StringLiteralExp::stringSymbol
751   --     7  TypedElement::type
752   --     6  NamedElement::visibility
753   --
754   --     3  NamedElement::clientDependency
755   --     1  Element::ownedComment
756   --     2  Element::ownedElement
757
758   --  TemplateParameterType
759   --
760   --     12  Classifier::isAbstract
761   --     13  Classifier::isFinalSpecialization
762   --     11  RedefinableElement::isLeaf
763   --     2  NamedElement::name
764   --     3  NamedElement::nameExpression
765   --     4  NamedElement::namespace
766   --     14  Classifier::ownedTemplateSignature
767   --     10  TemplateableElement::ownedTemplateSignature
768   --     1  Element::owner
769   --     8  ParameterableElement::owningTemplateParameter
770   --     7  Type::package
771   --     5  NamedElement::qualifiedName
772   --     15  Classifier::representation
773   --     17  TemplateParameterType::specification
774   --     16  Classifier::templateParameter
775   --     9  ParameterableElement::templateParameter
776   --     6  NamedElement::visibility
777   --     6  PackageableElement::visibility
778   --
779   --     13  Classifier::attribute
780   --     3  NamedElement::clientDependency
781   --     14  Classifier::collaborationUse
782   --     4  Namespace::elementImport
783   --     15  Classifier::feature
784   --     16  Classifier::general
785   --     17  Classifier::generalization
786   --     5  Namespace::importedMember
787   --     18  Classifier::inheritedMember
788   --     6  Namespace::member
789   --     1  Element::ownedComment
790   --     2  Element::ownedElement
791   --     7  Namespace::ownedMember
792   --     8  Namespace::ownedRule
793   --     19  Classifier::ownedUseCase
794   --     9  Namespace::packageImport
795   --     20  Classifier::powertypeExtent
796   --     21  Classifier::redefinedClassifier
797   --     11  RedefinableElement::redefinedElement
798   --     12  RedefinableElement::redefinitionContext
799   --     22  Classifier::substitution
800   --     10  TemplateableElement::templateBinding
801   --     23  Classifier::useCase
802
803   --  TupleLiteralExp
804   --
805   --     2  NamedElement::name
806   --     3  NamedElement::nameExpression
807   --     4  NamedElement::namespace
808   --     1  Element::owner
809   --     5  NamedElement::qualifiedName
810   --     7  TypedElement::type
811   --     6  NamedElement::visibility
812   --
813   --     3  NamedElement::clientDependency
814   --     1  Element::ownedComment
815   --     2  Element::ownedElement
816   --     4  TupleLiteralExp::part
817
818   --  TupleLiteralPart
819   --
820   --     8  TupleLiteralPart::attribute
821   --     2  NamedElement::name
822   --     3  NamedElement::nameExpression
823   --     4  NamedElement::namespace
824   --     1  Element::owner
825   --     5  NamedElement::qualifiedName
826   --     7  TypedElement::type
827   --     6  NamedElement::visibility
828   --
829   --     3  NamedElement::clientDependency
830   --     1  Element::ownedComment
831   --     2  Element::ownedElement
832
833   --  TupleType
834   --
835   --     12  Classifier::isAbstract
836   --     13  Classifier::isFinalSpecialization
837   --     11  RedefinableElement::isLeaf
838   --     2  NamedElement::name
839   --     3  NamedElement::nameExpression
840   --     4  NamedElement::namespace
841   --     14  Classifier::ownedTemplateSignature
842   --     10  TemplateableElement::ownedTemplateSignature
843   --     1  Element::owner
844   --     8  ParameterableElement::owningTemplateParameter
845   --     7  Type::package
846   --     5  NamedElement::qualifiedName
847   --     15  Classifier::representation
848   --     16  Classifier::templateParameter
849   --     9  ParameterableElement::templateParameter
850   --     6  NamedElement::visibility
851   --     6  PackageableElement::visibility
852   --
853   --     13  Classifier::attribute
854   --     3  NamedElement::clientDependency
855   --     14  Classifier::collaborationUse
856   --     4  Namespace::elementImport
857   --     15  Classifier::feature
858   --     16  Classifier::general
859   --     17  Classifier::generalization
860   --     5  Namespace::importedMember
861   --     18  Classifier::inheritedMember
862   --     6  Namespace::member
863   --     24  DataType::ownedAttribute
864   --     1  Element::ownedComment
865   --     2  Element::ownedElement
866   --     7  Namespace::ownedMember
867   --     25  DataType::ownedOperation
868   --     8  Namespace::ownedRule
869   --     19  Classifier::ownedUseCase
870   --     9  Namespace::packageImport
871   --     20  Classifier::powertypeExtent
872   --     21  Classifier::redefinedClassifier
873   --     11  RedefinableElement::redefinedElement
874   --     12  RedefinableElement::redefinitionContext
875   --     22  Classifier::substitution
876   --     10  TemplateableElement::templateBinding
877   --     23  Classifier::useCase
878
879   --  TypeExp
880   --
881   --     2  NamedElement::name
882   --     3  NamedElement::nameExpression
883   --     4  NamedElement::namespace
884   --     1  Element::owner
885   --     5  NamedElement::qualifiedName
886   --     8  TypeExp::referredType
887   --     7  TypedElement::type
888   --     6  NamedElement::visibility
889   --
890   --     3  NamedElement::clientDependency
891   --     1  Element::ownedComment
892   --     2  Element::ownedElement
893
894   --  UnlimitedNaturalLiteralExp
895   --
896   --     2  NamedElement::name
897   --     3  NamedElement::nameExpression
898   --     4  NamedElement::namespace
899   --     1  Element::owner
900   --     5  NamedElement::qualifiedName
901   --     7  TypedElement::type
902   --     8  UnlimitedNaturalLiteralExp::unlimitedNaturalSymbol
903   --     6  NamedElement::visibility
904   --
905   --     3  NamedElement::clientDependency
906   --     1  Element::ownedComment
907   --     2  Element::ownedElement
908
909   --  UnspecifiedValueExp
910   --
911   --     2  NamedElement::name
912   --     3  NamedElement::nameExpression
913   --     4  NamedElement::namespace
914   --     1  Element::owner
915   --     5  NamedElement::qualifiedName
916   --     7  TypedElement::type
917   --     6  NamedElement::visibility
918   --
919   --     3  NamedElement::clientDependency
920   --     1  Element::ownedComment
921   --     2  Element::ownedElement
922
923   --  Variable
924   --
925   --     8  Variable::initExpression
926   --     2  NamedElement::name
927   --     3  NamedElement::nameExpression
928   --     4  NamedElement::namespace
929   --     1  Element::owner
930   --     5  NamedElement::qualifiedName
931   --     9  Variable::representedParameter
932   --     7  TypedElement::type
933   --     6  NamedElement::visibility
934   --
935   --     3  NamedElement::clientDependency
936   --     1  Element::ownedComment
937   --     2  Element::ownedElement
938
939   --  VariableExp
940   --
941   --     2  NamedElement::name
942   --     3  NamedElement::nameExpression
943   --     4  NamedElement::namespace
944   --     1  Element::owner
945   --     5  NamedElement::qualifiedName
946   --     8  VariableExp::referredVariable
947   --     7  TypedElement::type
948   --     6  NamedElement::visibility
949   --
950   --     3  NamedElement::clientDependency
951   --     1  Element::ownedComment
952   --     2  Element::ownedElement
953
954   --  VoidType
955   --
956   --     12  Classifier::isAbstract
957   --     13  Classifier::isFinalSpecialization
958   --     11  RedefinableElement::isLeaf
959   --     2  NamedElement::name
960   --     3  NamedElement::nameExpression
961   --     4  NamedElement::namespace
962   --     14  Classifier::ownedTemplateSignature
963   --     10  TemplateableElement::ownedTemplateSignature
964   --     1  Element::owner
965   --     8  ParameterableElement::owningTemplateParameter
966   --     7  Type::package
967   --     5  NamedElement::qualifiedName
968   --     15  Classifier::representation
969   --     16  Classifier::templateParameter
970   --     9  ParameterableElement::templateParameter
971   --     6  NamedElement::visibility
972   --     6  PackageableElement::visibility
973   --
974   --     13  Classifier::attribute
975   --     3  NamedElement::clientDependency
976   --     14  Classifier::collaborationUse
977   --     4  Namespace::elementImport
978   --     15  Classifier::feature
979   --     16  Classifier::general
980   --     17  Classifier::generalization
981   --     5  Namespace::importedMember
982   --     18  Classifier::inheritedMember
983   --     6  Namespace::member
984   --     1  Element::ownedComment
985   --     2  Element::ownedElement
986   --     7  Namespace::ownedMember
987   --     8  Namespace::ownedRule
988   --     19  Classifier::ownedUseCase
989   --     9  Namespace::packageImport
990   --     20  Classifier::powertypeExtent
991   --     21  Classifier::redefinedClassifier
992   --     11  RedefinableElement::redefinedElement
993   --     12  RedefinableElement::redefinitionContext
994   --     22  Classifier::substitution
995   --     10  TemplateableElement::templateBinding
996   --     23  Classifier::useCase
997
998   ---------------------------
999   -- Internal_Get_Argument --
1000   ---------------------------
1001
1002   function Internal_Get_Argument
1003    (Self : AMF.Internals.AMF_Element)
1004       return AMF.Internals.AMF_Collection_Of_Element is
1005   begin
1006      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1007         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
1008            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1009
1010         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
1011            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1012
1013         when others =>
1014            raise Program_Error;
1015      end case;
1016   end Internal_Get_Argument;
1017
1018   ----------------------------
1019   -- Internal_Get_Attribute --
1020   ----------------------------
1021
1022   function Internal_Get_Attribute
1023    (Self : AMF.Internals.AMF_Element)
1024       return AMF.Internals.AMF_Element is
1025   begin
1026      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1027         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
1028            return
1029              AMF.Internals.Links.Opposite_Element
1030               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
1031
1032         when others =>
1033            raise Program_Error;
1034      end case;
1035   end Internal_Get_Attribute;
1036
1037   ----------------------------
1038   -- Internal_Get_Attribute --
1039   ----------------------------
1040
1041   function Internal_Get_Attribute
1042    (Self : AMF.Internals.AMF_Element)
1043       return AMF.Internals.AMF_Collection_Of_Element is
1044   begin
1045      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1046         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1047            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1048
1049         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1050            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1051
1052         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1053            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1054
1055         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1056            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1057
1058         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1059            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1060
1061         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1062            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1063
1064         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1065            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1066
1067         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1068            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1069
1070         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1071            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1072
1073         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1074            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1075
1076         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1077            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 13;
1078
1079         when others =>
1080            raise Program_Error;
1081      end case;
1082   end Internal_Get_Attribute;
1083
1084   ---------------------------
1085   -- Internal_Get_Behavior --
1086   ---------------------------
1087
1088   function Internal_Get_Behavior
1089    (Self : AMF.Internals.AMF_Element)
1090       return AMF.Internals.AMF_Element is
1091   begin
1092      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1093         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
1094            return
1095              AMF.Internals.Links.Opposite_Element
1096               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (10).Link, Self);
1097
1098         when others =>
1099            raise Program_Error;
1100      end case;
1101   end Internal_Get_Behavior;
1102
1103   -----------------------
1104   -- Internal_Get_Body --
1105   -----------------------
1106
1107   function Internal_Get_Body
1108    (Self : AMF.Internals.AMF_Element)
1109       return AMF.Internals.AMF_Element is
1110   begin
1111      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1112         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
1113            return
1114              AMF.Internals.Links.Opposite_Element
1115               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
1116
1117         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
1118            return
1119              AMF.Internals.Links.Opposite_Element
1120               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
1121
1122         when others =>
1123            raise Program_Error;
1124      end case;
1125   end Internal_Get_Body;
1126
1127   -----------------------
1128   -- Internal_Get_Body --
1129   -----------------------
1130
1131   function Internal_Get_Body
1132    (Self : AMF.Internals.AMF_Element)
1133       return AMF.Internals.AMF_Collection_Of_String is
1134   begin
1135      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (11).String_Collection;
1136   end Internal_Get_Body;
1137
1138   ----------------------------------
1139   -- Internal_Get_Body_Expression --
1140   ----------------------------------
1141
1142   function Internal_Get_Body_Expression
1143    (Self : AMF.Internals.AMF_Element)
1144       return AMF.Internals.AMF_Element is
1145   begin
1146      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1147         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
1148            return
1149              AMF.Internals.Links.Opposite_Element
1150               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
1151
1152         when others =>
1153            raise Program_Error;
1154      end case;
1155   end Internal_Get_Body_Expression;
1156
1157   ---------------------------------
1158   -- Internal_Get_Boolean_Symbol --
1159   ---------------------------------
1160
1161   function Internal_Get_Boolean_Symbol
1162    (Self : AMF.Internals.AMF_Element)
1163       return Boolean is
1164   begin
1165      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Boolean_Value;
1166   end Internal_Get_Boolean_Symbol;
1167
1168   -----------------------------------
1169   -- Internal_Get_Called_Operation --
1170   -----------------------------------
1171
1172   function Internal_Get_Called_Operation
1173    (Self : AMF.Internals.AMF_Element)
1174       return AMF.Internals.AMF_Element is
1175   begin
1176      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1177         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
1178            return
1179              AMF.Internals.Links.Opposite_Element
1180               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
1181
1182         when others =>
1183            raise Program_Error;
1184      end case;
1185   end Internal_Get_Called_Operation;
1186
1187   ------------------------------------
1188   -- Internal_Get_Client_Dependency --
1189   ------------------------------------
1190
1191   function Internal_Get_Client_Dependency
1192    (Self : AMF.Internals.AMF_Element)
1193       return AMF.Internals.AMF_Collection_Of_Element is
1194   begin
1195      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1196         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1197            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1198
1199         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
1200            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1201
1202         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1203            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1204
1205         when AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp =>
1206            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1207
1208         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
1209            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1210
1211         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
1212            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1213
1214         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
1215            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1216
1217         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1218            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1219
1220         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
1221            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1222
1223         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
1224            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1225
1226         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
1227            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1228
1229         when AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp =>
1230            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1231
1232         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp =>
1233            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1234
1235         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1236            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1237
1238         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
1239            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1240
1241         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
1242            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1243
1244         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
1245            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1246
1247         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
1248            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1249
1250         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1251            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1252
1253         when AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp =>
1254            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1255
1256         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
1257            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1258
1259         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1260            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1261
1262         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
1263            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1264
1265         when AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp =>
1266            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1267
1268         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1269            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1270
1271         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1272            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1273
1274         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
1275            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1276
1277         when AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp =>
1278            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1279
1280         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1281            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1282
1283         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
1284            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1285
1286         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
1287            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1288
1289         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1290            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1291
1292         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
1293            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1294
1295         when AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp =>
1296            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1297
1298         when AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp =>
1299            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1300
1301         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
1302            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1303
1304         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
1305            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1306
1307         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1308            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 3;
1309
1310         when others =>
1311            raise Program_Error;
1312      end case;
1313   end Internal_Get_Client_Dependency;
1314
1315   ------------------------------------
1316   -- Internal_Get_Collaboration_Use --
1317   ------------------------------------
1318
1319   function Internal_Get_Collaboration_Use
1320    (Self : AMF.Internals.AMF_Element)
1321       return AMF.Internals.AMF_Collection_Of_Element is
1322   begin
1323      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1324         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1325            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1326
1327         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1328            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1329
1330         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1331            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1332
1333         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1334            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1335
1336         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1337            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1338
1339         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1340            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1341
1342         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1343            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1344
1345         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1346            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1347
1348         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1349            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1350
1351         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1352            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1353
1354         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1355            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 14;
1356
1357         when others =>
1358            raise Program_Error;
1359      end case;
1360   end Internal_Get_Collaboration_Use;
1361
1362   ----------------------------
1363   -- Internal_Get_Condition --
1364   ----------------------------
1365
1366   function Internal_Get_Condition
1367    (Self : AMF.Internals.AMF_Element)
1368       return AMF.Internals.AMF_Element is
1369   begin
1370      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1371         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
1372            return
1373              AMF.Internals.Links.Opposite_Element
1374               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
1375
1376         when others =>
1377            raise Program_Error;
1378      end case;
1379   end Internal_Get_Condition;
1380
1381   -----------------------------------
1382   -- Internal_Get_Context_Variable --
1383   -----------------------------------
1384
1385   function Internal_Get_Context_Variable
1386    (Self : AMF.Internals.AMF_Element)
1387       return AMF.Internals.AMF_Element is
1388   begin
1389      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1390         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
1391            return
1392              AMF.Internals.Links.Opposite_Element
1393               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
1394
1395         when others =>
1396            raise Program_Error;
1397      end case;
1398   end Internal_Get_Context_Variable;
1399
1400   ---------------------------------
1401   -- Internal_Get_Element_Import --
1402   ---------------------------------
1403
1404   function Internal_Get_Element_Import
1405    (Self : AMF.Internals.AMF_Element)
1406       return AMF.Internals.AMF_Collection_Of_Element is
1407   begin
1408      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1409         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1410            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1411
1412         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1413            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1414
1415         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1416            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1417
1418         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1419            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1420
1421         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1422            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1423
1424         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1425            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1426
1427         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1428            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1429
1430         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1431            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1432
1433         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1434            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1435
1436         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1437            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1438
1439         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1440            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1441
1442         when others =>
1443            raise Program_Error;
1444      end case;
1445   end Internal_Get_Element_Import;
1446
1447   -------------------------------
1448   -- Internal_Get_Element_Type --
1449   -------------------------------
1450
1451   function Internal_Get_Element_Type
1452    (Self : AMF.Internals.AMF_Element)
1453       return AMF.Internals.AMF_Element is
1454   begin
1455      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1456         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1457            return
1458              AMF.Internals.Links.Opposite_Element
1459               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (17).Link, Self);
1460
1461         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1462            return
1463              AMF.Internals.Links.Opposite_Element
1464               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (17).Link, Self);
1465
1466         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1467            return
1468              AMF.Internals.Links.Opposite_Element
1469               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (17).Link, Self);
1470
1471         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1472            return
1473              AMF.Internals.Links.Opposite_Element
1474               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (17).Link, Self);
1475
1476         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1477            return
1478              AMF.Internals.Links.Opposite_Element
1479               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (17).Link, Self);
1480
1481         when others =>
1482            raise Program_Error;
1483      end case;
1484   end Internal_Get_Element_Type;
1485
1486   ----------------------------------
1487   -- Internal_Get_Else_Expression --
1488   ----------------------------------
1489
1490   function Internal_Get_Else_Expression
1491    (Self : AMF.Internals.AMF_Element)
1492       return AMF.Internals.AMF_Element is
1493   begin
1494      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1495         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
1496            return
1497              AMF.Internals.Links.Opposite_Element
1498               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (10).Link, Self);
1499
1500         when others =>
1501            raise Program_Error;
1502      end case;
1503   end Internal_Get_Else_Expression;
1504
1505   --------------------------
1506   -- Internal_Get_Feature --
1507   --------------------------
1508
1509   function Internal_Get_Feature
1510    (Self : AMF.Internals.AMF_Element)
1511       return AMF.Internals.AMF_Collection_Of_Element is
1512   begin
1513      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1514         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1515            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1516
1517         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1518            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1519
1520         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1521            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1522
1523         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1524            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1525
1526         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1527            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1528
1529         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1530            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1531
1532         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1533            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1534
1535         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1536            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1537
1538         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1539            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1540
1541         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1542            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1543
1544         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1545            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 15;
1546
1547         when others =>
1548            raise Program_Error;
1549      end case;
1550   end Internal_Get_Feature;
1551
1552   ------------------------
1553   -- Internal_Get_First --
1554   ------------------------
1555
1556   function Internal_Get_First
1557    (Self : AMF.Internals.AMF_Element)
1558       return AMF.Internals.AMF_Element is
1559   begin
1560      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1561         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
1562            return
1563              AMF.Internals.Links.Opposite_Element
1564               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
1565
1566         when others =>
1567            raise Program_Error;
1568      end case;
1569   end Internal_Get_First;
1570
1571   --------------------------
1572   -- Internal_Get_General --
1573   --------------------------
1574
1575   function Internal_Get_General
1576    (Self : AMF.Internals.AMF_Element)
1577       return AMF.Internals.AMF_Collection_Of_Element is
1578   begin
1579      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1580         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1581            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1582
1583         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1584            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1585
1586         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1587            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1588
1589         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1590            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1591
1592         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1593            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1594
1595         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1596            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1597
1598         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1599            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1600
1601         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1602            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1603
1604         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1605            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1606
1607         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1608            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1609
1610         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1611            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 16;
1612
1613         when others =>
1614            raise Program_Error;
1615      end case;
1616   end Internal_Get_General;
1617
1618   ---------------------------------
1619   -- Internal_Get_Generalization --
1620   ---------------------------------
1621
1622   function Internal_Get_Generalization
1623    (Self : AMF.Internals.AMF_Element)
1624       return AMF.Internals.AMF_Collection_Of_Element is
1625   begin
1626      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1627         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1628            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1629
1630         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1631            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1632
1633         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1634            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1635
1636         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1637            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1638
1639         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1640            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1641
1642         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1643            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1644
1645         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1646            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1647
1648         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1649            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1650
1651         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1652            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1653
1654         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1655            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1656
1657         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1658            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 17;
1659
1660         when others =>
1661            raise Program_Error;
1662      end case;
1663   end Internal_Get_Generalization;
1664
1665   ---------------------------------
1666   -- Internal_Get_Generated_Type --
1667   ---------------------------------
1668
1669   function Internal_Get_Generated_Type
1670    (Self : AMF.Internals.AMF_Element)
1671       return AMF.Internals.AMF_Element is
1672   begin
1673      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1674         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
1675            return
1676              AMF.Internals.Links.Opposite_Element
1677               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (17).Link, Self);
1678
1679         when others =>
1680            raise Program_Error;
1681      end case;
1682   end Internal_Get_Generated_Type;
1683
1684   ----------------------------------
1685   -- Internal_Get_Imported_Member --
1686   ----------------------------------
1687
1688   function Internal_Get_Imported_Member
1689    (Self : AMF.Internals.AMF_Element)
1690       return AMF.Internals.AMF_Collection_Of_Element is
1691   begin
1692      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1693         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1694            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1695
1696         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1697            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1698
1699         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1700            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1701
1702         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1703            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1704
1705         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1706            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1707
1708         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1709            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1710
1711         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1712            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1713
1714         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1715            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1716
1717         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1718            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1719
1720         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1721            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1722
1723         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1724            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 5;
1725
1726         when others =>
1727            raise Program_Error;
1728      end case;
1729   end Internal_Get_Imported_Member;
1730
1731   ---------------------
1732   -- Internal_Get_In --
1733   ---------------------
1734
1735   function Internal_Get_In
1736    (Self : AMF.Internals.AMF_Element)
1737       return AMF.Internals.AMF_Element is
1738   begin
1739      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1740         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
1741            return
1742              AMF.Internals.Links.Opposite_Element
1743               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
1744
1745         when others =>
1746            raise Program_Error;
1747      end case;
1748   end Internal_Get_In;
1749
1750   -----------------------------------
1751   -- Internal_Get_Inherited_Member --
1752   -----------------------------------
1753
1754   function Internal_Get_Inherited_Member
1755    (Self : AMF.Internals.AMF_Element)
1756       return AMF.Internals.AMF_Collection_Of_Element is
1757   begin
1758      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1759         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1760            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1761
1762         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1763            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1764
1765         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1766            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1767
1768         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1769            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1770
1771         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1772            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1773
1774         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1775            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1776
1777         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1778            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1779
1780         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1781            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1782
1783         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1784            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1785
1786         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1787            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1788
1789         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1790            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 18;
1791
1792         when others =>
1793            raise Program_Error;
1794      end case;
1795   end Internal_Get_Inherited_Member;
1796
1797   ----------------------------------
1798   -- Internal_Get_Init_Expression --
1799   ----------------------------------
1800
1801   function Internal_Get_Init_Expression
1802    (Self : AMF.Internals.AMF_Element)
1803       return AMF.Internals.AMF_Element is
1804   begin
1805      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1806         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
1807            return
1808              AMF.Internals.Links.Opposite_Element
1809               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
1810
1811         when others =>
1812            raise Program_Error;
1813      end case;
1814   end Internal_Get_Init_Expression;
1815
1816   ---------------------------------
1817   -- Internal_Get_Integer_Symbol --
1818   ---------------------------------
1819
1820   function Internal_Get_Integer_Symbol
1821    (Self : AMF.Internals.AMF_Element)
1822       return Integer is
1823   begin
1824      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Integer_Value;
1825   end Internal_Get_Integer_Symbol;
1826
1827   ------------------------------
1828   -- Internal_Get_Is_Abstract --
1829   ------------------------------
1830
1831   function Internal_Get_Is_Abstract
1832    (Self : AMF.Internals.AMF_Element)
1833       return Boolean is
1834   begin
1835      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (12).Boolean_Value;
1836   end Internal_Get_Is_Abstract;
1837
1838   ------------------------------------------
1839   -- Internal_Get_Is_Final_Specialization --
1840   ------------------------------------------
1841
1842   function Internal_Get_Is_Final_Specialization
1843    (Self : AMF.Internals.AMF_Element)
1844       return Boolean is
1845   begin
1846      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (13).Boolean_Value;
1847   end Internal_Get_Is_Final_Specialization;
1848
1849   --------------------------
1850   -- Internal_Get_Is_Leaf --
1851   --------------------------
1852
1853   function Internal_Get_Is_Leaf
1854    (Self : AMF.Internals.AMF_Element)
1855       return Boolean is
1856   begin
1857      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (11).Boolean_Value;
1858   end Internal_Get_Is_Leaf;
1859
1860   -----------------------
1861   -- Internal_Get_Item --
1862   -----------------------
1863
1864   function Internal_Get_Item
1865    (Self : AMF.Internals.AMF_Element)
1866       return AMF.Internals.AMF_Element is
1867   begin
1868      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1869         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
1870            return
1871              AMF.Internals.Links.Opposite_Element
1872               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
1873
1874         when others =>
1875            raise Program_Error;
1876      end case;
1877   end Internal_Get_Item;
1878
1879   ---------------------------
1880   -- Internal_Get_Iterator --
1881   ---------------------------
1882
1883   function Internal_Get_Iterator
1884    (Self : AMF.Internals.AMF_Element)
1885       return AMF.Internals.AMF_Collection_Of_Element is
1886   begin
1887      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1888         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
1889            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1890
1891         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
1892            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
1893
1894         when others =>
1895            raise Program_Error;
1896      end case;
1897   end Internal_Get_Iterator;
1898
1899   -----------------------
1900   -- Internal_Get_Kind --
1901   -----------------------
1902
1903   function Internal_Get_Kind
1904    (Self : AMF.Internals.AMF_Element)
1905       return AMF.OCL.OCL_Collection_Kind is
1906   begin
1907      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Collection_Kind_Value;
1908   end Internal_Get_Kind;
1909
1910   ---------------------------
1911   -- Internal_Get_Language --
1912   ---------------------------
1913
1914   function Internal_Get_Language
1915    (Self : AMF.Internals.AMF_Element)
1916       return AMF.Internals.AMF_Collection_Of_String is
1917   begin
1918      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (12).String_Collection;
1919   end Internal_Get_Language;
1920
1921   -----------------------
1922   -- Internal_Get_Last --
1923   -----------------------
1924
1925   function Internal_Get_Last
1926    (Self : AMF.Internals.AMF_Element)
1927       return AMF.Internals.AMF_Element is
1928   begin
1929      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1930         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
1931            return
1932              AMF.Internals.Links.Opposite_Element
1933               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
1934
1935         when others =>
1936            raise Program_Error;
1937      end case;
1938   end Internal_Get_Last;
1939
1940   -------------------------
1941   -- Internal_Get_Member --
1942   -------------------------
1943
1944   function Internal_Get_Member
1945    (Self : AMF.Internals.AMF_Element)
1946       return AMF.Internals.AMF_Collection_Of_Element is
1947   begin
1948      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
1949         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
1950            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1951
1952         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
1953            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1954
1955         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
1956            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1957
1958         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
1959            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1960
1961         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
1962            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1963
1964         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
1965            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1966
1967         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
1968            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1969
1970         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
1971            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1972
1973         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
1974            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1975
1976         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
1977            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1978
1979         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
1980            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 6;
1981
1982         when others =>
1983            raise Program_Error;
1984      end case;
1985   end Internal_Get_Member;
1986
1987   -----------------------
1988   -- Internal_Get_Name --
1989   -----------------------
1990
1991   function Internal_Get_Name
1992    (Self : AMF.Internals.AMF_Element)
1993       return Matreshka.Internals.Strings.Shared_String_Access is
1994   begin
1995      return
1996        AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (2).String_Value;
1997   end Internal_Get_Name;
1998
1999   ----------------------------------
2000   -- Internal_Get_Name_Expression --
2001   ----------------------------------
2002
2003   function Internal_Get_Name_Expression
2004    (Self : AMF.Internals.AMF_Element)
2005       return AMF.Internals.AMF_Element is
2006   begin
2007      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2008         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
2009            return
2010              AMF.Internals.Links.Opposite_Element
2011               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2012
2013         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
2014            return
2015              AMF.Internals.Links.Opposite_Element
2016               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2017
2018         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2019            return
2020              AMF.Internals.Links.Opposite_Element
2021               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2022
2023         when AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp =>
2024            return
2025              AMF.Internals.Links.Opposite_Element
2026               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2027
2028         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
2029            return
2030              AMF.Internals.Links.Opposite_Element
2031               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2032
2033         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
2034            return
2035              AMF.Internals.Links.Opposite_Element
2036               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2037
2038         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
2039            return
2040              AMF.Internals.Links.Opposite_Element
2041               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2042
2043         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2044            return
2045              AMF.Internals.Links.Opposite_Element
2046               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2047
2048         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
2049            return
2050              AMF.Internals.Links.Opposite_Element
2051               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2052
2053         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
2054            return
2055              AMF.Internals.Links.Opposite_Element
2056               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2057
2058         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
2059            return
2060              AMF.Internals.Links.Opposite_Element
2061               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2062
2063         when AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp =>
2064            return
2065              AMF.Internals.Links.Opposite_Element
2066               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2067
2068         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp =>
2069            return
2070              AMF.Internals.Links.Opposite_Element
2071               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2072
2073         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
2074            return
2075              AMF.Internals.Links.Opposite_Element
2076               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2077
2078         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
2079            return
2080              AMF.Internals.Links.Opposite_Element
2081               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2082
2083         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
2084            return
2085              AMF.Internals.Links.Opposite_Element
2086               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2087
2088         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
2089            return
2090              AMF.Internals.Links.Opposite_Element
2091               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2092
2093         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
2094            return
2095              AMF.Internals.Links.Opposite_Element
2096               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2097
2098         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
2099            return
2100              AMF.Internals.Links.Opposite_Element
2101               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2102
2103         when AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp =>
2104            return
2105              AMF.Internals.Links.Opposite_Element
2106               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2107
2108         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
2109            return
2110              AMF.Internals.Links.Opposite_Element
2111               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2112
2113         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2114            return
2115              AMF.Internals.Links.Opposite_Element
2116               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2117
2118         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
2119            return
2120              AMF.Internals.Links.Opposite_Element
2121               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2122
2123         when AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp =>
2124            return
2125              AMF.Internals.Links.Opposite_Element
2126               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2127
2128         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2129            return
2130              AMF.Internals.Links.Opposite_Element
2131               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2132
2133         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2134            return
2135              AMF.Internals.Links.Opposite_Element
2136               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2137
2138         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
2139            return
2140              AMF.Internals.Links.Opposite_Element
2141               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2142
2143         when AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp =>
2144            return
2145              AMF.Internals.Links.Opposite_Element
2146               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2147
2148         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
2149            return
2150              AMF.Internals.Links.Opposite_Element
2151               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2152
2153         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
2154            return
2155              AMF.Internals.Links.Opposite_Element
2156               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2157
2158         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
2159            return
2160              AMF.Internals.Links.Opposite_Element
2161               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2162
2163         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2164            return
2165              AMF.Internals.Links.Opposite_Element
2166               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2167
2168         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
2169            return
2170              AMF.Internals.Links.Opposite_Element
2171               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2172
2173         when AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp =>
2174            return
2175              AMF.Internals.Links.Opposite_Element
2176               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2177
2178         when AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp =>
2179            return
2180              AMF.Internals.Links.Opposite_Element
2181               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2182
2183         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
2184            return
2185              AMF.Internals.Links.Opposite_Element
2186               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2187
2188         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
2189            return
2190              AMF.Internals.Links.Opposite_Element
2191               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2192
2193         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
2194            return
2195              AMF.Internals.Links.Opposite_Element
2196               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (3).Link, Self);
2197
2198         when others =>
2199            raise Program_Error;
2200      end case;
2201   end Internal_Get_Name_Expression;
2202
2203   ----------------------------
2204   -- Internal_Get_Namespace --
2205   ----------------------------
2206
2207   function Internal_Get_Namespace
2208    (Self : AMF.Internals.AMF_Element)
2209       return AMF.Internals.AMF_Element is
2210   begin
2211      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2212         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
2213            return
2214              AMF.Internals.Links.Opposite_Element
2215               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2216
2217         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
2218            return
2219              AMF.Internals.Links.Opposite_Element
2220               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2221
2222         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2223            return
2224              AMF.Internals.Links.Opposite_Element
2225               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2226
2227         when AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp =>
2228            return
2229              AMF.Internals.Links.Opposite_Element
2230               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2231
2232         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
2233            return
2234              AMF.Internals.Links.Opposite_Element
2235               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2236
2237         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
2238            return
2239              AMF.Internals.Links.Opposite_Element
2240               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2241
2242         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
2243            return
2244              AMF.Internals.Links.Opposite_Element
2245               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2246
2247         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2248            return
2249              AMF.Internals.Links.Opposite_Element
2250               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2251
2252         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
2253            return
2254              AMF.Internals.Links.Opposite_Element
2255               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2256
2257         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
2258            return
2259              AMF.Internals.Links.Opposite_Element
2260               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2261
2262         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
2263            return
2264              AMF.Internals.Links.Opposite_Element
2265               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2266
2267         when AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp =>
2268            return
2269              AMF.Internals.Links.Opposite_Element
2270               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2271
2272         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp =>
2273            return
2274              AMF.Internals.Links.Opposite_Element
2275               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2276
2277         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
2278            return
2279              AMF.Internals.Links.Opposite_Element
2280               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2281
2282         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
2283            return
2284              AMF.Internals.Links.Opposite_Element
2285               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2286
2287         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
2288            return
2289              AMF.Internals.Links.Opposite_Element
2290               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2291
2292         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
2293            return
2294              AMF.Internals.Links.Opposite_Element
2295               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2296
2297         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
2298            return
2299              AMF.Internals.Links.Opposite_Element
2300               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2301
2302         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
2303            return
2304              AMF.Internals.Links.Opposite_Element
2305               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2306
2307         when AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp =>
2308            return
2309              AMF.Internals.Links.Opposite_Element
2310               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2311
2312         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
2313            return
2314              AMF.Internals.Links.Opposite_Element
2315               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2316
2317         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2318            return
2319              AMF.Internals.Links.Opposite_Element
2320               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2321
2322         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
2323            return
2324              AMF.Internals.Links.Opposite_Element
2325               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2326
2327         when AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp =>
2328            return
2329              AMF.Internals.Links.Opposite_Element
2330               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2331
2332         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2333            return
2334              AMF.Internals.Links.Opposite_Element
2335               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2336
2337         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2338            return
2339              AMF.Internals.Links.Opposite_Element
2340               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2341
2342         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
2343            return
2344              AMF.Internals.Links.Opposite_Element
2345               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2346
2347         when AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp =>
2348            return
2349              AMF.Internals.Links.Opposite_Element
2350               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2351
2352         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
2353            return
2354              AMF.Internals.Links.Opposite_Element
2355               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2356
2357         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
2358            return
2359              AMF.Internals.Links.Opposite_Element
2360               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2361
2362         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
2363            return
2364              AMF.Internals.Links.Opposite_Element
2365               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2366
2367         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2368            return
2369              AMF.Internals.Links.Opposite_Element
2370               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2371
2372         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
2373            return
2374              AMF.Internals.Links.Opposite_Element
2375               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2376
2377         when AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp =>
2378            return
2379              AMF.Internals.Links.Opposite_Element
2380               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2381
2382         when AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp =>
2383            return
2384              AMF.Internals.Links.Opposite_Element
2385               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2386
2387         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
2388            return
2389              AMF.Internals.Links.Opposite_Element
2390               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2391
2392         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
2393            return
2394              AMF.Internals.Links.Opposite_Element
2395               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2396
2397         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
2398            return
2399              AMF.Internals.Links.Opposite_Element
2400               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (4).Link, Self);
2401
2402         when others =>
2403            raise Program_Error;
2404      end case;
2405   end Internal_Get_Namespace;
2406
2407   ------------------------------------
2408   -- Internal_Get_Navigation_Source --
2409   ------------------------------------
2410
2411   function Internal_Get_Navigation_Source
2412    (Self : AMF.Internals.AMF_Element)
2413       return AMF.Internals.AMF_Element is
2414   begin
2415      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2416         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
2417            return
2418              AMF.Internals.Links.Opposite_Element
2419               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
2420
2421         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
2422            return
2423              AMF.Internals.Links.Opposite_Element
2424               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
2425
2426         when others =>
2427            raise Program_Error;
2428      end case;
2429   end Internal_Get_Navigation_Source;
2430
2431   ----------------------------------
2432   -- Internal_Get_Owned_Attribute --
2433   ----------------------------------
2434
2435   function Internal_Get_Owned_Attribute
2436    (Self : AMF.Internals.AMF_Element)
2437       return AMF.Internals.AMF_Collection_Of_Element is
2438   begin
2439      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2440         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2441            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 24;
2442
2443         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2444            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 24;
2445
2446         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2447            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 24;
2448
2449         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2450            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 24;
2451
2452         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2453            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 24;
2454
2455         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2456            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 24;
2457
2458         when others =>
2459            raise Program_Error;
2460      end case;
2461   end Internal_Get_Owned_Attribute;
2462
2463   --------------------------------
2464   -- Internal_Get_Owned_Comment --
2465   --------------------------------
2466
2467   function Internal_Get_Owned_Comment
2468    (Self : AMF.Internals.AMF_Element)
2469       return AMF.Internals.AMF_Collection_Of_Element is
2470   begin
2471      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2472         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
2473            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2474
2475         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
2476            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2477
2478         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2479            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2480
2481         when AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp =>
2482            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2483
2484         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
2485            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2486
2487         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
2488            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2489
2490         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
2491            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2492
2493         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2494            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2495
2496         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
2497            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2498
2499         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
2500            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2501
2502         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
2503            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2504
2505         when AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp =>
2506            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2507
2508         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp =>
2509            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2510
2511         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
2512            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2513
2514         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
2515            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2516
2517         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
2518            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2519
2520         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
2521            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2522
2523         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
2524            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2525
2526         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
2527            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2528
2529         when AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp =>
2530            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2531
2532         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
2533            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2534
2535         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2536            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2537
2538         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
2539            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2540
2541         when AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp =>
2542            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2543
2544         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2545            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2546
2547         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2548            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2549
2550         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
2551            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2552
2553         when AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp =>
2554            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2555
2556         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
2557            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2558
2559         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
2560            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2561
2562         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
2563            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2564
2565         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2566            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2567
2568         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
2569            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2570
2571         when AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp =>
2572            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2573
2574         when AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp =>
2575            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2576
2577         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
2578            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2579
2580         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
2581            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2582
2583         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
2584            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 1;
2585
2586         when others =>
2587            raise Program_Error;
2588      end case;
2589   end Internal_Get_Owned_Comment;
2590
2591   --------------------------------
2592   -- Internal_Get_Owned_Element --
2593   --------------------------------
2594
2595   function Internal_Get_Owned_Element
2596    (Self : AMF.Internals.AMF_Element)
2597       return AMF.Internals.AMF_Collection_Of_Element is
2598   begin
2599      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2600         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
2601            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2602
2603         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
2604            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2605
2606         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2607            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2608
2609         when AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp =>
2610            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2611
2612         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
2613            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2614
2615         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
2616            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2617
2618         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
2619            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2620
2621         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2622            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2623
2624         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
2625            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2626
2627         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
2628            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2629
2630         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
2631            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2632
2633         when AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp =>
2634            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2635
2636         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp =>
2637            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2638
2639         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
2640            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2641
2642         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
2643            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2644
2645         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
2646            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2647
2648         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
2649            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2650
2651         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
2652            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2653
2654         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
2655            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2656
2657         when AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp =>
2658            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2659
2660         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
2661            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2662
2663         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2664            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2665
2666         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
2667            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2668
2669         when AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp =>
2670            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2671
2672         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2673            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2674
2675         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2676            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2677
2678         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
2679            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2680
2681         when AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp =>
2682            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2683
2684         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
2685            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2686
2687         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
2688            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2689
2690         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
2691            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2692
2693         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2694            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2695
2696         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
2697            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2698
2699         when AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp =>
2700            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2701
2702         when AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp =>
2703            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2704
2705         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
2706            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2707
2708         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
2709            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2710
2711         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
2712            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 2;
2713
2714         when others =>
2715            raise Program_Error;
2716      end case;
2717   end Internal_Get_Owned_Element;
2718
2719   -------------------------------
2720   -- Internal_Get_Owned_Member --
2721   -------------------------------
2722
2723   function Internal_Get_Owned_Member
2724    (Self : AMF.Internals.AMF_Element)
2725       return AMF.Internals.AMF_Collection_Of_Element is
2726   begin
2727      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2728         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
2729            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2730
2731         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2732            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2733
2734         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2735            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2736
2737         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
2738            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2739
2740         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
2741            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2742
2743         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2744            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2745
2746         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2747            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2748
2749         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2750            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2751
2752         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
2753            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2754
2755         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2756            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2757
2758         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
2759            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 7;
2760
2761         when others =>
2762            raise Program_Error;
2763      end case;
2764   end Internal_Get_Owned_Member;
2765
2766   ----------------------------------
2767   -- Internal_Get_Owned_Operation --
2768   ----------------------------------
2769
2770   function Internal_Get_Owned_Operation
2771    (Self : AMF.Internals.AMF_Element)
2772       return AMF.Internals.AMF_Collection_Of_Element is
2773   begin
2774      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2775         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2776            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 25;
2777
2778         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2779            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 25;
2780
2781         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2782            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 25;
2783
2784         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2785            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 25;
2786
2787         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2788            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 25;
2789
2790         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2791            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 25;
2792
2793         when others =>
2794            raise Program_Error;
2795      end case;
2796   end Internal_Get_Owned_Operation;
2797
2798   -----------------------------
2799   -- Internal_Get_Owned_Rule --
2800   -----------------------------
2801
2802   function Internal_Get_Owned_Rule
2803    (Self : AMF.Internals.AMF_Element)
2804       return AMF.Internals.AMF_Collection_Of_Element is
2805   begin
2806      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2807         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
2808            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2809
2810         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2811            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2812
2813         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2814            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2815
2816         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
2817            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2818
2819         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
2820            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2821
2822         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2823            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2824
2825         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2826            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2827
2828         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2829            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2830
2831         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
2832            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2833
2834         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2835            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2836
2837         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
2838            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 8;
2839
2840         when others =>
2841            raise Program_Error;
2842      end case;
2843   end Internal_Get_Owned_Rule;
2844
2845   -------------------------------------------
2846   -- Internal_Get_Owned_Template_Signature --
2847   -------------------------------------------
2848
2849   function Internal_Get_Owned_Template_Signature
2850    (Self : AMF.Internals.AMF_Element)
2851       return AMF.Internals.AMF_Element is
2852   begin
2853      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2854         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
2855            return
2856              AMF.Internals.Links.Opposite_Element
2857               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2858
2859         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2860            return
2861              AMF.Internals.Links.Opposite_Element
2862               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2863
2864         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2865            return
2866              AMF.Internals.Links.Opposite_Element
2867               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2868
2869         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
2870            return
2871              AMF.Internals.Links.Opposite_Element
2872               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2873
2874         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
2875            return
2876              AMF.Internals.Links.Opposite_Element
2877               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2878
2879         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2880            return
2881              AMF.Internals.Links.Opposite_Element
2882               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2883
2884         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2885            return
2886              AMF.Internals.Links.Opposite_Element
2887               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2888
2889         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2890            return
2891              AMF.Internals.Links.Opposite_Element
2892               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2893
2894         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
2895            return
2896              AMF.Internals.Links.Opposite_Element
2897               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2898
2899         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2900            return
2901              AMF.Internals.Links.Opposite_Element
2902               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2903
2904         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
2905            return
2906              AMF.Internals.Links.Opposite_Element
2907               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (14).Link, Self);
2908
2909         when others =>
2910            raise Program_Error;
2911      end case;
2912   end Internal_Get_Owned_Template_Signature;
2913
2914   ---------------------------------
2915   -- Internal_Get_Owned_Use_Case --
2916   ---------------------------------
2917
2918   function Internal_Get_Owned_Use_Case
2919    (Self : AMF.Internals.AMF_Element)
2920       return AMF.Internals.AMF_Collection_Of_Element is
2921   begin
2922      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2923         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
2924            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2925
2926         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2927            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2928
2929         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
2930            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2931
2932         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
2933            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2934
2935         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
2936            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2937
2938         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
2939            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2940
2941         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
2942            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2943
2944         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
2945            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2946
2947         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
2948            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2949
2950         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
2951            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2952
2953         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
2954            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 19;
2955
2956         when others =>
2957            raise Program_Error;
2958      end case;
2959   end Internal_Get_Owned_Use_Case;
2960
2961   ------------------------
2962   -- Internal_Get_Owner --
2963   ------------------------
2964
2965   function Internal_Get_Owner
2966    (Self : AMF.Internals.AMF_Element)
2967       return AMF.Internals.AMF_Element is
2968   begin
2969      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
2970         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
2971            return
2972              AMF.Internals.Links.Opposite_Element
2973               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
2974
2975         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
2976            return
2977              AMF.Internals.Links.Opposite_Element
2978               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
2979
2980         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
2981            return
2982              AMF.Internals.Links.Opposite_Element
2983               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
2984
2985         when AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp =>
2986            return
2987              AMF.Internals.Links.Opposite_Element
2988               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
2989
2990         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
2991            return
2992              AMF.Internals.Links.Opposite_Element
2993               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
2994
2995         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
2996            return
2997              AMF.Internals.Links.Opposite_Element
2998               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
2999
3000         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
3001            return
3002              AMF.Internals.Links.Opposite_Element
3003               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3004
3005         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
3006            return
3007              AMF.Internals.Links.Opposite_Element
3008               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3009
3010         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
3011            return
3012              AMF.Internals.Links.Opposite_Element
3013               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3014
3015         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
3016            return
3017              AMF.Internals.Links.Opposite_Element
3018               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3019
3020         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
3021            return
3022              AMF.Internals.Links.Opposite_Element
3023               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3024
3025         when AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp =>
3026            return
3027              AMF.Internals.Links.Opposite_Element
3028               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3029
3030         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp =>
3031            return
3032              AMF.Internals.Links.Opposite_Element
3033               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3034
3035         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
3036            return
3037              AMF.Internals.Links.Opposite_Element
3038               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3039
3040         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
3041            return
3042              AMF.Internals.Links.Opposite_Element
3043               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3044
3045         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
3046            return
3047              AMF.Internals.Links.Opposite_Element
3048               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3049
3050         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
3051            return
3052              AMF.Internals.Links.Opposite_Element
3053               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3054
3055         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
3056            return
3057              AMF.Internals.Links.Opposite_Element
3058               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3059
3060         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3061            return
3062              AMF.Internals.Links.Opposite_Element
3063               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3064
3065         when AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp =>
3066            return
3067              AMF.Internals.Links.Opposite_Element
3068               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3069
3070         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
3071            return
3072              AMF.Internals.Links.Opposite_Element
3073               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3074
3075         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
3076            return
3077              AMF.Internals.Links.Opposite_Element
3078               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3079
3080         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
3081            return
3082              AMF.Internals.Links.Opposite_Element
3083               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3084
3085         when AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp =>
3086            return
3087              AMF.Internals.Links.Opposite_Element
3088               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3089
3090         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
3091            return
3092              AMF.Internals.Links.Opposite_Element
3093               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3094
3095         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
3096            return
3097              AMF.Internals.Links.Opposite_Element
3098               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3099
3100         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
3101            return
3102              AMF.Internals.Links.Opposite_Element
3103               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3104
3105         when AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp =>
3106            return
3107              AMF.Internals.Links.Opposite_Element
3108               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3109
3110         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
3111            return
3112              AMF.Internals.Links.Opposite_Element
3113               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3114
3115         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
3116            return
3117              AMF.Internals.Links.Opposite_Element
3118               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3119
3120         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
3121            return
3122              AMF.Internals.Links.Opposite_Element
3123               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3124
3125         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
3126            return
3127              AMF.Internals.Links.Opposite_Element
3128               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3129
3130         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
3131            return
3132              AMF.Internals.Links.Opposite_Element
3133               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3134
3135         when AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp =>
3136            return
3137              AMF.Internals.Links.Opposite_Element
3138               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3139
3140         when AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp =>
3141            return
3142              AMF.Internals.Links.Opposite_Element
3143               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3144
3145         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
3146            return
3147              AMF.Internals.Links.Opposite_Element
3148               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3149
3150         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
3151            return
3152              AMF.Internals.Links.Opposite_Element
3153               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3154
3155         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
3156            return
3157              AMF.Internals.Links.Opposite_Element
3158               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (1).Link, Self);
3159
3160         when others =>
3161            raise Program_Error;
3162      end case;
3163   end Internal_Get_Owner;
3164
3165   --------------------------------------------
3166   -- Internal_Get_Owning_Template_Parameter --
3167   --------------------------------------------
3168
3169   function Internal_Get_Owning_Template_Parameter
3170    (Self : AMF.Internals.AMF_Element)
3171       return AMF.Internals.AMF_Element is
3172   begin
3173      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3174         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
3175            return
3176              AMF.Internals.Links.Opposite_Element
3177               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3178
3179         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
3180            return
3181              AMF.Internals.Links.Opposite_Element
3182               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3183
3184         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
3185            return
3186              AMF.Internals.Links.Opposite_Element
3187               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3188
3189         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
3190            return
3191              AMF.Internals.Links.Opposite_Element
3192               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3193
3194         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
3195            return
3196              AMF.Internals.Links.Opposite_Element
3197               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3198
3199         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3200            return
3201              AMF.Internals.Links.Opposite_Element
3202               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3203
3204         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
3205            return
3206              AMF.Internals.Links.Opposite_Element
3207               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3208
3209         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
3210            return
3211              AMF.Internals.Links.Opposite_Element
3212               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3213
3214         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
3215            return
3216              AMF.Internals.Links.Opposite_Element
3217               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3218
3219         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
3220            return
3221              AMF.Internals.Links.Opposite_Element
3222               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3223
3224         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
3225            return
3226              AMF.Internals.Links.Opposite_Element
3227               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3228
3229         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
3230            return
3231              AMF.Internals.Links.Opposite_Element
3232               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3233
3234         when others =>
3235            raise Program_Error;
3236      end case;
3237   end Internal_Get_Owning_Template_Parameter;
3238
3239   --------------------------
3240   -- Internal_Get_Package --
3241   --------------------------
3242
3243   function Internal_Get_Package
3244    (Self : AMF.Internals.AMF_Element)
3245       return AMF.Internals.AMF_Element is
3246   begin
3247      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3248         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
3249            return
3250              AMF.Internals.Links.Opposite_Element
3251               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3252
3253         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
3254            return
3255              AMF.Internals.Links.Opposite_Element
3256               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3257
3258         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
3259            return
3260              AMF.Internals.Links.Opposite_Element
3261               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3262
3263         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
3264            return
3265              AMF.Internals.Links.Opposite_Element
3266               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3267
3268         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3269            return
3270              AMF.Internals.Links.Opposite_Element
3271               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3272
3273         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
3274            return
3275              AMF.Internals.Links.Opposite_Element
3276               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3277
3278         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
3279            return
3280              AMF.Internals.Links.Opposite_Element
3281               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3282
3283         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
3284            return
3285              AMF.Internals.Links.Opposite_Element
3286               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3287
3288         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
3289            return
3290              AMF.Internals.Links.Opposite_Element
3291               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3292
3293         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
3294            return
3295              AMF.Internals.Links.Opposite_Element
3296               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3297
3298         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
3299            return
3300              AMF.Internals.Links.Opposite_Element
3301               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
3302
3303         when others =>
3304            raise Program_Error;
3305      end case;
3306   end Internal_Get_Package;
3307
3308   ---------------------------------
3309   -- Internal_Get_Package_Import --
3310   ---------------------------------
3311
3312   function Internal_Get_Package_Import
3313    (Self : AMF.Internals.AMF_Element)
3314       return AMF.Internals.AMF_Collection_Of_Element is
3315   begin
3316      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3317         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
3318            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3319
3320         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
3321            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3322
3323         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
3324            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3325
3326         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
3327            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3328
3329         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3330            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3331
3332         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
3333            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3334
3335         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
3336            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3337
3338         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
3339            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3340
3341         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
3342            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3343
3344         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
3345            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3346
3347         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
3348            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 9;
3349
3350         when others =>
3351            raise Program_Error;
3352      end case;
3353   end Internal_Get_Package_Import;
3354
3355   -------------------------------------
3356   -- Internal_Get_Parameter_Variable --
3357   -------------------------------------
3358
3359   function Internal_Get_Parameter_Variable
3360    (Self : AMF.Internals.AMF_Element)
3361       return AMF.Internals.AMF_Collection_Of_Element is
3362   begin
3363      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3364         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
3365            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
3366
3367         when others =>
3368            raise Program_Error;
3369      end case;
3370   end Internal_Get_Parameter_Variable;
3371
3372   -----------------------
3373   -- Internal_Get_Part --
3374   -----------------------
3375
3376   function Internal_Get_Part
3377    (Self : AMF.Internals.AMF_Element)
3378       return AMF.Internals.AMF_Collection_Of_Element is
3379   begin
3380      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3381         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
3382            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
3383
3384         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
3385            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
3386
3387         when others =>
3388            raise Program_Error;
3389      end case;
3390   end Internal_Get_Part;
3391
3392   -----------------------------------
3393   -- Internal_Get_Powertype_Extent --
3394   -----------------------------------
3395
3396   function Internal_Get_Powertype_Extent
3397    (Self : AMF.Internals.AMF_Element)
3398       return AMF.Internals.AMF_Collection_Of_Element is
3399   begin
3400      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3401         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
3402            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3403
3404         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
3405            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3406
3407         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
3408            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3409
3410         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
3411            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3412
3413         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3414            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3415
3416         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
3417            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3418
3419         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
3420            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3421
3422         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
3423            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3424
3425         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
3426            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3427
3428         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
3429            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3430
3431         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
3432            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 20;
3433
3434         when others =>
3435            raise Program_Error;
3436      end case;
3437   end Internal_Get_Powertype_Extent;
3438
3439   ---------------------------------
3440   -- Internal_Get_Qualified_Name --
3441   ---------------------------------
3442
3443   function Internal_Get_Qualified_Name
3444    (Self : AMF.Internals.AMF_Element)
3445       return Matreshka.Internals.Strings.Shared_String_Access is
3446   begin
3447      return
3448        AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (5).String_Value;
3449   end Internal_Get_Qualified_Name;
3450
3451   ----------------------------
3452   -- Internal_Get_Qualifier --
3453   ----------------------------
3454
3455   function Internal_Get_Qualifier
3456    (Self : AMF.Internals.AMF_Element)
3457       return AMF.Internals.AMF_Collection_Of_Element is
3458   begin
3459      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3460         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
3461            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
3462
3463         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
3464            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 4;
3465
3466         when others =>
3467            raise Program_Error;
3468      end case;
3469   end Internal_Get_Qualifier;
3470
3471   ------------------------------
3472   -- Internal_Get_Real_Symbol --
3473   ------------------------------
3474
3475   function Internal_Get_Real_Symbol
3476    (Self : AMF.Internals.AMF_Element)
3477       return AMF.Real is
3478   begin
3479      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Real_Value;
3480   end Internal_Get_Real_Symbol;
3481
3482   ---------------------------------------
3483   -- Internal_Get_Redefined_Classifier --
3484   ---------------------------------------
3485
3486   function Internal_Get_Redefined_Classifier
3487    (Self : AMF.Internals.AMF_Element)
3488       return AMF.Internals.AMF_Collection_Of_Element is
3489   begin
3490      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3491         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
3492            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3493
3494         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
3495            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3496
3497         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
3498            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3499
3500         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
3501            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3502
3503         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3504            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3505
3506         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
3507            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3508
3509         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
3510            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3511
3512         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
3513            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3514
3515         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
3516            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3517
3518         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
3519            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3520
3521         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
3522            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 21;
3523
3524         when others =>
3525            raise Program_Error;
3526      end case;
3527   end Internal_Get_Redefined_Classifier;
3528
3529   ------------------------------------
3530   -- Internal_Get_Redefined_Element --
3531   ------------------------------------
3532
3533   function Internal_Get_Redefined_Element
3534    (Self : AMF.Internals.AMF_Element)
3535       return AMF.Internals.AMF_Collection_Of_Element is
3536   begin
3537      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3538         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
3539            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3540
3541         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
3542            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3543
3544         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
3545            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3546
3547         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
3548            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3549
3550         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3551            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3552
3553         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
3554            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3555
3556         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
3557            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3558
3559         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
3560            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3561
3562         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
3563            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3564
3565         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
3566            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3567
3568         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
3569            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 11;
3570
3571         when others =>
3572            raise Program_Error;
3573      end case;
3574   end Internal_Get_Redefined_Element;
3575
3576   ---------------------------------------
3577   -- Internal_Get_Redefinition_Context --
3578   ---------------------------------------
3579
3580   function Internal_Get_Redefinition_Context
3581    (Self : AMF.Internals.AMF_Element)
3582       return AMF.Internals.AMF_Collection_Of_Element is
3583   begin
3584      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3585         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
3586            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3587
3588         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
3589            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3590
3591         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
3592            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3593
3594         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
3595            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3596
3597         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3598            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3599
3600         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
3601            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3602
3603         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
3604            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3605
3606         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
3607            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3608
3609         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
3610            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3611
3612         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
3613            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3614
3615         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
3616            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 12;
3617
3618         when others =>
3619            raise Program_Error;
3620      end case;
3621   end Internal_Get_Redefinition_Context;
3622
3623   ---------------------------------------------
3624   -- Internal_Get_Referred_Association_Class --
3625   ---------------------------------------------
3626
3627   function Internal_Get_Referred_Association_Class
3628    (Self : AMF.Internals.AMF_Element)
3629       return AMF.Internals.AMF_Element is
3630   begin
3631      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3632         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
3633            return
3634              AMF.Internals.Links.Opposite_Element
3635               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (10).Link, Self);
3636
3637         when others =>
3638            raise Program_Error;
3639      end case;
3640   end Internal_Get_Referred_Association_Class;
3641
3642   ----------------------------------------
3643   -- Internal_Get_Referred_Enum_Literal --
3644   ----------------------------------------
3645
3646   function Internal_Get_Referred_Enum_Literal
3647    (Self : AMF.Internals.AMF_Element)
3648       return AMF.Internals.AMF_Element is
3649   begin
3650      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3651         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
3652            return
3653              AMF.Internals.Links.Opposite_Element
3654               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3655
3656         when others =>
3657            raise Program_Error;
3658      end case;
3659   end Internal_Get_Referred_Enum_Literal;
3660
3661   -------------------------------------
3662   -- Internal_Get_Referred_Operation --
3663   -------------------------------------
3664
3665   function Internal_Get_Referred_Operation
3666    (Self : AMF.Internals.AMF_Element)
3667       return AMF.Internals.AMF_Element is
3668   begin
3669      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3670         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3671            return
3672              AMF.Internals.Links.Opposite_Element
3673               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (18).Link, Self);
3674
3675         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
3676            return
3677              AMF.Internals.Links.Opposite_Element
3678               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
3679
3680         when others =>
3681            raise Program_Error;
3682      end case;
3683   end Internal_Get_Referred_Operation;
3684
3685   ------------------------------------
3686   -- Internal_Get_Referred_Property --
3687   ------------------------------------
3688
3689   function Internal_Get_Referred_Property
3690    (Self : AMF.Internals.AMF_Element)
3691       return AMF.Internals.AMF_Element is
3692   begin
3693      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3694         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
3695            return
3696              AMF.Internals.Links.Opposite_Element
3697               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (10).Link, Self);
3698
3699         when others =>
3700            raise Program_Error;
3701      end case;
3702   end Internal_Get_Referred_Property;
3703
3704   ----------------------------------
3705   -- Internal_Get_Referred_Signal --
3706   ----------------------------------
3707
3708   function Internal_Get_Referred_Signal
3709    (Self : AMF.Internals.AMF_Element)
3710       return AMF.Internals.AMF_Element is
3711   begin
3712      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3713         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3714            return
3715              AMF.Internals.Links.Opposite_Element
3716               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (17).Link, Self);
3717
3718         when others =>
3719            raise Program_Error;
3720      end case;
3721   end Internal_Get_Referred_Signal;
3722
3723   ---------------------------------
3724   -- Internal_Get_Referred_State --
3725   ---------------------------------
3726
3727   function Internal_Get_Referred_State
3728    (Self : AMF.Internals.AMF_Element)
3729       return AMF.Internals.AMF_Element is
3730   begin
3731      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3732         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
3733            return
3734              AMF.Internals.Links.Opposite_Element
3735               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3736
3737         when others =>
3738            raise Program_Error;
3739      end case;
3740   end Internal_Get_Referred_State;
3741
3742   --------------------------------
3743   -- Internal_Get_Referred_Type --
3744   --------------------------------
3745
3746   function Internal_Get_Referred_Type
3747    (Self : AMF.Internals.AMF_Element)
3748       return AMF.Internals.AMF_Element is
3749   begin
3750      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3751         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
3752            return
3753              AMF.Internals.Links.Opposite_Element
3754               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3755
3756         when others =>
3757            raise Program_Error;
3758      end case;
3759   end Internal_Get_Referred_Type;
3760
3761   ------------------------------------
3762   -- Internal_Get_Referred_Variable --
3763   ------------------------------------
3764
3765   function Internal_Get_Referred_Variable
3766    (Self : AMF.Internals.AMF_Element)
3767       return AMF.Internals.AMF_Element is
3768   begin
3769      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3770         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
3771            return
3772              AMF.Internals.Links.Opposite_Element
3773               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3774
3775         when others =>
3776            raise Program_Error;
3777      end case;
3778   end Internal_Get_Referred_Variable;
3779
3780   ---------------------------------
3781   -- Internal_Get_Representation --
3782   ---------------------------------
3783
3784   function Internal_Get_Representation
3785    (Self : AMF.Internals.AMF_Element)
3786       return AMF.Internals.AMF_Element is
3787   begin
3788      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3789         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
3790            return
3791              AMF.Internals.Links.Opposite_Element
3792               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3793
3794         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
3795            return
3796              AMF.Internals.Links.Opposite_Element
3797               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3798
3799         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
3800            return
3801              AMF.Internals.Links.Opposite_Element
3802               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3803
3804         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
3805            return
3806              AMF.Internals.Links.Opposite_Element
3807               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3808
3809         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
3810            return
3811              AMF.Internals.Links.Opposite_Element
3812               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3813
3814         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
3815            return
3816              AMF.Internals.Links.Opposite_Element
3817               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3818
3819         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
3820            return
3821              AMF.Internals.Links.Opposite_Element
3822               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3823
3824         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
3825            return
3826              AMF.Internals.Links.Opposite_Element
3827               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3828
3829         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
3830            return
3831              AMF.Internals.Links.Opposite_Element
3832               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3833
3834         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
3835            return
3836              AMF.Internals.Links.Opposite_Element
3837               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3838
3839         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
3840            return
3841              AMF.Internals.Links.Opposite_Element
3842               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (15).Link, Self);
3843
3844         when others =>
3845            raise Program_Error;
3846      end case;
3847   end Internal_Get_Representation;
3848
3849   ----------------------------------------
3850   -- Internal_Get_Represented_Parameter --
3851   ----------------------------------------
3852
3853   function Internal_Get_Represented_Parameter
3854    (Self : AMF.Internals.AMF_Element)
3855       return AMF.Internals.AMF_Element is
3856   begin
3857      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3858         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
3859            return
3860              AMF.Internals.Links.Opposite_Element
3861               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
3862
3863         when others =>
3864            raise Program_Error;
3865      end case;
3866   end Internal_Get_Represented_Parameter;
3867
3868   -------------------------
3869   -- Internal_Get_Result --
3870   -------------------------
3871
3872   function Internal_Get_Result
3873    (Self : AMF.Internals.AMF_Element)
3874       return AMF.Internals.AMF_Element is
3875   begin
3876      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3877         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
3878            return
3879              AMF.Internals.Links.Opposite_Element
3880               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (13).Link, Self);
3881
3882         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
3883            return
3884              AMF.Internals.Links.Opposite_Element
3885               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (10).Link, Self);
3886
3887         when others =>
3888            raise Program_Error;
3889      end case;
3890   end Internal_Get_Result;
3891
3892   ----------------------------------
3893   -- Internal_Get_Result_Variable --
3894   ----------------------------------
3895
3896   function Internal_Get_Result_Variable
3897    (Self : AMF.Internals.AMF_Element)
3898       return AMF.Internals.AMF_Element is
3899   begin
3900      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3901         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
3902            return
3903              AMF.Internals.Links.Opposite_Element
3904               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
3905
3906         when others =>
3907            raise Program_Error;
3908      end case;
3909   end Internal_Get_Result_Variable;
3910
3911   ------------------------------
3912   -- Internal_Get_Sent_Signal --
3913   ------------------------------
3914
3915   function Internal_Get_Sent_Signal
3916    (Self : AMF.Internals.AMF_Element)
3917       return AMF.Internals.AMF_Element is
3918   begin
3919      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3920         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
3921            return
3922              AMF.Internals.Links.Opposite_Element
3923               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (10).Link, Self);
3924
3925         when others =>
3926            raise Program_Error;
3927      end case;
3928   end Internal_Get_Sent_Signal;
3929
3930   -------------------------
3931   -- Internal_Get_Source --
3932   -------------------------
3933
3934   function Internal_Get_Source
3935    (Self : AMF.Internals.AMF_Element)
3936       return AMF.Internals.AMF_Element is
3937   begin
3938      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
3939         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
3940            return
3941              AMF.Internals.Links.Opposite_Element
3942               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3943
3944         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
3945            return
3946              AMF.Internals.Links.Opposite_Element
3947               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3948
3949         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
3950            return
3951              AMF.Internals.Links.Opposite_Element
3952               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3953
3954         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
3955            return
3956              AMF.Internals.Links.Opposite_Element
3957               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3958
3959         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
3960            return
3961              AMF.Internals.Links.Opposite_Element
3962               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
3963
3964         when others =>
3965            raise Program_Error;
3966      end case;
3967   end Internal_Get_Source;
3968
3969   --------------------------------
3970   -- Internal_Get_Specification --
3971   --------------------------------
3972
3973   function Internal_Get_Specification
3974    (Self : AMF.Internals.AMF_Element)
3975       return Matreshka.Internals.Strings.Shared_String_Access is
3976   begin
3977      return
3978        AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (17).String_Value;
3979   end Internal_Get_Specification;
3980
3981   --------------------------------
3982   -- Internal_Get_String_Symbol --
3983   --------------------------------
3984
3985   function Internal_Get_String_Symbol
3986    (Self : AMF.Internals.AMF_Element)
3987       return Matreshka.Internals.Strings.Shared_String_Access is
3988   begin
3989      return
3990        AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).String_Value;
3991   end Internal_Get_String_Symbol;
3992
3993   -------------------------------
3994   -- Internal_Get_Substitution --
3995   -------------------------------
3996
3997   function Internal_Get_Substitution
3998    (Self : AMF.Internals.AMF_Element)
3999       return AMF.Internals.AMF_Collection_Of_Element is
4000   begin
4001      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4002         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
4003            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4004
4005         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
4006            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4007
4008         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
4009            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4010
4011         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
4012            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4013
4014         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
4015            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4016
4017         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
4018            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4019
4020         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
4021            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4022
4023         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
4024            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4025
4026         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
4027            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4028
4029         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
4030            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4031
4032         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
4033            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 22;
4034
4035         when others =>
4036            raise Program_Error;
4037      end case;
4038   end Internal_Get_Substitution;
4039
4040   -------------------------
4041   -- Internal_Get_Target --
4042   -------------------------
4043
4044   function Internal_Get_Target
4045    (Self : AMF.Internals.AMF_Element)
4046       return AMF.Internals.AMF_Element is
4047   begin
4048      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4049         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
4050            return
4051              AMF.Internals.Links.Opposite_Element
4052               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Link, Self);
4053
4054         when others =>
4055            raise Program_Error;
4056      end case;
4057   end Internal_Get_Target;
4058
4059   -----------------------------------
4060   -- Internal_Get_Template_Binding --
4061   -----------------------------------
4062
4063   function Internal_Get_Template_Binding
4064    (Self : AMF.Internals.AMF_Element)
4065       return AMF.Internals.AMF_Collection_Of_Element is
4066   begin
4067      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4068         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
4069            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4070
4071         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
4072            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4073
4074         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
4075            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4076
4077         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
4078            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4079
4080         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
4081            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4082
4083         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
4084            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4085
4086         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
4087            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4088
4089         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
4090            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4091
4092         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
4093            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4094
4095         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
4096            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4097
4098         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
4099            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 10;
4100
4101         when others =>
4102            raise Program_Error;
4103      end case;
4104   end Internal_Get_Template_Binding;
4105
4106   -------------------------------------
4107   -- Internal_Get_Template_Parameter --
4108   -------------------------------------
4109
4110   function Internal_Get_Template_Parameter
4111    (Self : AMF.Internals.AMF_Element)
4112       return AMF.Internals.AMF_Element is
4113   begin
4114      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4115         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
4116            return
4117              AMF.Internals.Links.Opposite_Element
4118               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4119
4120         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
4121            return
4122              AMF.Internals.Links.Opposite_Element
4123               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4124
4125         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
4126            return
4127              AMF.Internals.Links.Opposite_Element
4128               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4129
4130         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
4131            return
4132              AMF.Internals.Links.Opposite_Element
4133               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
4134
4135         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
4136            return
4137              AMF.Internals.Links.Opposite_Element
4138               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4139
4140         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
4141            return
4142              AMF.Internals.Links.Opposite_Element
4143               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4144
4145         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
4146            return
4147              AMF.Internals.Links.Opposite_Element
4148               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4149
4150         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
4151            return
4152              AMF.Internals.Links.Opposite_Element
4153               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4154
4155         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
4156            return
4157              AMF.Internals.Links.Opposite_Element
4158               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4159
4160         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
4161            return
4162              AMF.Internals.Links.Opposite_Element
4163               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4164
4165         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
4166            return
4167              AMF.Internals.Links.Opposite_Element
4168               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4169
4170         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
4171            return
4172              AMF.Internals.Links.Opposite_Element
4173               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (16).Link, Self);
4174
4175         when others =>
4176            raise Program_Error;
4177      end case;
4178   end Internal_Get_Template_Parameter;
4179
4180   ----------------------------------
4181   -- Internal_Get_Then_Expression --
4182   ----------------------------------
4183
4184   function Internal_Get_Then_Expression
4185    (Self : AMF.Internals.AMF_Element)
4186       return AMF.Internals.AMF_Element is
4187   begin
4188      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4189         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
4190            return
4191              AMF.Internals.Links.Opposite_Element
4192               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
4193
4194         when others =>
4195            raise Program_Error;
4196      end case;
4197   end Internal_Get_Then_Expression;
4198
4199   -----------------------
4200   -- Internal_Get_Type --
4201   -----------------------
4202
4203   function Internal_Get_Type
4204    (Self : AMF.Internals.AMF_Element)
4205       return AMF.Internals.AMF_Element is
4206   begin
4207      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4208         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
4209            return
4210              AMF.Internals.Links.Opposite_Element
4211               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4212
4213         when AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp =>
4214            return
4215              AMF.Internals.Links.Opposite_Element
4216               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4217
4218         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
4219            return
4220              AMF.Internals.Links.Opposite_Element
4221               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4222
4223         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
4224            return
4225              AMF.Internals.Links.Opposite_Element
4226               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4227
4228         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
4229            return
4230              AMF.Internals.Links.Opposite_Element
4231               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4232
4233         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
4234            return
4235              AMF.Internals.Links.Opposite_Element
4236               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4237
4238         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
4239            return
4240              AMF.Internals.Links.Opposite_Element
4241               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4242
4243         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
4244            return
4245              AMF.Internals.Links.Opposite_Element
4246               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4247
4248         when AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp =>
4249            return
4250              AMF.Internals.Links.Opposite_Element
4251               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4252
4253         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp =>
4254            return
4255              AMF.Internals.Links.Opposite_Element
4256               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4257
4258         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
4259            return
4260              AMF.Internals.Links.Opposite_Element
4261               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4262
4263         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
4264            return
4265              AMF.Internals.Links.Opposite_Element
4266               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4267
4268         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
4269            return
4270              AMF.Internals.Links.Opposite_Element
4271               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4272
4273         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
4274            return
4275              AMF.Internals.Links.Opposite_Element
4276               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4277
4278         when AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp =>
4279            return
4280              AMF.Internals.Links.Opposite_Element
4281               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4282
4283         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
4284            return
4285              AMF.Internals.Links.Opposite_Element
4286               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4287
4288         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
4289            return
4290              AMF.Internals.Links.Opposite_Element
4291               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4292
4293         when AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp =>
4294            return
4295              AMF.Internals.Links.Opposite_Element
4296               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4297
4298         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
4299            return
4300              AMF.Internals.Links.Opposite_Element
4301               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4302
4303         when AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp =>
4304            return
4305              AMF.Internals.Links.Opposite_Element
4306               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4307
4308         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
4309            return
4310              AMF.Internals.Links.Opposite_Element
4311               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4312
4313         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
4314            return
4315              AMF.Internals.Links.Opposite_Element
4316               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4317
4318         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
4319            return
4320              AMF.Internals.Links.Opposite_Element
4321               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4322
4323         when AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp =>
4324            return
4325              AMF.Internals.Links.Opposite_Element
4326               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4327
4328         when AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp =>
4329            return
4330              AMF.Internals.Links.Opposite_Element
4331               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4332
4333         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
4334            return
4335              AMF.Internals.Links.Opposite_Element
4336               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4337
4338         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
4339            return
4340              AMF.Internals.Links.Opposite_Element
4341               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (7).Link, Self);
4342
4343         when others =>
4344            raise Program_Error;
4345      end case;
4346   end Internal_Get_Type;
4347
4348   -------------------------------------------
4349   -- Internal_Get_Unlimited_Natural_Symbol --
4350   -------------------------------------------
4351
4352   function Internal_Get_Unlimited_Natural_Symbol
4353    (Self : AMF.Internals.AMF_Element)
4354       return AMF.Unlimited_Natural is
4355   begin
4356      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Unlimited_Natural_Value;
4357   end Internal_Get_Unlimited_Natural_Symbol;
4358
4359   ---------------------------
4360   -- Internal_Get_Use_Case --
4361   ---------------------------
4362
4363   function Internal_Get_Use_Case
4364    (Self : AMF.Internals.AMF_Element)
4365       return AMF.Internals.AMF_Collection_Of_Element is
4366   begin
4367      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4368         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
4369            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4370
4371         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
4372            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4373
4374         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
4375            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4376
4377         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
4378            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4379
4380         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
4381            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4382
4383         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
4384            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4385
4386         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
4387            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4388
4389         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
4390            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4391
4392         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
4393            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4394
4395         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
4396            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4397
4398         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
4399            return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (0).Collection + 23;
4400
4401         when others =>
4402            raise Program_Error;
4403      end case;
4404   end Internal_Get_Use_Case;
4405
4406   ---------------------------
4407   -- Internal_Get_Variable --
4408   ---------------------------
4409
4410   function Internal_Get_Variable
4411    (Self : AMF.Internals.AMF_Element)
4412       return AMF.Internals.AMF_Element is
4413   begin
4414      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4415         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
4416            return
4417              AMF.Internals.Links.Opposite_Element
4418               (AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (9).Link, Self);
4419
4420         when others =>
4421            raise Program_Error;
4422      end case;
4423   end Internal_Get_Variable;
4424
4425   -----------------------------
4426   -- Internal_Get_Visibility --
4427   -----------------------------
4428
4429   function Internal_Get_Visibility
4430    (Self : AMF.Internals.AMF_Element)
4431       return AMF.UML.Optional_UML_Visibility_Kind is
4432   begin
4433      return AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (6).Visibility_Kind_Holder;
4434   end Internal_Get_Visibility;
4435
4436   ----------------------------
4437   -- Internal_Set_Attribute --
4438   ----------------------------
4439
4440   procedure Internal_Set_Attribute
4441    (Self : AMF.Internals.AMF_Element;
4442     To   : AMF.Internals.AMF_Element) is
4443   begin
4444      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4445         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
4446            AMF.Internals.Links.Create_Link
4447             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Tuple_Literal_Part_Attribute_Part2,
4448              Self,
4449              To);
4450
4451         when others =>
4452            raise Program_Error;
4453      end case;
4454   end Internal_Set_Attribute;
4455
4456   ---------------------------
4457   -- Internal_Set_Behavior --
4458   ---------------------------
4459
4460   procedure Internal_Set_Behavior
4461    (Self : AMF.Internals.AMF_Element;
4462     To   : AMF.Internals.AMF_Element) is
4463   begin
4464      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4465         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
4466            AMF.Internals.Links.Create_Link
4467             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Opaque_Expression_Behavior_Opaque_Expression,
4468              Self,
4469              To);
4470
4471         when others =>
4472            raise Program_Error;
4473      end case;
4474   end Internal_Set_Behavior;
4475
4476   -----------------------
4477   -- Internal_Set_Body --
4478   -----------------------
4479
4480   procedure Internal_Set_Body
4481    (Self : AMF.Internals.AMF_Element;
4482     To   : AMF.Internals.AMF_Element) is
4483   begin
4484      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4485         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
4486            AMF.Internals.Links.Create_Link
4487             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Loop_Exp_Body_Loop_Body_Owner,
4488              Self,
4489              To);
4490
4491         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
4492            AMF.Internals.Links.Create_Link
4493             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Loop_Exp_Body_Loop_Body_Owner,
4494              Self,
4495              To);
4496
4497         when others =>
4498            raise Program_Error;
4499      end case;
4500   end Internal_Set_Body;
4501
4502   ----------------------------------
4503   -- Internal_Set_Body_Expression --
4504   ----------------------------------
4505
4506   procedure Internal_Set_Body_Expression
4507    (Self : AMF.Internals.AMF_Element;
4508     To   : AMF.Internals.AMF_Element) is
4509   begin
4510      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4511         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
4512            AMF.Internals.Links.Create_Link
4513             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Expression_In_Ocl_Body_Expression_Top_Expression,
4514              Self,
4515              To);
4516
4517         when others =>
4518            raise Program_Error;
4519      end case;
4520   end Internal_Set_Body_Expression;
4521
4522   ---------------------------------
4523   -- Internal_Set_Boolean_Symbol --
4524   ---------------------------------
4525
4526   procedure Internal_Set_Boolean_Symbol
4527    (Self : AMF.Internals.AMF_Element;
4528     To   : Boolean)
4529   is
4530      Old : Boolean;
4531
4532   begin
4533      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Boolean_Value;
4534      AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Boolean_Value := To;
4535
4536      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
4537       (Self, AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Boolean_Literal_Exp_Boolean_Symbol, Old, To);
4538   end Internal_Set_Boolean_Symbol;
4539
4540   -----------------------------------
4541   -- Internal_Set_Called_Operation --
4542   -----------------------------------
4543
4544   procedure Internal_Set_Called_Operation
4545    (Self : AMF.Internals.AMF_Element;
4546     To   : AMF.Internals.AMF_Element) is
4547   begin
4548      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4549         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
4550            AMF.Internals.Links.Create_Link
4551             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Message_Exp_Called_Operation_Exp6,
4552              Self,
4553              To);
4554
4555         when others =>
4556            raise Program_Error;
4557      end case;
4558   end Internal_Set_Called_Operation;
4559
4560   ----------------------------
4561   -- Internal_Set_Condition --
4562   ----------------------------
4563
4564   procedure Internal_Set_Condition
4565    (Self : AMF.Internals.AMF_Element;
4566     To   : AMF.Internals.AMF_Element) is
4567   begin
4568      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4569         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
4570            AMF.Internals.Links.Create_Link
4571             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_If_Exp_Condition_If_Owner,
4572              Self,
4573              To);
4574
4575         when others =>
4576            raise Program_Error;
4577      end case;
4578   end Internal_Set_Condition;
4579
4580   -----------------------------------
4581   -- Internal_Set_Context_Variable --
4582   -----------------------------------
4583
4584   procedure Internal_Set_Context_Variable
4585    (Self : AMF.Internals.AMF_Element;
4586     To   : AMF.Internals.AMF_Element) is
4587   begin
4588      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4589         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
4590            AMF.Internals.Links.Create_Link
4591             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Expression_In_Ocl_Context_Variable_Self_Owner,
4592              Self,
4593              To);
4594
4595         when others =>
4596            raise Program_Error;
4597      end case;
4598   end Internal_Set_Context_Variable;
4599
4600   -------------------------------
4601   -- Internal_Set_Element_Type --
4602   -------------------------------
4603
4604   procedure Internal_Set_Element_Type
4605    (Self : AMF.Internals.AMF_Element;
4606     To   : AMF.Internals.AMF_Element) is
4607   begin
4608      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4609         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
4610            AMF.Internals.Links.Create_Link
4611             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Collection_Type_Element_Type_Type1,
4612              Self,
4613              To);
4614
4615         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
4616            AMF.Internals.Links.Create_Link
4617             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Collection_Type_Element_Type_Type1,
4618              Self,
4619              To);
4620
4621         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
4622            AMF.Internals.Links.Create_Link
4623             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Collection_Type_Element_Type_Type1,
4624              Self,
4625              To);
4626
4627         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
4628            AMF.Internals.Links.Create_Link
4629             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Collection_Type_Element_Type_Type1,
4630              Self,
4631              To);
4632
4633         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
4634            AMF.Internals.Links.Create_Link
4635             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Collection_Type_Element_Type_Type1,
4636              Self,
4637              To);
4638
4639         when others =>
4640            raise Program_Error;
4641      end case;
4642   end Internal_Set_Element_Type;
4643
4644   ----------------------------------
4645   -- Internal_Set_Else_Expression --
4646   ----------------------------------
4647
4648   procedure Internal_Set_Else_Expression
4649    (Self : AMF.Internals.AMF_Element;
4650     To   : AMF.Internals.AMF_Element) is
4651   begin
4652      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4653         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
4654            AMF.Internals.Links.Create_Link
4655             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_If_Exp_Else_Expression_Else_Owner,
4656              Self,
4657              To);
4658
4659         when others =>
4660            raise Program_Error;
4661      end case;
4662   end Internal_Set_Else_Expression;
4663
4664   ------------------------
4665   -- Internal_Set_First --
4666   ------------------------
4667
4668   procedure Internal_Set_First
4669    (Self : AMF.Internals.AMF_Element;
4670     To   : AMF.Internals.AMF_Element) is
4671   begin
4672      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4673         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
4674            AMF.Internals.Links.Create_Link
4675             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Collection_Range_First_First_Owner,
4676              Self,
4677              To);
4678
4679         when others =>
4680            raise Program_Error;
4681      end case;
4682   end Internal_Set_First;
4683
4684   ---------------------------------
4685   -- Internal_Set_Generated_Type --
4686   ---------------------------------
4687
4688   procedure Internal_Set_Generated_Type
4689    (Self : AMF.Internals.AMF_Element;
4690     To   : AMF.Internals.AMF_Element) is
4691   begin
4692      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4693         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
4694            AMF.Internals.Links.Create_Link
4695             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Expression_In_Ocl_Generated_Type_Owning_Classifier,
4696              Self,
4697              To);
4698
4699         when others =>
4700            raise Program_Error;
4701      end case;
4702   end Internal_Set_Generated_Type;
4703
4704   ---------------------
4705   -- Internal_Set_In --
4706   ---------------------
4707
4708   procedure Internal_Set_In
4709    (Self : AMF.Internals.AMF_Element;
4710     To   : AMF.Internals.AMF_Element) is
4711   begin
4712      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4713         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
4714            AMF.Internals.Links.Create_Link
4715             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Let_Exp_In_Exp4,
4716              Self,
4717              To);
4718
4719         when others =>
4720            raise Program_Error;
4721      end case;
4722   end Internal_Set_In;
4723
4724   ----------------------------------
4725   -- Internal_Set_Init_Expression --
4726   ----------------------------------
4727
4728   procedure Internal_Set_Init_Expression
4729    (Self : AMF.Internals.AMF_Element;
4730     To   : AMF.Internals.AMF_Element) is
4731   begin
4732      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4733         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
4734            AMF.Internals.Links.Create_Link
4735             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Variable_Init_Expression_Initialized_Element,
4736              Self,
4737              To);
4738
4739         when others =>
4740            raise Program_Error;
4741      end case;
4742   end Internal_Set_Init_Expression;
4743
4744   ---------------------------------
4745   -- Internal_Set_Integer_Symbol --
4746   ---------------------------------
4747
4748   procedure Internal_Set_Integer_Symbol
4749    (Self : AMF.Internals.AMF_Element;
4750     To   : Integer)
4751   is
4752      Old : Integer;
4753
4754   begin
4755      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Integer_Value;
4756      AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Integer_Value := To;
4757
4758      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
4759       (Self, AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Integer_Literal_Exp_Integer_Symbol, Old, To);
4760   end Internal_Set_Integer_Symbol;
4761
4762   ------------------------------
4763   -- Internal_Set_Is_Abstract --
4764   ------------------------------
4765
4766   procedure Internal_Set_Is_Abstract
4767    (Self : AMF.Internals.AMF_Element;
4768     To   : Boolean)
4769   is
4770      Old : Boolean;
4771
4772   begin
4773      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (12).Boolean_Value;
4774      AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (12).Boolean_Value := To;
4775
4776      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
4777       (Self, AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Is_Abstract, Old, To);
4778   end Internal_Set_Is_Abstract;
4779
4780   ------------------------------------------
4781   -- Internal_Set_Is_Final_Specialization --
4782   ------------------------------------------
4783
4784   procedure Internal_Set_Is_Final_Specialization
4785    (Self : AMF.Internals.AMF_Element;
4786     To   : Boolean)
4787   is
4788      Old : Boolean;
4789
4790   begin
4791      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (13).Boolean_Value;
4792      AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (13).Boolean_Value := To;
4793
4794      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
4795       (Self, AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Is_Final_Specialization, Old, To);
4796   end Internal_Set_Is_Final_Specialization;
4797
4798   --------------------------
4799   -- Internal_Set_Is_Leaf --
4800   --------------------------
4801
4802   procedure Internal_Set_Is_Leaf
4803    (Self : AMF.Internals.AMF_Element;
4804     To   : Boolean)
4805   is
4806      Old : Boolean;
4807
4808   begin
4809      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (11).Boolean_Value;
4810      AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (11).Boolean_Value := To;
4811
4812      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
4813       (Self, AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Is_Leaf, Old, To);
4814   end Internal_Set_Is_Leaf;
4815
4816   -----------------------
4817   -- Internal_Set_Item --
4818   -----------------------
4819
4820   procedure Internal_Set_Item
4821    (Self : AMF.Internals.AMF_Element;
4822     To   : AMF.Internals.AMF_Element) is
4823   begin
4824      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4825         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
4826            AMF.Internals.Links.Create_Link
4827             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Collection_Item_Item_Item1,
4828              Self,
4829              To);
4830
4831         when others =>
4832            raise Program_Error;
4833      end case;
4834   end Internal_Set_Item;
4835
4836   -----------------------
4837   -- Internal_Set_Kind --
4838   -----------------------
4839
4840   procedure Internal_Set_Kind
4841    (Self : AMF.Internals.AMF_Element;
4842     To   : AMF.OCL.OCL_Collection_Kind)
4843   is
4844      Old : AMF.OCL.OCL_Collection_Kind;
4845
4846   begin
4847      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Collection_Kind_Value;
4848      AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Collection_Kind_Value := To;
4849
4850      AMF.Internals.Tables.OCL_Notification.Notify_Attribute_Set
4851       (Self, AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Collection_Literal_Exp_Kind, Old, To);
4852   end Internal_Set_Kind;
4853
4854   -----------------------
4855   -- Internal_Set_Last --
4856   -----------------------
4857
4858   procedure Internal_Set_Last
4859    (Self : AMF.Internals.AMF_Element;
4860     To   : AMF.Internals.AMF_Element) is
4861   begin
4862      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4863         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
4864            AMF.Internals.Links.Create_Link
4865             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Collection_Range_Last_Last_Owner,
4866              Self,
4867              To);
4868
4869         when others =>
4870            raise Program_Error;
4871      end case;
4872   end Internal_Set_Last;
4873
4874   -----------------------
4875   -- Internal_Set_Name --
4876   -----------------------
4877
4878   procedure Internal_Set_Name
4879    (Self : AMF.Internals.AMF_Element;
4880     To   : Matreshka.Internals.Strings.Shared_String_Access)
4881   is
4882      Old : Matreshka.Internals.Strings.Shared_String_Access;
4883
4884   begin
4885      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (2).String_Value;
4886
4887      OCL_Element_Table.Table (Self).Member (2).String_Value := To;
4888
4889      if OCL_Element_Table.Table (Self).Member (2).String_Value /= null then
4890         Matreshka.Internals.Strings.Reference
4891          (OCL_Element_Table.Table (Self).Member (2).String_Value);
4892      end if;
4893
4894      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
4895       (Self, AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Name, Old, To);
4896
4897      if Old /= null then
4898         Matreshka.Internals.Strings.Reference (Old);
4899      end if;
4900   end Internal_Set_Name;
4901
4902   ----------------------------------
4903   -- Internal_Set_Name_Expression --
4904   ----------------------------------
4905
4906   procedure Internal_Set_Name_Expression
4907    (Self : AMF.Internals.AMF_Element;
4908     To   : AMF.Internals.AMF_Element) is
4909   begin
4910      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
4911         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
4912            AMF.Internals.Links.Create_Link
4913             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4914              Self,
4915              To);
4916
4917         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
4918            AMF.Internals.Links.Create_Link
4919             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4920              Self,
4921              To);
4922
4923         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
4924            AMF.Internals.Links.Create_Link
4925             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4926              Self,
4927              To);
4928
4929         when AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp =>
4930            AMF.Internals.Links.Create_Link
4931             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4932              Self,
4933              To);
4934
4935         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
4936            AMF.Internals.Links.Create_Link
4937             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4938              Self,
4939              To);
4940
4941         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
4942            AMF.Internals.Links.Create_Link
4943             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4944              Self,
4945              To);
4946
4947         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
4948            AMF.Internals.Links.Create_Link
4949             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4950              Self,
4951              To);
4952
4953         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
4954            AMF.Internals.Links.Create_Link
4955             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4956              Self,
4957              To);
4958
4959         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
4960            AMF.Internals.Links.Create_Link
4961             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4962              Self,
4963              To);
4964
4965         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
4966            AMF.Internals.Links.Create_Link
4967             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4968              Self,
4969              To);
4970
4971         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
4972            AMF.Internals.Links.Create_Link
4973             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4974              Self,
4975              To);
4976
4977         when AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp =>
4978            AMF.Internals.Links.Create_Link
4979             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4980              Self,
4981              To);
4982
4983         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp =>
4984            AMF.Internals.Links.Create_Link
4985             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4986              Self,
4987              To);
4988
4989         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
4990            AMF.Internals.Links.Create_Link
4991             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4992              Self,
4993              To);
4994
4995         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
4996            AMF.Internals.Links.Create_Link
4997             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
4998              Self,
4999              To);
5000
5001         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
5002            AMF.Internals.Links.Create_Link
5003             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5004              Self,
5005              To);
5006
5007         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
5008            AMF.Internals.Links.Create_Link
5009             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5010              Self,
5011              To);
5012
5013         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
5014            AMF.Internals.Links.Create_Link
5015             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5016              Self,
5017              To);
5018
5019         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
5020            AMF.Internals.Links.Create_Link
5021             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5022              Self,
5023              To);
5024
5025         when AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp =>
5026            AMF.Internals.Links.Create_Link
5027             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5028              Self,
5029              To);
5030
5031         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
5032            AMF.Internals.Links.Create_Link
5033             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5034              Self,
5035              To);
5036
5037         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
5038            AMF.Internals.Links.Create_Link
5039             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5040              Self,
5041              To);
5042
5043         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
5044            AMF.Internals.Links.Create_Link
5045             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5046              Self,
5047              To);
5048
5049         when AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp =>
5050            AMF.Internals.Links.Create_Link
5051             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5052              Self,
5053              To);
5054
5055         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
5056            AMF.Internals.Links.Create_Link
5057             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5058              Self,
5059              To);
5060
5061         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
5062            AMF.Internals.Links.Create_Link
5063             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5064              Self,
5065              To);
5066
5067         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
5068            AMF.Internals.Links.Create_Link
5069             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5070              Self,
5071              To);
5072
5073         when AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp =>
5074            AMF.Internals.Links.Create_Link
5075             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5076              Self,
5077              To);
5078
5079         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
5080            AMF.Internals.Links.Create_Link
5081             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5082              Self,
5083              To);
5084
5085         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
5086            AMF.Internals.Links.Create_Link
5087             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5088              Self,
5089              To);
5090
5091         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
5092            AMF.Internals.Links.Create_Link
5093             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5094              Self,
5095              To);
5096
5097         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
5098            AMF.Internals.Links.Create_Link
5099             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5100              Self,
5101              To);
5102
5103         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
5104            AMF.Internals.Links.Create_Link
5105             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5106              Self,
5107              To);
5108
5109         when AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp =>
5110            AMF.Internals.Links.Create_Link
5111             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5112              Self,
5113              To);
5114
5115         when AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp =>
5116            AMF.Internals.Links.Create_Link
5117             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5118              Self,
5119              To);
5120
5121         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
5122            AMF.Internals.Links.Create_Link
5123             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5124              Self,
5125              To);
5126
5127         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
5128            AMF.Internals.Links.Create_Link
5129             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5130              Self,
5131              To);
5132
5133         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
5134            AMF.Internals.Links.Create_Link
5135             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Named_Element_Name_Expression_Named_Element,
5136              Self,
5137              To);
5138
5139         when others =>
5140            raise Program_Error;
5141      end case;
5142   end Internal_Set_Name_Expression;
5143
5144   ------------------------------------
5145   -- Internal_Set_Navigation_Source --
5146   ------------------------------------
5147
5148   procedure Internal_Set_Navigation_Source
5149    (Self : AMF.Internals.AMF_Element;
5150     To   : AMF.Internals.AMF_Element) is
5151   begin
5152      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5153         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
5154            AMF.Internals.Links.Create_Link
5155             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Navigation_Call_Exp_Navigation_Source_Exp9,
5156              Self,
5157              To);
5158
5159         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
5160            AMF.Internals.Links.Create_Link
5161             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Navigation_Call_Exp_Navigation_Source_Exp9,
5162              Self,
5163              To);
5164
5165         when others =>
5166            raise Program_Error;
5167      end case;
5168   end Internal_Set_Navigation_Source;
5169
5170   -------------------------------------------
5171   -- Internal_Set_Owned_Template_Signature --
5172   -------------------------------------------
5173
5174   procedure Internal_Set_Owned_Template_Signature
5175    (Self : AMF.Internals.AMF_Element;
5176     To   : AMF.Internals.AMF_Element) is
5177   begin
5178      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5179         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
5180            AMF.Internals.Links.Create_Link
5181             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5182              Self,
5183              To);
5184
5185         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
5186            AMF.Internals.Links.Create_Link
5187             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5188              Self,
5189              To);
5190
5191         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
5192            AMF.Internals.Links.Create_Link
5193             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5194              Self,
5195              To);
5196
5197         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
5198            AMF.Internals.Links.Create_Link
5199             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5200              Self,
5201              To);
5202
5203         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
5204            AMF.Internals.Links.Create_Link
5205             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5206              Self,
5207              To);
5208
5209         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
5210            AMF.Internals.Links.Create_Link
5211             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5212              Self,
5213              To);
5214
5215         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
5216            AMF.Internals.Links.Create_Link
5217             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5218              Self,
5219              To);
5220
5221         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
5222            AMF.Internals.Links.Create_Link
5223             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5224              Self,
5225              To);
5226
5227         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
5228            AMF.Internals.Links.Create_Link
5229             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5230              Self,
5231              To);
5232
5233         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
5234            AMF.Internals.Links.Create_Link
5235             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5236              Self,
5237              To);
5238
5239         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
5240            AMF.Internals.Links.Create_Link
5241             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Owned_Template_Signature_Classifier,
5242              Self,
5243              To);
5244
5245         when others =>
5246            raise Program_Error;
5247      end case;
5248   end Internal_Set_Owned_Template_Signature;
5249
5250   --------------------------------------------
5251   -- Internal_Set_Owning_Template_Parameter --
5252   --------------------------------------------
5253
5254   procedure Internal_Set_Owning_Template_Parameter
5255    (Self : AMF.Internals.AMF_Element;
5256     To   : AMF.Internals.AMF_Element) is
5257   begin
5258      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5259         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
5260            AMF.Internals.Links.Create_Link
5261             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5262              To,
5263              Self);
5264
5265         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
5266            AMF.Internals.Links.Create_Link
5267             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5268              To,
5269              Self);
5270
5271         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
5272            AMF.Internals.Links.Create_Link
5273             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5274              To,
5275              Self);
5276
5277         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
5278            AMF.Internals.Links.Create_Link
5279             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5280              To,
5281              Self);
5282
5283         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
5284            AMF.Internals.Links.Create_Link
5285             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5286              To,
5287              Self);
5288
5289         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
5290            AMF.Internals.Links.Create_Link
5291             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5292              To,
5293              Self);
5294
5295         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
5296            AMF.Internals.Links.Create_Link
5297             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5298              To,
5299              Self);
5300
5301         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
5302            AMF.Internals.Links.Create_Link
5303             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5304              To,
5305              Self);
5306
5307         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
5308            AMF.Internals.Links.Create_Link
5309             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5310              To,
5311              Self);
5312
5313         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
5314            AMF.Internals.Links.Create_Link
5315             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5316              To,
5317              Self);
5318
5319         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
5320            AMF.Internals.Links.Create_Link
5321             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5322              To,
5323              Self);
5324
5325         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
5326            AMF.Internals.Links.Create_Link
5327             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Owned_Parametered_Element_Owning_Template_Parameter,
5328              To,
5329              Self);
5330
5331         when others =>
5332            raise Program_Error;
5333      end case;
5334   end Internal_Set_Owning_Template_Parameter;
5335
5336   --------------------------
5337   -- Internal_Set_Package --
5338   --------------------------
5339
5340   procedure Internal_Set_Package
5341    (Self : AMF.Internals.AMF_Element;
5342     To   : AMF.Internals.AMF_Element) is
5343   begin
5344      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5345         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
5346            AMF.Internals.Links.Create_Link
5347             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5348              To,
5349              Self);
5350
5351         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
5352            AMF.Internals.Links.Create_Link
5353             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5354              To,
5355              Self);
5356
5357         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
5358            AMF.Internals.Links.Create_Link
5359             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5360              To,
5361              Self);
5362
5363         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
5364            AMF.Internals.Links.Create_Link
5365             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5366              To,
5367              Self);
5368
5369         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
5370            AMF.Internals.Links.Create_Link
5371             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5372              To,
5373              Self);
5374
5375         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
5376            AMF.Internals.Links.Create_Link
5377             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5378              To,
5379              Self);
5380
5381         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
5382            AMF.Internals.Links.Create_Link
5383             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5384              To,
5385              Self);
5386
5387         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
5388            AMF.Internals.Links.Create_Link
5389             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5390              To,
5391              Self);
5392
5393         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
5394            AMF.Internals.Links.Create_Link
5395             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5396              To,
5397              Self);
5398
5399         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
5400            AMF.Internals.Links.Create_Link
5401             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5402              To,
5403              Self);
5404
5405         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
5406            AMF.Internals.Links.Create_Link
5407             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Package_Owned_Type_Package,
5408              To,
5409              Self);
5410
5411         when others =>
5412            raise Program_Error;
5413      end case;
5414   end Internal_Set_Package;
5415
5416   ------------------------------
5417   -- Internal_Set_Real_Symbol --
5418   ------------------------------
5419
5420   procedure Internal_Set_Real_Symbol
5421    (Self : AMF.Internals.AMF_Element;
5422     To   : AMF.Real)
5423   is
5424      Old : AMF.Real;
5425
5426   begin
5427      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Real_Value;
5428      AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Real_Value := To;
5429
5430      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
5431       (Self, AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Real_Literal_Exp_Real_Symbol, Old, To);
5432   end Internal_Set_Real_Symbol;
5433
5434   ---------------------------------------------
5435   -- Internal_Set_Referred_Association_Class --
5436   ---------------------------------------------
5437
5438   procedure Internal_Set_Referred_Association_Class
5439    (Self : AMF.Internals.AMF_Element;
5440     To   : AMF.Internals.AMF_Element) is
5441   begin
5442      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5443         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
5444            AMF.Internals.Links.Create_Link
5445             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Association_Class_Call_Exp_Referred_Association_Class_Referring_Exp,
5446              Self,
5447              To);
5448
5449         when others =>
5450            raise Program_Error;
5451      end case;
5452   end Internal_Set_Referred_Association_Class;
5453
5454   ----------------------------------------
5455   -- Internal_Set_Referred_Enum_Literal --
5456   ----------------------------------------
5457
5458   procedure Internal_Set_Referred_Enum_Literal
5459    (Self : AMF.Internals.AMF_Element;
5460     To   : AMF.Internals.AMF_Element) is
5461   begin
5462      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5463         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
5464            AMF.Internals.Links.Create_Link
5465             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Enum_Literal_Exp_Referred_Enum_Literal_Literal_Exp,
5466              Self,
5467              To);
5468
5469         when others =>
5470            raise Program_Error;
5471      end case;
5472   end Internal_Set_Referred_Enum_Literal;
5473
5474   -------------------------------------
5475   -- Internal_Set_Referred_Operation --
5476   -------------------------------------
5477
5478   procedure Internal_Set_Referred_Operation
5479    (Self : AMF.Internals.AMF_Element;
5480     To   : AMF.Internals.AMF_Element) is
5481   begin
5482      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5483         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
5484            AMF.Internals.Links.Create_Link
5485             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Message_Type_Referred_Operation_Type2,
5486              Self,
5487              To);
5488
5489         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
5490            AMF.Internals.Links.Create_Link
5491             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Operation_Call_Exp_Referred_Operation_Refering_Exp,
5492              Self,
5493              To);
5494
5495         when others =>
5496            raise Program_Error;
5497      end case;
5498   end Internal_Set_Referred_Operation;
5499
5500   ------------------------------------
5501   -- Internal_Set_Referred_Property --
5502   ------------------------------------
5503
5504   procedure Internal_Set_Referred_Property
5505    (Self : AMF.Internals.AMF_Element;
5506     To   : AMF.Internals.AMF_Element) is
5507   begin
5508      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5509         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
5510            AMF.Internals.Links.Create_Link
5511             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Property_Call_Exp_Referred_Property_Refering_Exp,
5512              Self,
5513              To);
5514
5515         when others =>
5516            raise Program_Error;
5517      end case;
5518   end Internal_Set_Referred_Property;
5519
5520   ----------------------------------
5521   -- Internal_Set_Referred_Signal --
5522   ----------------------------------
5523
5524   procedure Internal_Set_Referred_Signal
5525    (Self : AMF.Internals.AMF_Element;
5526     To   : AMF.Internals.AMF_Element) is
5527   begin
5528      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5529         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
5530            AMF.Internals.Links.Create_Link
5531             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Message_Type_Referred_Signal_Type3,
5532              Self,
5533              To);
5534
5535         when others =>
5536            raise Program_Error;
5537      end case;
5538   end Internal_Set_Referred_Signal;
5539
5540   ---------------------------------
5541   -- Internal_Set_Referred_State --
5542   ---------------------------------
5543
5544   procedure Internal_Set_Referred_State
5545    (Self : AMF.Internals.AMF_Element;
5546     To   : AMF.Internals.AMF_Element) is
5547   begin
5548      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5549         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
5550            AMF.Internals.Links.Create_Link
5551             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_State_Exp_Referred_State_Exp9,
5552              Self,
5553              To);
5554
5555         when others =>
5556            raise Program_Error;
5557      end case;
5558   end Internal_Set_Referred_State;
5559
5560   --------------------------------
5561   -- Internal_Set_Referred_Type --
5562   --------------------------------
5563
5564   procedure Internal_Set_Referred_Type
5565    (Self : AMF.Internals.AMF_Element;
5566     To   : AMF.Internals.AMF_Element) is
5567   begin
5568      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5569         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
5570            AMF.Internals.Links.Create_Link
5571             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Type_Exp_Referred_Type_Exp11,
5572              Self,
5573              To);
5574
5575         when others =>
5576            raise Program_Error;
5577      end case;
5578   end Internal_Set_Referred_Type;
5579
5580   ------------------------------------
5581   -- Internal_Set_Referred_Variable --
5582   ------------------------------------
5583
5584   procedure Internal_Set_Referred_Variable
5585    (Self : AMF.Internals.AMF_Element;
5586     To   : AMF.Internals.AMF_Element) is
5587   begin
5588      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5589         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
5590            AMF.Internals.Links.Create_Link
5591             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Variable_Exp_Referred_Variable_Refering_Exp,
5592              Self,
5593              To);
5594
5595         when others =>
5596            raise Program_Error;
5597      end case;
5598   end Internal_Set_Referred_Variable;
5599
5600   ---------------------------------
5601   -- Internal_Set_Representation --
5602   ---------------------------------
5603
5604   procedure Internal_Set_Representation
5605    (Self : AMF.Internals.AMF_Element;
5606     To   : AMF.Internals.AMF_Element) is
5607   begin
5608      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5609         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
5610            AMF.Internals.Links.Create_Link
5611             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5612              Self,
5613              To);
5614
5615         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
5616            AMF.Internals.Links.Create_Link
5617             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5618              Self,
5619              To);
5620
5621         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
5622            AMF.Internals.Links.Create_Link
5623             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5624              Self,
5625              To);
5626
5627         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
5628            AMF.Internals.Links.Create_Link
5629             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5630              Self,
5631              To);
5632
5633         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
5634            AMF.Internals.Links.Create_Link
5635             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5636              Self,
5637              To);
5638
5639         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
5640            AMF.Internals.Links.Create_Link
5641             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5642              Self,
5643              To);
5644
5645         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
5646            AMF.Internals.Links.Create_Link
5647             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5648              Self,
5649              To);
5650
5651         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
5652            AMF.Internals.Links.Create_Link
5653             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5654              Self,
5655              To);
5656
5657         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
5658            AMF.Internals.Links.Create_Link
5659             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5660              Self,
5661              To);
5662
5663         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
5664            AMF.Internals.Links.Create_Link
5665             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5666              Self,
5667              To);
5668
5669         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
5670            AMF.Internals.Links.Create_Link
5671             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Representation_Classifier,
5672              Self,
5673              To);
5674
5675         when others =>
5676            raise Program_Error;
5677      end case;
5678   end Internal_Set_Representation;
5679
5680   ----------------------------------------
5681   -- Internal_Set_Represented_Parameter --
5682   ----------------------------------------
5683
5684   procedure Internal_Set_Represented_Parameter
5685    (Self : AMF.Internals.AMF_Element;
5686     To   : AMF.Internals.AMF_Element) is
5687   begin
5688      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5689         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
5690            AMF.Internals.Links.Create_Link
5691             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Variable_Represented_Parameter_Variable,
5692              Self,
5693              To);
5694
5695         when others =>
5696            raise Program_Error;
5697      end case;
5698   end Internal_Set_Represented_Parameter;
5699
5700   ----------------------------------
5701   -- Internal_Set_Result_Variable --
5702   ----------------------------------
5703
5704   procedure Internal_Set_Result_Variable
5705    (Self : AMF.Internals.AMF_Element;
5706     To   : AMF.Internals.AMF_Element) is
5707   begin
5708      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5709         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
5710            AMF.Internals.Links.Create_Link
5711             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Expression_In_Ocl_Result_Variable_Result_Owner,
5712              Self,
5713              To);
5714
5715         when others =>
5716            raise Program_Error;
5717      end case;
5718   end Internal_Set_Result_Variable;
5719
5720   ------------------------------
5721   -- Internal_Set_Sent_Signal --
5722   ------------------------------
5723
5724   procedure Internal_Set_Sent_Signal
5725    (Self : AMF.Internals.AMF_Element;
5726     To   : AMF.Internals.AMF_Element) is
5727   begin
5728      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5729         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
5730            AMF.Internals.Links.Create_Link
5731             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Message_Exp_Sent_Signal_Exp7,
5732              Self,
5733              To);
5734
5735         when others =>
5736            raise Program_Error;
5737      end case;
5738   end Internal_Set_Sent_Signal;
5739
5740   -------------------------
5741   -- Internal_Set_Source --
5742   -------------------------
5743
5744   procedure Internal_Set_Source
5745    (Self : AMF.Internals.AMF_Element;
5746     To   : AMF.Internals.AMF_Element) is
5747   begin
5748      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5749         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
5750            AMF.Internals.Links.Create_Link
5751             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Call_Exp_Source_Applied_Element,
5752              Self,
5753              To);
5754
5755         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
5756            AMF.Internals.Links.Create_Link
5757             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Call_Exp_Source_Applied_Element,
5758              Self,
5759              To);
5760
5761         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
5762            AMF.Internals.Links.Create_Link
5763             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Call_Exp_Source_Applied_Element,
5764              Self,
5765              To);
5766
5767         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
5768            AMF.Internals.Links.Create_Link
5769             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Call_Exp_Source_Applied_Element,
5770              Self,
5771              To);
5772
5773         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
5774            AMF.Internals.Links.Create_Link
5775             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Call_Exp_Source_Applied_Element,
5776              Self,
5777              To);
5778
5779         when others =>
5780            raise Program_Error;
5781      end case;
5782   end Internal_Set_Source;
5783
5784   --------------------------------
5785   -- Internal_Set_Specification --
5786   --------------------------------
5787
5788   procedure Internal_Set_Specification
5789    (Self : AMF.Internals.AMF_Element;
5790     To   : Matreshka.Internals.Strings.Shared_String_Access)
5791   is
5792      Old : Matreshka.Internals.Strings.Shared_String_Access;
5793
5794   begin
5795      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (17).String_Value;
5796
5797      OCL_Element_Table.Table (Self).Member (17).String_Value := To;
5798
5799      if OCL_Element_Table.Table (Self).Member (17).String_Value /= null then
5800         Matreshka.Internals.Strings.Reference
5801          (OCL_Element_Table.Table (Self).Member (17).String_Value);
5802      end if;
5803
5804      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
5805       (Self, AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Template_Parameter_Type_Specification, Old, To);
5806
5807      if Old /= null then
5808         Matreshka.Internals.Strings.Reference (Old);
5809      end if;
5810   end Internal_Set_Specification;
5811
5812   --------------------------------
5813   -- Internal_Set_String_Symbol --
5814   --------------------------------
5815
5816   procedure Internal_Set_String_Symbol
5817    (Self : AMF.Internals.AMF_Element;
5818     To   : Matreshka.Internals.Strings.Shared_String_Access)
5819   is
5820      Old : Matreshka.Internals.Strings.Shared_String_Access;
5821
5822   begin
5823      Old :=
5824        AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).String_Value;
5825
5826      OCL_Element_Table.Table (Self).Member (8).String_Value := To;
5827      Matreshka.Internals.Strings.Reference
5828       (OCL_Element_Table.Table (Self).Member (8).String_Value);
5829
5830      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
5831       (Self, AMF.Internals.Tables.OCL_Metamodel.MP_OCL_String_Literal_Exp_String_Symbol, Old, To);
5832      Matreshka.Internals.Strings.Dereference (Old);
5833   end Internal_Set_String_Symbol;
5834
5835   -------------------------
5836   -- Internal_Set_Target --
5837   -------------------------
5838
5839   procedure Internal_Set_Target
5840    (Self : AMF.Internals.AMF_Element;
5841     To   : AMF.Internals.AMF_Element) is
5842   begin
5843      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5844         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
5845            AMF.Internals.Links.Create_Link
5846             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Message_Exp_Target_Exp8,
5847              Self,
5848              To);
5849
5850         when others =>
5851            raise Program_Error;
5852      end case;
5853   end Internal_Set_Target;
5854
5855   -------------------------------------
5856   -- Internal_Set_Template_Parameter --
5857   -------------------------------------
5858
5859   procedure Internal_Set_Template_Parameter
5860    (Self : AMF.Internals.AMF_Element;
5861     To   : AMF.Internals.AMF_Element) is
5862   begin
5863      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5864         when AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type =>
5865            AMF.Internals.Links.Create_Link
5866             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5867              Self,
5868              To);
5869
5870         when AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type =>
5871            AMF.Internals.Links.Create_Link
5872             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5873              Self,
5874              To);
5875
5876         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type =>
5877            AMF.Internals.Links.Create_Link
5878             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5879              Self,
5880              To);
5881
5882         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
5883            AMF.Internals.Links.Create_Link
5884             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Template_Parameter_Parametered_Element_Template_Parameter,
5885              To,
5886              Self);
5887
5888         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type =>
5889            AMF.Internals.Links.Create_Link
5890             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5891              Self,
5892              To);
5893
5894         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type =>
5895            AMF.Internals.Links.Create_Link
5896             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5897              Self,
5898              To);
5899
5900         when AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type =>
5901            AMF.Internals.Links.Create_Link
5902             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5903              Self,
5904              To);
5905
5906         when AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type =>
5907            AMF.Internals.Links.Create_Link
5908             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5909              Self,
5910              To);
5911
5912         when AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type =>
5913            AMF.Internals.Links.Create_Link
5914             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5915              Self,
5916              To);
5917
5918         when AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type =>
5919            AMF.Internals.Links.Create_Link
5920             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5921              Self,
5922              To);
5923
5924         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type =>
5925            AMF.Internals.Links.Create_Link
5926             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5927              Self,
5928              To);
5929
5930         when AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type =>
5931            AMF.Internals.Links.Create_Link
5932             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Classifier_Template_Parameter_Parametered_Element,
5933              Self,
5934              To);
5935
5936         when others =>
5937            raise Program_Error;
5938      end case;
5939   end Internal_Set_Template_Parameter;
5940
5941   ----------------------------------
5942   -- Internal_Set_Then_Expression --
5943   ----------------------------------
5944
5945   procedure Internal_Set_Then_Expression
5946    (Self : AMF.Internals.AMF_Element;
5947     To   : AMF.Internals.AMF_Element) is
5948   begin
5949      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5950         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
5951            AMF.Internals.Links.Create_Link
5952             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_If_Exp_Then_Expression_Then_Owner,
5953              Self,
5954              To);
5955
5956         when others =>
5957            raise Program_Error;
5958      end case;
5959   end Internal_Set_Then_Expression;
5960
5961   -----------------------
5962   -- Internal_Set_Type --
5963   -----------------------
5964
5965   procedure Internal_Set_Type
5966    (Self : AMF.Internals.AMF_Element;
5967     To   : AMF.Internals.AMF_Element) is
5968   begin
5969      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
5970         when AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp =>
5971            AMF.Internals.Links.Create_Link
5972             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
5973              Self,
5974              To);
5975
5976         when AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp =>
5977            AMF.Internals.Links.Create_Link
5978             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
5979              Self,
5980              To);
5981
5982         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item =>
5983            AMF.Internals.Links.Create_Link
5984             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
5985              Self,
5986              To);
5987
5988         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp =>
5989            AMF.Internals.Links.Create_Link
5990             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
5991              Self,
5992              To);
5993
5994         when AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range =>
5995            AMF.Internals.Links.Create_Link
5996             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
5997              Self,
5998              To);
5999
6000         when AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp =>
6001            AMF.Internals.Links.Create_Link
6002             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6003              Self,
6004              To);
6005
6006         when AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl =>
6007            AMF.Internals.Links.Create_Link
6008             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6009              Self,
6010              To);
6011
6012         when AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp =>
6013            AMF.Internals.Links.Create_Link
6014             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6015              Self,
6016              To);
6017
6018         when AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp =>
6019            AMF.Internals.Links.Create_Link
6020             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6021              Self,
6022              To);
6023
6024         when AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp =>
6025            AMF.Internals.Links.Create_Link
6026             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6027              Self,
6028              To);
6029
6030         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp =>
6031            AMF.Internals.Links.Create_Link
6032             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6033              Self,
6034              To);
6035
6036         when AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp =>
6037            AMF.Internals.Links.Create_Link
6038             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6039              Self,
6040              To);
6041
6042         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
6043            AMF.Internals.Links.Create_Link
6044             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6045              Self,
6046              To);
6047
6048         when AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp =>
6049            AMF.Internals.Links.Create_Link
6050             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6051              Self,
6052              To);
6053
6054         when AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp =>
6055            AMF.Internals.Links.Create_Link
6056             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6057              Self,
6058              To);
6059
6060         when AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp =>
6061            AMF.Internals.Links.Create_Link
6062             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6063              Self,
6064              To);
6065
6066         when AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp =>
6067            AMF.Internals.Links.Create_Link
6068             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6069              Self,
6070              To);
6071
6072         when AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp =>
6073            AMF.Internals.Links.Create_Link
6074             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6075              Self,
6076              To);
6077
6078         when AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp =>
6079            AMF.Internals.Links.Create_Link
6080             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6081              Self,
6082              To);
6083
6084         when AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp =>
6085            AMF.Internals.Links.Create_Link
6086             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6087              Self,
6088              To);
6089
6090         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp =>
6091            AMF.Internals.Links.Create_Link
6092             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6093              Self,
6094              To);
6095
6096         when AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part =>
6097            AMF.Internals.Links.Create_Link
6098             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6099              Self,
6100              To);
6101
6102         when AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp =>
6103            AMF.Internals.Links.Create_Link
6104             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6105              Self,
6106              To);
6107
6108         when AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp =>
6109            AMF.Internals.Links.Create_Link
6110             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6111              Self,
6112              To);
6113
6114         when AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp =>
6115            AMF.Internals.Links.Create_Link
6116             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6117              Self,
6118              To);
6119
6120         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable =>
6121            AMF.Internals.Links.Create_Link
6122             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6123              Self,
6124              To);
6125
6126         when AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp =>
6127            AMF.Internals.Links.Create_Link
6128             (AMF.Internals.Tables.UML_Metamodel.MA_UML_Typed_Element_Type_Typed_Element,
6129              Self,
6130              To);
6131
6132         when others =>
6133            raise Program_Error;
6134      end case;
6135   end Internal_Set_Type;
6136
6137   -------------------------------------------
6138   -- Internal_Set_Unlimited_Natural_Symbol --
6139   -------------------------------------------
6140
6141   procedure Internal_Set_Unlimited_Natural_Symbol
6142    (Self : AMF.Internals.AMF_Element;
6143     To   : AMF.Unlimited_Natural)
6144   is
6145      Old : AMF.Unlimited_Natural;
6146
6147   begin
6148      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Unlimited_Natural_Value;
6149      AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (8).Unlimited_Natural_Value := To;
6150
6151      AMF.Internals.Tables.Primitive_Types_Notification.Notify_Attribute_Set
6152       (Self, AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Unlimited_Natural_Literal_Exp_Unlimited_Natural_Symbol, Old, To);
6153   end Internal_Set_Unlimited_Natural_Symbol;
6154
6155   ---------------------------
6156   -- Internal_Set_Variable --
6157   ---------------------------
6158
6159   procedure Internal_Set_Variable
6160    (Self : AMF.Internals.AMF_Element;
6161     To   : AMF.Internals.AMF_Element) is
6162   begin
6163      case AMF.Internals.Tables.OCL_Element_Table.Table (Self).Kind is
6164         when AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp =>
6165            AMF.Internals.Links.Create_Link
6166             (AMF.Internals.Tables.OCL_Metamodel.MA_OCL_Let_Exp_Variable_Exp5,
6167              Self,
6168              To);
6169
6170         when others =>
6171            raise Program_Error;
6172      end case;
6173   end Internal_Set_Variable;
6174
6175   -----------------------------
6176   -- Internal_Set_Visibility --
6177   -----------------------------
6178
6179   procedure Internal_Set_Visibility
6180    (Self : AMF.Internals.AMF_Element;
6181     To   : AMF.UML.Optional_UML_Visibility_Kind)
6182   is
6183      Old : AMF.UML.Optional_UML_Visibility_Kind;
6184
6185   begin
6186      Old := AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (6).Visibility_Kind_Holder;
6187      AMF.Internals.Tables.OCL_Element_Table.Table (Self).Member (6).Visibility_Kind_Holder := To;
6188
6189      AMF.Internals.Tables.UML_Notification.Notify_Attribute_Set
6190       (Self, AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Visibility, Old, To);
6191   end Internal_Set_Visibility;
6192
6193end AMF.Internals.Tables.OCL_Attributes;
6194