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.Element_Collections;
47with AMF.Internals.OCL_Any_Types;
48with AMF.Internals.OCL_Association_Class_Call_Exps;
49with AMF.Internals.OCL_Bag_Types;
50with AMF.Internals.OCL_Boolean_Literal_Exps;
51with AMF.Internals.OCL_Collection_Items;
52with AMF.Internals.OCL_Collection_Literal_Exps;
53with AMF.Internals.OCL_Collection_Ranges;
54with AMF.Internals.OCL_Collection_Types;
55with AMF.Internals.OCL_Enum_Literal_Exps;
56with AMF.Internals.OCL_Expression_In_Ocls;
57with AMF.Internals.OCL_If_Exps;
58with AMF.Internals.OCL_Integer_Literal_Exps;
59with AMF.Internals.OCL_Invalid_Literal_Exps;
60with AMF.Internals.OCL_Invalid_Types;
61with AMF.Internals.OCL_Iterate_Exps;
62with AMF.Internals.OCL_Iterator_Exps;
63with AMF.Internals.OCL_Let_Exps;
64with AMF.Internals.OCL_Message_Exps;
65with AMF.Internals.OCL_Message_Types;
66with AMF.Internals.OCL_Null_Literal_Exps;
67with AMF.Internals.OCL_Operation_Call_Exps;
68with AMF.Internals.OCL_Ordered_Set_Types;
69with AMF.Internals.OCL_Property_Call_Exps;
70with AMF.Internals.OCL_Real_Literal_Exps;
71with AMF.Internals.OCL_Sequence_Types;
72with AMF.Internals.OCL_Set_Types;
73with AMF.Internals.OCL_State_Exps;
74with AMF.Internals.OCL_String_Literal_Exps;
75with AMF.Internals.OCL_Template_Parameter_Types;
76with AMF.Internals.OCL_Tuple_Literal_Exps;
77with AMF.Internals.OCL_Tuple_Literal_Parts;
78with AMF.Internals.OCL_Tuple_Types;
79with AMF.Internals.OCL_Type_Exps;
80with AMF.Internals.OCL_Unlimited_Natural_Literal_Exps;
81with AMF.Internals.OCL_Unspecified_Value_Exps;
82with AMF.Internals.OCL_Variable_Exps;
83with AMF.Internals.OCL_Variables;
84with AMF.Internals.OCL_Void_Types;
85with AMF.Internals.Tables.OCL_Element_Table;
86with AMF.Internals.Tables.OCL_Metamodel;
87with AMF.Internals.Tables.OCL_Types;
88with AMF.Internals.Tables.UML_Metamodel;
89with AMF.OCL;
90with AMF.UML;
91with Matreshka.Internals.Strings;
92
93package body AMF.Internals.Tables.OCL_Constructors is
94
95   use AMF.Internals.Tables;
96   use type AMF.Internals.AMF_Collection_Of_Element;
97
98   -------------------------
99   -- Create_OCL_Any_Type --
100   -------------------------
101
102   function Create_OCL_Any_Type return AMF.Internals.AMF_Element is
103      Self : AMF.Internals.AMF_Element;
104
105   begin
106      OCL_Element_Table.Increment_Last;
107      Self := OCL_Element_Table.Last;
108
109      OCL_Element_Table.Table (Self).all :=
110       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Any_Type,
111        Extent   => 0,
112        Proxy    =>
113          new AMF.Internals.OCL_Any_Types.OCL_Any_Type_Proxy'(Element => Self),
114        Member   =>
115         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
116          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
117                       --  isAbstract
118          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
119                       --  isFinalSpecialization
120          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
121                       --  isLeaf
122          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
123                       --  name
124          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
125                       --  nameExpression
126          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
127                       --  namespace
128          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
129                       --  ownedTemplateSignature
130          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
131                       --  ownedTemplateSignature
132          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
133                       --  owner
134          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
135                       --  owningTemplateParameter
136          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
137                       --  package
138          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
139                       --  qualifiedName
140          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
141                       --  representation
142          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
143                       --  templateParameter
144          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
145                       --  templateParameter
146          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
147                       --  visibility
148          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
149      OCL_Element_Table.Table (Self).Member (0) :=
150       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
151        AMF.Internals.Element_Collections.Allocate_Collections (32));
152
153      --  attribute
154
155      AMF.Internals.Element_Collections.Initialize_Set_Collection
156       (Self,
157        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
158        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
159
160      --  clientDependency
161
162      AMF.Internals.Element_Collections.Initialize_Set_Collection
163       (Self,
164        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
165        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
166
167      --  collaborationUse
168
169      AMF.Internals.Element_Collections.Initialize_Set_Collection
170       (Self,
171        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
172        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
173
174      --  elementImport
175
176      AMF.Internals.Element_Collections.Initialize_Set_Collection
177       (Self,
178        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
179        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
180
181      --  feature
182
183      AMF.Internals.Element_Collections.Initialize_Set_Collection
184       (Self,
185        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
186        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
187
188      --  general
189
190      AMF.Internals.Element_Collections.Initialize_Set_Collection
191       (Self,
192        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
193        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
194
195      --  generalization
196
197      AMF.Internals.Element_Collections.Initialize_Set_Collection
198       (Self,
199        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
200        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
201
202      --  importedMember
203
204      AMF.Internals.Element_Collections.Initialize_Set_Collection
205       (Self,
206        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
207        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
208
209      --  inheritedMember
210
211      AMF.Internals.Element_Collections.Initialize_Set_Collection
212       (Self,
213        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
214        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
215
216      --  member
217
218      AMF.Internals.Element_Collections.Initialize_Set_Collection
219       (Self,
220        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
221        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
222
223      --  ownedComment
224
225      AMF.Internals.Element_Collections.Initialize_Set_Collection
226       (Self,
227        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
228        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
229
230      --  ownedElement
231
232      AMF.Internals.Element_Collections.Initialize_Set_Collection
233       (Self,
234        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
235        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
236
237      --  ownedMember
238
239      AMF.Internals.Element_Collections.Initialize_Set_Collection
240       (Self,
241        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
242        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
243
244      --  ownedRule
245
246      AMF.Internals.Element_Collections.Initialize_Set_Collection
247       (Self,
248        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
249        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
250
251      --  ownedUseCase
252
253      AMF.Internals.Element_Collections.Initialize_Set_Collection
254       (Self,
255        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
256        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
257
258      --  packageImport
259
260      AMF.Internals.Element_Collections.Initialize_Set_Collection
261       (Self,
262        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
263        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
264
265      --  powertypeExtent
266
267      AMF.Internals.Element_Collections.Initialize_Set_Collection
268       (Self,
269        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
270        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
271
272      --  redefinedClassifier
273
274      AMF.Internals.Element_Collections.Initialize_Set_Collection
275       (Self,
276        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
277        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
278
279      --  redefinedElement
280
281      AMF.Internals.Element_Collections.Initialize_Set_Collection
282       (Self,
283        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
284        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
285
286      --  redefinitionContext
287
288      AMF.Internals.Element_Collections.Initialize_Set_Collection
289       (Self,
290        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
291        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
292
293      --  substitution
294
295      AMF.Internals.Element_Collections.Initialize_Set_Collection
296       (Self,
297        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
298        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
299
300      --  templateBinding
301
302      AMF.Internals.Element_Collections.Initialize_Set_Collection
303       (Self,
304        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
305        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
306
307      --  useCase
308
309      AMF.Internals.Element_Collections.Initialize_Set_Collection
310       (Self,
311        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
312        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
313
314      return Self;
315   end Create_OCL_Any_Type;
316
317   -------------------------------------------
318   -- Create_OCL_Association_Class_Call_Exp --
319   -------------------------------------------
320
321   function Create_OCL_Association_Class_Call_Exp return AMF.Internals.AMF_Element is
322      Self : AMF.Internals.AMF_Element;
323
324   begin
325      OCL_Element_Table.Increment_Last;
326      Self := OCL_Element_Table.Last;
327
328      OCL_Element_Table.Table (Self).all :=
329       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Association_Class_Call_Exp,
330        Extent   => 0,
331        Proxy    =>
332          new AMF.Internals.OCL_Association_Class_Call_Exps.OCL_Association_Class_Call_Exp_Proxy'(Element => Self),
333        Member   =>
334         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
335          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
336                       --  name
337          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
338                       --  nameExpression
339          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
340                       --  namespace
341          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
342                       --  navigationSource
343          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
344                       --  owner
345          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
346                       --  qualifiedName
347          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
348                       --  referredAssociationClass
349          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
350                       --  source
351          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
352                       --  type
353          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
354                       --  visibility
355          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
356      OCL_Element_Table.Table (Self).Member (0) :=
357       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
358        AMF.Internals.Element_Collections.Allocate_Collections (32));
359
360      --  clientDependency
361
362      AMF.Internals.Element_Collections.Initialize_Set_Collection
363       (Self,
364        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
365        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
366
367      --  ownedComment
368
369      AMF.Internals.Element_Collections.Initialize_Set_Collection
370       (Self,
371        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
372        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
373
374      --  ownedElement
375
376      AMF.Internals.Element_Collections.Initialize_Set_Collection
377       (Self,
378        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
379        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
380
381      --  qualifier
382
383      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
384       (Self,
385        AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Navigation_Call_Exp_Qualifier_A_Parent_Nav,
386        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
387
388      return Self;
389   end Create_OCL_Association_Class_Call_Exp;
390
391   -------------------------
392   -- Create_OCL_Bag_Type --
393   -------------------------
394
395   function Create_OCL_Bag_Type return AMF.Internals.AMF_Element is
396      Self : AMF.Internals.AMF_Element;
397
398   begin
399      OCL_Element_Table.Increment_Last;
400      Self := OCL_Element_Table.Last;
401
402      OCL_Element_Table.Table (Self).all :=
403       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Bag_Type,
404        Extent   => 0,
405        Proxy    =>
406          new AMF.Internals.OCL_Bag_Types.OCL_Bag_Type_Proxy'(Element => Self),
407        Member   =>
408         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
409          17     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
410                       --  elementType
411          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
412                       --  isAbstract
413          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
414                       --  isFinalSpecialization
415          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
416                       --  isLeaf
417          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
418                       --  name
419          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
420                       --  nameExpression
421          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
422                       --  namespace
423          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
424                       --  ownedTemplateSignature
425          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
426                       --  ownedTemplateSignature
427          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
428                       --  owner
429          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
430                       --  owningTemplateParameter
431          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
432                       --  package
433          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
434                       --  qualifiedName
435          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
436                       --  representation
437          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
438                       --  templateParameter
439          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
440                       --  templateParameter
441          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
442                       --  visibility
443          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
444      OCL_Element_Table.Table (Self).Member (0) :=
445       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
446        AMF.Internals.Element_Collections.Allocate_Collections (32));
447
448      --  attribute
449
450      AMF.Internals.Element_Collections.Initialize_Set_Collection
451       (Self,
452        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
453        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
454
455      --  clientDependency
456
457      AMF.Internals.Element_Collections.Initialize_Set_Collection
458       (Self,
459        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
460        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
461
462      --  collaborationUse
463
464      AMF.Internals.Element_Collections.Initialize_Set_Collection
465       (Self,
466        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
467        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
468
469      --  elementImport
470
471      AMF.Internals.Element_Collections.Initialize_Set_Collection
472       (Self,
473        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
474        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
475
476      --  feature
477
478      AMF.Internals.Element_Collections.Initialize_Set_Collection
479       (Self,
480        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
481        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
482
483      --  general
484
485      AMF.Internals.Element_Collections.Initialize_Set_Collection
486       (Self,
487        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
488        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
489
490      --  generalization
491
492      AMF.Internals.Element_Collections.Initialize_Set_Collection
493       (Self,
494        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
495        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
496
497      --  importedMember
498
499      AMF.Internals.Element_Collections.Initialize_Set_Collection
500       (Self,
501        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
502        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
503
504      --  inheritedMember
505
506      AMF.Internals.Element_Collections.Initialize_Set_Collection
507       (Self,
508        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
509        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
510
511      --  member
512
513      AMF.Internals.Element_Collections.Initialize_Set_Collection
514       (Self,
515        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
516        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
517
518      --  ownedAttribute
519
520      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
521       (Self,
522        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Attribute_Property_Datatype,
523        OCL_Element_Table.Table (Self).Member (0).Collection + 24);
524
525      --  ownedComment
526
527      AMF.Internals.Element_Collections.Initialize_Set_Collection
528       (Self,
529        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
530        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
531
532      --  ownedElement
533
534      AMF.Internals.Element_Collections.Initialize_Set_Collection
535       (Self,
536        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
537        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
538
539      --  ownedMember
540
541      AMF.Internals.Element_Collections.Initialize_Set_Collection
542       (Self,
543        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
544        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
545
546      --  ownedOperation
547
548      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
549       (Self,
550        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Operation_Operation_Datatype,
551        OCL_Element_Table.Table (Self).Member (0).Collection + 25);
552
553      --  ownedRule
554
555      AMF.Internals.Element_Collections.Initialize_Set_Collection
556       (Self,
557        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
558        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
559
560      --  ownedUseCase
561
562      AMF.Internals.Element_Collections.Initialize_Set_Collection
563       (Self,
564        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
565        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
566
567      --  packageImport
568
569      AMF.Internals.Element_Collections.Initialize_Set_Collection
570       (Self,
571        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
572        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
573
574      --  powertypeExtent
575
576      AMF.Internals.Element_Collections.Initialize_Set_Collection
577       (Self,
578        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
579        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
580
581      --  redefinedClassifier
582
583      AMF.Internals.Element_Collections.Initialize_Set_Collection
584       (Self,
585        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
586        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
587
588      --  redefinedElement
589
590      AMF.Internals.Element_Collections.Initialize_Set_Collection
591       (Self,
592        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
593        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
594
595      --  redefinitionContext
596
597      AMF.Internals.Element_Collections.Initialize_Set_Collection
598       (Self,
599        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
600        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
601
602      --  substitution
603
604      AMF.Internals.Element_Collections.Initialize_Set_Collection
605       (Self,
606        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
607        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
608
609      --  templateBinding
610
611      AMF.Internals.Element_Collections.Initialize_Set_Collection
612       (Self,
613        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
614        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
615
616      --  useCase
617
618      AMF.Internals.Element_Collections.Initialize_Set_Collection
619       (Self,
620        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
621        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
622
623      return Self;
624   end Create_OCL_Bag_Type;
625
626   ------------------------------------
627   -- Create_OCL_Boolean_Literal_Exp --
628   ------------------------------------
629
630   function Create_OCL_Boolean_Literal_Exp return AMF.Internals.AMF_Element is
631      Self : AMF.Internals.AMF_Element;
632
633   begin
634      OCL_Element_Table.Increment_Last;
635      Self := OCL_Element_Table.Last;
636
637      OCL_Element_Table.Table (Self).all :=
638       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Boolean_Literal_Exp,
639        Extent   => 0,
640        Proxy    =>
641          new AMF.Internals.OCL_Boolean_Literal_Exps.OCL_Boolean_Literal_Exp_Proxy'(Element => Self),
642        Member   =>
643         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
644          8      => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
645                       --  booleanSymbol
646          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
647                       --  name
648          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
649                       --  nameExpression
650          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
651                       --  namespace
652          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
653                       --  owner
654          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
655                       --  qualifiedName
656          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
657                       --  type
658          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
659                       --  visibility
660          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
661      OCL_Element_Table.Table (Self).Member (0) :=
662       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
663        AMF.Internals.Element_Collections.Allocate_Collections (32));
664
665      --  clientDependency
666
667      AMF.Internals.Element_Collections.Initialize_Set_Collection
668       (Self,
669        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
670        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
671
672      --  ownedComment
673
674      AMF.Internals.Element_Collections.Initialize_Set_Collection
675       (Self,
676        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
677        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
678
679      --  ownedElement
680
681      AMF.Internals.Element_Collections.Initialize_Set_Collection
682       (Self,
683        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
684        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
685
686      return Self;
687   end Create_OCL_Boolean_Literal_Exp;
688
689   --------------------------------
690   -- Create_OCL_Collection_Item --
691   --------------------------------
692
693   function Create_OCL_Collection_Item return AMF.Internals.AMF_Element is
694      Self : AMF.Internals.AMF_Element;
695
696   begin
697      OCL_Element_Table.Increment_Last;
698      Self := OCL_Element_Table.Last;
699
700      OCL_Element_Table.Table (Self).all :=
701       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Item,
702        Extent   => 0,
703        Proxy    =>
704          new AMF.Internals.OCL_Collection_Items.OCL_Collection_Item_Proxy'(Element => Self),
705        Member   =>
706         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
707          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
708                       --  item
709          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
710                       --  name
711          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
712                       --  nameExpression
713          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
714                       --  namespace
715          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
716                       --  owner
717          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
718                       --  qualifiedName
719          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
720                       --  type
721          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
722                       --  visibility
723          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
724      OCL_Element_Table.Table (Self).Member (0) :=
725       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
726        AMF.Internals.Element_Collections.Allocate_Collections (32));
727
728      --  clientDependency
729
730      AMF.Internals.Element_Collections.Initialize_Set_Collection
731       (Self,
732        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
733        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
734
735      --  ownedComment
736
737      AMF.Internals.Element_Collections.Initialize_Set_Collection
738       (Self,
739        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
740        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
741
742      --  ownedElement
743
744      AMF.Internals.Element_Collections.Initialize_Set_Collection
745       (Self,
746        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
747        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
748
749      return Self;
750   end Create_OCL_Collection_Item;
751
752   ---------------------------------------
753   -- Create_OCL_Collection_Literal_Exp --
754   ---------------------------------------
755
756   function Create_OCL_Collection_Literal_Exp return AMF.Internals.AMF_Element is
757      Self : AMF.Internals.AMF_Element;
758
759   begin
760      OCL_Element_Table.Increment_Last;
761      Self := OCL_Element_Table.Last;
762
763      OCL_Element_Table.Table (Self).all :=
764       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Literal_Exp,
765        Extent   => 0,
766        Proxy    =>
767          new AMF.Internals.OCL_Collection_Literal_Exps.OCL_Collection_Literal_Exp_Proxy'(Element => Self),
768        Member   =>
769         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
770          8      => (AMF.Internals.Tables.OCL_Types.M_Collection_Kind, AMF.OCL.Collection),
771                       --  kind
772          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
773                       --  name
774          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
775                       --  nameExpression
776          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
777                       --  namespace
778          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
779                       --  owner
780          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
781                       --  qualifiedName
782          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
783                       --  type
784          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
785                       --  visibility
786          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
787      OCL_Element_Table.Table (Self).Member (0) :=
788       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
789        AMF.Internals.Element_Collections.Allocate_Collections (32));
790
791      --  clientDependency
792
793      AMF.Internals.Element_Collections.Initialize_Set_Collection
794       (Self,
795        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
796        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
797
798      --  ownedComment
799
800      AMF.Internals.Element_Collections.Initialize_Set_Collection
801       (Self,
802        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
803        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
804
805      --  ownedElement
806
807      AMF.Internals.Element_Collections.Initialize_Set_Collection
808       (Self,
809        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
810        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
811
812      --  part
813
814      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
815       (Self,
816        AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Collection_Literal_Exp_Part_A_Exp1,
817        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
818
819      return Self;
820   end Create_OCL_Collection_Literal_Exp;
821
822   ---------------------------------
823   -- Create_OCL_Collection_Range --
824   ---------------------------------
825
826   function Create_OCL_Collection_Range return AMF.Internals.AMF_Element is
827      Self : AMF.Internals.AMF_Element;
828
829   begin
830      OCL_Element_Table.Increment_Last;
831      Self := OCL_Element_Table.Last;
832
833      OCL_Element_Table.Table (Self).all :=
834       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Range,
835        Extent   => 0,
836        Proxy    =>
837          new AMF.Internals.OCL_Collection_Ranges.OCL_Collection_Range_Proxy'(Element => Self),
838        Member   =>
839         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
840          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
841                       --  first
842          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
843                       --  last
844          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
845                       --  name
846          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
847                       --  nameExpression
848          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
849                       --  namespace
850          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
851                       --  owner
852          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
853                       --  qualifiedName
854          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
855                       --  type
856          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
857                       --  visibility
858          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
859      OCL_Element_Table.Table (Self).Member (0) :=
860       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
861        AMF.Internals.Element_Collections.Allocate_Collections (32));
862
863      --  clientDependency
864
865      AMF.Internals.Element_Collections.Initialize_Set_Collection
866       (Self,
867        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
868        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
869
870      --  ownedComment
871
872      AMF.Internals.Element_Collections.Initialize_Set_Collection
873       (Self,
874        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
875        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
876
877      --  ownedElement
878
879      AMF.Internals.Element_Collections.Initialize_Set_Collection
880       (Self,
881        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
882        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
883
884      return Self;
885   end Create_OCL_Collection_Range;
886
887   --------------------------------
888   -- Create_OCL_Collection_Type --
889   --------------------------------
890
891   function Create_OCL_Collection_Type return AMF.Internals.AMF_Element is
892      Self : AMF.Internals.AMF_Element;
893
894   begin
895      OCL_Element_Table.Increment_Last;
896      Self := OCL_Element_Table.Last;
897
898      OCL_Element_Table.Table (Self).all :=
899       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Collection_Type,
900        Extent   => 0,
901        Proxy    =>
902          new AMF.Internals.OCL_Collection_Types.OCL_Collection_Type_Proxy'(Element => Self),
903        Member   =>
904         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
905          17     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
906                       --  elementType
907          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
908                       --  isAbstract
909          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
910                       --  isFinalSpecialization
911          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
912                       --  isLeaf
913          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
914                       --  name
915          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
916                       --  nameExpression
917          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
918                       --  namespace
919          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
920                       --  ownedTemplateSignature
921          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
922                       --  ownedTemplateSignature
923          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
924                       --  owner
925          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
926                       --  owningTemplateParameter
927          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
928                       --  package
929          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
930                       --  qualifiedName
931          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
932                       --  representation
933          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
934                       --  templateParameter
935          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
936                       --  templateParameter
937          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
938                       --  visibility
939          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
940      OCL_Element_Table.Table (Self).Member (0) :=
941       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
942        AMF.Internals.Element_Collections.Allocate_Collections (32));
943
944      --  attribute
945
946      AMF.Internals.Element_Collections.Initialize_Set_Collection
947       (Self,
948        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
949        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
950
951      --  clientDependency
952
953      AMF.Internals.Element_Collections.Initialize_Set_Collection
954       (Self,
955        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
956        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
957
958      --  collaborationUse
959
960      AMF.Internals.Element_Collections.Initialize_Set_Collection
961       (Self,
962        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
963        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
964
965      --  elementImport
966
967      AMF.Internals.Element_Collections.Initialize_Set_Collection
968       (Self,
969        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
970        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
971
972      --  feature
973
974      AMF.Internals.Element_Collections.Initialize_Set_Collection
975       (Self,
976        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
977        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
978
979      --  general
980
981      AMF.Internals.Element_Collections.Initialize_Set_Collection
982       (Self,
983        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
984        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
985
986      --  generalization
987
988      AMF.Internals.Element_Collections.Initialize_Set_Collection
989       (Self,
990        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
991        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
992
993      --  importedMember
994
995      AMF.Internals.Element_Collections.Initialize_Set_Collection
996       (Self,
997        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
998        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
999
1000      --  inheritedMember
1001
1002      AMF.Internals.Element_Collections.Initialize_Set_Collection
1003       (Self,
1004        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
1005        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
1006
1007      --  member
1008
1009      AMF.Internals.Element_Collections.Initialize_Set_Collection
1010       (Self,
1011        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
1012        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
1013
1014      --  ownedAttribute
1015
1016      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
1017       (Self,
1018        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Attribute_Property_Datatype,
1019        OCL_Element_Table.Table (Self).Member (0).Collection + 24);
1020
1021      --  ownedComment
1022
1023      AMF.Internals.Element_Collections.Initialize_Set_Collection
1024       (Self,
1025        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1026        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1027
1028      --  ownedElement
1029
1030      AMF.Internals.Element_Collections.Initialize_Set_Collection
1031       (Self,
1032        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1033        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1034
1035      --  ownedMember
1036
1037      AMF.Internals.Element_Collections.Initialize_Set_Collection
1038       (Self,
1039        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
1040        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
1041
1042      --  ownedOperation
1043
1044      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
1045       (Self,
1046        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Operation_Operation_Datatype,
1047        OCL_Element_Table.Table (Self).Member (0).Collection + 25);
1048
1049      --  ownedRule
1050
1051      AMF.Internals.Element_Collections.Initialize_Set_Collection
1052       (Self,
1053        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
1054        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
1055
1056      --  ownedUseCase
1057
1058      AMF.Internals.Element_Collections.Initialize_Set_Collection
1059       (Self,
1060        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
1061        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
1062
1063      --  packageImport
1064
1065      AMF.Internals.Element_Collections.Initialize_Set_Collection
1066       (Self,
1067        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
1068        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
1069
1070      --  powertypeExtent
1071
1072      AMF.Internals.Element_Collections.Initialize_Set_Collection
1073       (Self,
1074        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
1075        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
1076
1077      --  redefinedClassifier
1078
1079      AMF.Internals.Element_Collections.Initialize_Set_Collection
1080       (Self,
1081        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
1082        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
1083
1084      --  redefinedElement
1085
1086      AMF.Internals.Element_Collections.Initialize_Set_Collection
1087       (Self,
1088        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
1089        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
1090
1091      --  redefinitionContext
1092
1093      AMF.Internals.Element_Collections.Initialize_Set_Collection
1094       (Self,
1095        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
1096        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
1097
1098      --  substitution
1099
1100      AMF.Internals.Element_Collections.Initialize_Set_Collection
1101       (Self,
1102        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
1103        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
1104
1105      --  templateBinding
1106
1107      AMF.Internals.Element_Collections.Initialize_Set_Collection
1108       (Self,
1109        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
1110        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
1111
1112      --  useCase
1113
1114      AMF.Internals.Element_Collections.Initialize_Set_Collection
1115       (Self,
1116        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
1117        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
1118
1119      return Self;
1120   end Create_OCL_Collection_Type;
1121
1122   ---------------------------------
1123   -- Create_OCL_Enum_Literal_Exp --
1124   ---------------------------------
1125
1126   function Create_OCL_Enum_Literal_Exp return AMF.Internals.AMF_Element is
1127      Self : AMF.Internals.AMF_Element;
1128
1129   begin
1130      OCL_Element_Table.Increment_Last;
1131      Self := OCL_Element_Table.Last;
1132
1133      OCL_Element_Table.Table (Self).all :=
1134       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Enum_Literal_Exp,
1135        Extent   => 0,
1136        Proxy    =>
1137          new AMF.Internals.OCL_Enum_Literal_Exps.OCL_Enum_Literal_Exp_Proxy'(Element => Self),
1138        Member   =>
1139         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1140          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1141                       --  name
1142          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1143                       --  nameExpression
1144          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1145                       --  namespace
1146          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1147                       --  owner
1148          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1149                       --  qualifiedName
1150          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1151                       --  referredEnumLiteral
1152          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1153                       --  type
1154          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
1155                       --  visibility
1156          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1157      OCL_Element_Table.Table (Self).Member (0) :=
1158       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1159        AMF.Internals.Element_Collections.Allocate_Collections (32));
1160
1161      --  clientDependency
1162
1163      AMF.Internals.Element_Collections.Initialize_Set_Collection
1164       (Self,
1165        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1166        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1167
1168      --  ownedComment
1169
1170      AMF.Internals.Element_Collections.Initialize_Set_Collection
1171       (Self,
1172        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1173        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1174
1175      --  ownedElement
1176
1177      AMF.Internals.Element_Collections.Initialize_Set_Collection
1178       (Self,
1179        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1180        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1181
1182      return Self;
1183   end Create_OCL_Enum_Literal_Exp;
1184
1185   ----------------------------------
1186   -- Create_OCL_Expression_In_Ocl --
1187   ----------------------------------
1188
1189   function Create_OCL_Expression_In_Ocl return AMF.Internals.AMF_Element is
1190      Self : AMF.Internals.AMF_Element;
1191
1192   begin
1193      OCL_Element_Table.Increment_Last;
1194      Self := OCL_Element_Table.Last;
1195
1196      OCL_Element_Table.Table (Self).all :=
1197       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Expression_In_Ocl,
1198        Extent   => 0,
1199        Proxy    =>
1200          new AMF.Internals.OCL_Expression_In_Ocls.OCL_Expression_In_Ocl_Proxy'(Element => Self),
1201        Member   =>
1202         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1203          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1204                       --  behavior
1205          11     => (AMF.Internals.Tables.OCL_Types.M_Collection_Of_String, 0),
1206                       --  body
1207          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1208                       --  bodyExpression
1209          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1210                       --  contextVariable
1211          17     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1212                       --  generatedType
1213          12     => (AMF.Internals.Tables.OCL_Types.M_Collection_Of_String, 0),
1214                       --  language
1215          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1216                       --  name
1217          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1218                       --  nameExpression
1219          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1220                       --  namespace
1221          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1222                       --  owner
1223          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1224                       --  owningTemplateParameter
1225          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1226                       --  qualifiedName
1227          13     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1228                       --  result
1229          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1230                       --  resultVariable
1231          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1232                       --  templateParameter
1233          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1234                       --  type
1235          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
1236                       --  visibility
1237          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1238      OCL_Element_Table.Table (Self).Member (0) :=
1239       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1240        AMF.Internals.Element_Collections.Allocate_Collections (32));
1241
1242      --  clientDependency
1243
1244      AMF.Internals.Element_Collections.Initialize_Set_Collection
1245       (Self,
1246        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1247        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1248
1249      --  ownedComment
1250
1251      AMF.Internals.Element_Collections.Initialize_Set_Collection
1252       (Self,
1253        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1254        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1255
1256      --  ownedElement
1257
1258      AMF.Internals.Element_Collections.Initialize_Set_Collection
1259       (Self,
1260        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1261        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1262
1263      --  parameterVariable
1264
1265      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
1266       (Self,
1267        AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Expression_In_Ocl_Parameter_Variable_A_Var_Owner,
1268        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
1269
1270      return Self;
1271   end Create_OCL_Expression_In_Ocl;
1272
1273   -----------------------
1274   -- Create_OCL_If_Exp --
1275   -----------------------
1276
1277   function Create_OCL_If_Exp return AMF.Internals.AMF_Element is
1278      Self : AMF.Internals.AMF_Element;
1279
1280   begin
1281      OCL_Element_Table.Increment_Last;
1282      Self := OCL_Element_Table.Last;
1283
1284      OCL_Element_Table.Table (Self).all :=
1285       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_If_Exp,
1286        Extent   => 0,
1287        Proxy    =>
1288          new AMF.Internals.OCL_If_Exps.OCL_If_Exp_Proxy'(Element => Self),
1289        Member   =>
1290         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1291          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1292                       --  condition
1293          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1294                       --  elseExpression
1295          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1296                       --  name
1297          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1298                       --  nameExpression
1299          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1300                       --  namespace
1301          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1302                       --  owner
1303          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1304                       --  qualifiedName
1305          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1306                       --  thenExpression
1307          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1308                       --  type
1309          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
1310                       --  visibility
1311          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1312      OCL_Element_Table.Table (Self).Member (0) :=
1313       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1314        AMF.Internals.Element_Collections.Allocate_Collections (32));
1315
1316      --  clientDependency
1317
1318      AMF.Internals.Element_Collections.Initialize_Set_Collection
1319       (Self,
1320        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1321        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1322
1323      --  ownedComment
1324
1325      AMF.Internals.Element_Collections.Initialize_Set_Collection
1326       (Self,
1327        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1328        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1329
1330      --  ownedElement
1331
1332      AMF.Internals.Element_Collections.Initialize_Set_Collection
1333       (Self,
1334        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1335        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1336
1337      return Self;
1338   end Create_OCL_If_Exp;
1339
1340   ------------------------------------
1341   -- Create_OCL_Integer_Literal_Exp --
1342   ------------------------------------
1343
1344   function Create_OCL_Integer_Literal_Exp return AMF.Internals.AMF_Element is
1345      Self : AMF.Internals.AMF_Element;
1346
1347   begin
1348      OCL_Element_Table.Increment_Last;
1349      Self := OCL_Element_Table.Last;
1350
1351      OCL_Element_Table.Table (Self).all :=
1352       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Integer_Literal_Exp,
1353        Extent   => 0,
1354        Proxy    =>
1355          new AMF.Internals.OCL_Integer_Literal_Exps.OCL_Integer_Literal_Exp_Proxy'(Element => Self),
1356        Member   =>
1357         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1358          8      => (AMF.Internals.Tables.OCL_Types.M_Integer, 0),
1359                       --  integerSymbol
1360          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1361                       --  name
1362          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1363                       --  nameExpression
1364          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1365                       --  namespace
1366          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1367                       --  owner
1368          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1369                       --  qualifiedName
1370          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1371                       --  type
1372          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
1373                       --  visibility
1374          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1375      OCL_Element_Table.Table (Self).Member (0) :=
1376       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1377        AMF.Internals.Element_Collections.Allocate_Collections (32));
1378
1379      --  clientDependency
1380
1381      AMF.Internals.Element_Collections.Initialize_Set_Collection
1382       (Self,
1383        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1384        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1385
1386      --  ownedComment
1387
1388      AMF.Internals.Element_Collections.Initialize_Set_Collection
1389       (Self,
1390        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1391        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1392
1393      --  ownedElement
1394
1395      AMF.Internals.Element_Collections.Initialize_Set_Collection
1396       (Self,
1397        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1398        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1399
1400      return Self;
1401   end Create_OCL_Integer_Literal_Exp;
1402
1403   ------------------------------------
1404   -- Create_OCL_Invalid_Literal_Exp --
1405   ------------------------------------
1406
1407   function Create_OCL_Invalid_Literal_Exp return AMF.Internals.AMF_Element is
1408      Self : AMF.Internals.AMF_Element;
1409
1410   begin
1411      OCL_Element_Table.Increment_Last;
1412      Self := OCL_Element_Table.Last;
1413
1414      OCL_Element_Table.Table (Self).all :=
1415       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Literal_Exp,
1416        Extent   => 0,
1417        Proxy    =>
1418          new AMF.Internals.OCL_Invalid_Literal_Exps.OCL_Invalid_Literal_Exp_Proxy'(Element => Self),
1419        Member   =>
1420         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1421          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1422                       --  name
1423          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1424                       --  nameExpression
1425          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1426                       --  namespace
1427          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1428                       --  owner
1429          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1430                       --  qualifiedName
1431          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1432                       --  type
1433          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
1434                       --  visibility
1435          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1436      OCL_Element_Table.Table (Self).Member (0) :=
1437       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1438        AMF.Internals.Element_Collections.Allocate_Collections (32));
1439
1440      --  clientDependency
1441
1442      AMF.Internals.Element_Collections.Initialize_Set_Collection
1443       (Self,
1444        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1445        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1446
1447      --  ownedComment
1448
1449      AMF.Internals.Element_Collections.Initialize_Set_Collection
1450       (Self,
1451        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1452        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1453
1454      --  ownedElement
1455
1456      AMF.Internals.Element_Collections.Initialize_Set_Collection
1457       (Self,
1458        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1459        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1460
1461      return Self;
1462   end Create_OCL_Invalid_Literal_Exp;
1463
1464   -----------------------------
1465   -- Create_OCL_Invalid_Type --
1466   -----------------------------
1467
1468   function Create_OCL_Invalid_Type return AMF.Internals.AMF_Element is
1469      Self : AMF.Internals.AMF_Element;
1470
1471   begin
1472      OCL_Element_Table.Increment_Last;
1473      Self := OCL_Element_Table.Last;
1474
1475      OCL_Element_Table.Table (Self).all :=
1476       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Invalid_Type,
1477        Extent   => 0,
1478        Proxy    =>
1479          new AMF.Internals.OCL_Invalid_Types.OCL_Invalid_Type_Proxy'(Element => Self),
1480        Member   =>
1481         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1482          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
1483                       --  isAbstract
1484          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
1485                       --  isFinalSpecialization
1486          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
1487                       --  isLeaf
1488          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1489                       --  name
1490          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1491                       --  nameExpression
1492          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1493                       --  namespace
1494          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1495                       --  ownedTemplateSignature
1496          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1497                       --  ownedTemplateSignature
1498          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1499                       --  owner
1500          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1501                       --  owningTemplateParameter
1502          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1503                       --  package
1504          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1505                       --  qualifiedName
1506          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1507                       --  representation
1508          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1509                       --  templateParameter
1510          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1511                       --  templateParameter
1512          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
1513                       --  visibility
1514          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1515      OCL_Element_Table.Table (Self).Member (0) :=
1516       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1517        AMF.Internals.Element_Collections.Allocate_Collections (32));
1518
1519      --  attribute
1520
1521      AMF.Internals.Element_Collections.Initialize_Set_Collection
1522       (Self,
1523        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
1524        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
1525
1526      --  clientDependency
1527
1528      AMF.Internals.Element_Collections.Initialize_Set_Collection
1529       (Self,
1530        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1531        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1532
1533      --  collaborationUse
1534
1535      AMF.Internals.Element_Collections.Initialize_Set_Collection
1536       (Self,
1537        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
1538        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
1539
1540      --  elementImport
1541
1542      AMF.Internals.Element_Collections.Initialize_Set_Collection
1543       (Self,
1544        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
1545        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
1546
1547      --  feature
1548
1549      AMF.Internals.Element_Collections.Initialize_Set_Collection
1550       (Self,
1551        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
1552        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
1553
1554      --  general
1555
1556      AMF.Internals.Element_Collections.Initialize_Set_Collection
1557       (Self,
1558        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
1559        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
1560
1561      --  generalization
1562
1563      AMF.Internals.Element_Collections.Initialize_Set_Collection
1564       (Self,
1565        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
1566        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
1567
1568      --  importedMember
1569
1570      AMF.Internals.Element_Collections.Initialize_Set_Collection
1571       (Self,
1572        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
1573        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
1574
1575      --  inheritedMember
1576
1577      AMF.Internals.Element_Collections.Initialize_Set_Collection
1578       (Self,
1579        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
1580        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
1581
1582      --  member
1583
1584      AMF.Internals.Element_Collections.Initialize_Set_Collection
1585       (Self,
1586        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
1587        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
1588
1589      --  ownedComment
1590
1591      AMF.Internals.Element_Collections.Initialize_Set_Collection
1592       (Self,
1593        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1594        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1595
1596      --  ownedElement
1597
1598      AMF.Internals.Element_Collections.Initialize_Set_Collection
1599       (Self,
1600        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1601        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1602
1603      --  ownedMember
1604
1605      AMF.Internals.Element_Collections.Initialize_Set_Collection
1606       (Self,
1607        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
1608        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
1609
1610      --  ownedRule
1611
1612      AMF.Internals.Element_Collections.Initialize_Set_Collection
1613       (Self,
1614        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
1615        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
1616
1617      --  ownedUseCase
1618
1619      AMF.Internals.Element_Collections.Initialize_Set_Collection
1620       (Self,
1621        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
1622        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
1623
1624      --  packageImport
1625
1626      AMF.Internals.Element_Collections.Initialize_Set_Collection
1627       (Self,
1628        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
1629        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
1630
1631      --  powertypeExtent
1632
1633      AMF.Internals.Element_Collections.Initialize_Set_Collection
1634       (Self,
1635        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
1636        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
1637
1638      --  redefinedClassifier
1639
1640      AMF.Internals.Element_Collections.Initialize_Set_Collection
1641       (Self,
1642        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
1643        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
1644
1645      --  redefinedElement
1646
1647      AMF.Internals.Element_Collections.Initialize_Set_Collection
1648       (Self,
1649        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
1650        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
1651
1652      --  redefinitionContext
1653
1654      AMF.Internals.Element_Collections.Initialize_Set_Collection
1655       (Self,
1656        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
1657        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
1658
1659      --  substitution
1660
1661      AMF.Internals.Element_Collections.Initialize_Set_Collection
1662       (Self,
1663        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
1664        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
1665
1666      --  templateBinding
1667
1668      AMF.Internals.Element_Collections.Initialize_Set_Collection
1669       (Self,
1670        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
1671        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
1672
1673      --  useCase
1674
1675      AMF.Internals.Element_Collections.Initialize_Set_Collection
1676       (Self,
1677        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
1678        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
1679
1680      return Self;
1681   end Create_OCL_Invalid_Type;
1682
1683   ----------------------------
1684   -- Create_OCL_Iterate_Exp --
1685   ----------------------------
1686
1687   function Create_OCL_Iterate_Exp return AMF.Internals.AMF_Element is
1688      Self : AMF.Internals.AMF_Element;
1689
1690   begin
1691      OCL_Element_Table.Increment_Last;
1692      Self := OCL_Element_Table.Last;
1693
1694      OCL_Element_Table.Table (Self).all :=
1695       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Iterate_Exp,
1696        Extent   => 0,
1697        Proxy    =>
1698          new AMF.Internals.OCL_Iterate_Exps.OCL_Iterate_Exp_Proxy'(Element => Self),
1699        Member   =>
1700         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1701          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1702                       --  body
1703          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1704                       --  name
1705          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1706                       --  nameExpression
1707          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1708                       --  namespace
1709          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1710                       --  owner
1711          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1712                       --  qualifiedName
1713          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1714                       --  result
1715          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1716                       --  source
1717          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1718                       --  type
1719          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
1720                       --  visibility
1721          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1722      OCL_Element_Table.Table (Self).Member (0) :=
1723       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1724        AMF.Internals.Element_Collections.Allocate_Collections (32));
1725
1726      --  clientDependency
1727
1728      AMF.Internals.Element_Collections.Initialize_Set_Collection
1729       (Self,
1730        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1731        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1732
1733      --  iterator
1734
1735      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
1736       (Self,
1737        AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Loop_Exp_Iterator_A_Loop_Exp,
1738        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
1739
1740      --  ownedComment
1741
1742      AMF.Internals.Element_Collections.Initialize_Set_Collection
1743       (Self,
1744        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1745        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1746
1747      --  ownedElement
1748
1749      AMF.Internals.Element_Collections.Initialize_Set_Collection
1750       (Self,
1751        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1752        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1753
1754      return Self;
1755   end Create_OCL_Iterate_Exp;
1756
1757   -----------------------------
1758   -- Create_OCL_Iterator_Exp --
1759   -----------------------------
1760
1761   function Create_OCL_Iterator_Exp return AMF.Internals.AMF_Element is
1762      Self : AMF.Internals.AMF_Element;
1763
1764   begin
1765      OCL_Element_Table.Increment_Last;
1766      Self := OCL_Element_Table.Last;
1767
1768      OCL_Element_Table.Table (Self).all :=
1769       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Iterator_Exp,
1770        Extent   => 0,
1771        Proxy    =>
1772          new AMF.Internals.OCL_Iterator_Exps.OCL_Iterator_Exp_Proxy'(Element => Self),
1773        Member   =>
1774         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1775          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1776                       --  body
1777          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1778                       --  name
1779          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1780                       --  nameExpression
1781          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1782                       --  namespace
1783          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1784                       --  owner
1785          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1786                       --  qualifiedName
1787          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1788                       --  source
1789          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1790                       --  type
1791          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
1792                       --  visibility
1793          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1794      OCL_Element_Table.Table (Self).Member (0) :=
1795       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1796        AMF.Internals.Element_Collections.Allocate_Collections (32));
1797
1798      --  clientDependency
1799
1800      AMF.Internals.Element_Collections.Initialize_Set_Collection
1801       (Self,
1802        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1803        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1804
1805      --  iterator
1806
1807      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
1808       (Self,
1809        AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Loop_Exp_Iterator_A_Loop_Exp,
1810        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
1811
1812      --  ownedComment
1813
1814      AMF.Internals.Element_Collections.Initialize_Set_Collection
1815       (Self,
1816        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1817        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1818
1819      --  ownedElement
1820
1821      AMF.Internals.Element_Collections.Initialize_Set_Collection
1822       (Self,
1823        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1824        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1825
1826      return Self;
1827   end Create_OCL_Iterator_Exp;
1828
1829   ------------------------
1830   -- Create_OCL_Let_Exp --
1831   ------------------------
1832
1833   function Create_OCL_Let_Exp return AMF.Internals.AMF_Element is
1834      Self : AMF.Internals.AMF_Element;
1835
1836   begin
1837      OCL_Element_Table.Increment_Last;
1838      Self := OCL_Element_Table.Last;
1839
1840      OCL_Element_Table.Table (Self).all :=
1841       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Let_Exp,
1842        Extent   => 0,
1843        Proxy    =>
1844          new AMF.Internals.OCL_Let_Exps.OCL_Let_Exp_Proxy'(Element => Self),
1845        Member   =>
1846         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1847          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1848                       --  in
1849          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1850                       --  name
1851          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1852                       --  nameExpression
1853          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1854                       --  namespace
1855          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1856                       --  owner
1857          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1858                       --  qualifiedName
1859          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1860                       --  type
1861          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1862                       --  variable
1863          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
1864                       --  visibility
1865          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1866      OCL_Element_Table.Table (Self).Member (0) :=
1867       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1868        AMF.Internals.Element_Collections.Allocate_Collections (32));
1869
1870      --  clientDependency
1871
1872      AMF.Internals.Element_Collections.Initialize_Set_Collection
1873       (Self,
1874        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1875        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1876
1877      --  ownedComment
1878
1879      AMF.Internals.Element_Collections.Initialize_Set_Collection
1880       (Self,
1881        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1882        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1883
1884      --  ownedElement
1885
1886      AMF.Internals.Element_Collections.Initialize_Set_Collection
1887       (Self,
1888        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1889        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1890
1891      return Self;
1892   end Create_OCL_Let_Exp;
1893
1894   ----------------------------
1895   -- Create_OCL_Message_Exp --
1896   ----------------------------
1897
1898   function Create_OCL_Message_Exp return AMF.Internals.AMF_Element is
1899      Self : AMF.Internals.AMF_Element;
1900
1901   begin
1902      OCL_Element_Table.Increment_Last;
1903      Self := OCL_Element_Table.Last;
1904
1905      OCL_Element_Table.Table (Self).all :=
1906       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Message_Exp,
1907        Extent   => 0,
1908        Proxy    =>
1909          new AMF.Internals.OCL_Message_Exps.OCL_Message_Exp_Proxy'(Element => Self),
1910        Member   =>
1911         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1912          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1913                       --  calledOperation
1914          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1915                       --  name
1916          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1917                       --  nameExpression
1918          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1919                       --  namespace
1920          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1921                       --  owner
1922          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1923                       --  qualifiedName
1924          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1925                       --  sentSignal
1926          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1927                       --  target
1928          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1929                       --  type
1930          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
1931                       --  visibility
1932          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
1933      OCL_Element_Table.Table (Self).Member (0) :=
1934       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
1935        AMF.Internals.Element_Collections.Allocate_Collections (32));
1936
1937      --  argument
1938
1939      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
1940       (Self,
1941        AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Message_Exp_Argument_A_Exp2,
1942        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
1943
1944      --  clientDependency
1945
1946      AMF.Internals.Element_Collections.Initialize_Set_Collection
1947       (Self,
1948        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
1949        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
1950
1951      --  ownedComment
1952
1953      AMF.Internals.Element_Collections.Initialize_Set_Collection
1954       (Self,
1955        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
1956        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
1957
1958      --  ownedElement
1959
1960      AMF.Internals.Element_Collections.Initialize_Set_Collection
1961       (Self,
1962        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
1963        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
1964
1965      return Self;
1966   end Create_OCL_Message_Exp;
1967
1968   -----------------------------
1969   -- Create_OCL_Message_Type --
1970   -----------------------------
1971
1972   function Create_OCL_Message_Type return AMF.Internals.AMF_Element is
1973      Self : AMF.Internals.AMF_Element;
1974
1975   begin
1976      OCL_Element_Table.Increment_Last;
1977      Self := OCL_Element_Table.Last;
1978
1979      OCL_Element_Table.Table (Self).all :=
1980       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Message_Type,
1981        Extent   => 0,
1982        Proxy    =>
1983          new AMF.Internals.OCL_Message_Types.OCL_Message_Type_Proxy'(Element => Self),
1984        Member   =>
1985         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
1986          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
1987                       --  isAbstract
1988          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
1989                       --  isFinalSpecialization
1990          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
1991                       --  isLeaf
1992          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
1993                       --  name
1994          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1995                       --  nameExpression
1996          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1997                       --  namespace
1998          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
1999                       --  ownedTemplateSignature
2000          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2001                       --  ownedTemplateSignature
2002          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2003                       --  owner
2004          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2005                       --  owningTemplateParameter
2006          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2007                       --  package
2008          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2009                       --  qualifiedName
2010          18     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2011                       --  referredOperation
2012          17     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2013                       --  referredSignal
2014          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2015                       --  representation
2016          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2017                       --  templateParameter
2018          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2019                       --  templateParameter
2020          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
2021                       --  visibility
2022          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
2023      OCL_Element_Table.Table (Self).Member (0) :=
2024       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
2025        AMF.Internals.Element_Collections.Allocate_Collections (32));
2026
2027      --  attribute
2028
2029      AMF.Internals.Element_Collections.Initialize_Set_Collection
2030       (Self,
2031        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
2032        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
2033
2034      --  clientDependency
2035
2036      AMF.Internals.Element_Collections.Initialize_Set_Collection
2037       (Self,
2038        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
2039        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
2040
2041      --  collaborationUse
2042
2043      AMF.Internals.Element_Collections.Initialize_Set_Collection
2044       (Self,
2045        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
2046        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
2047
2048      --  elementImport
2049
2050      AMF.Internals.Element_Collections.Initialize_Set_Collection
2051       (Self,
2052        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
2053        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
2054
2055      --  feature
2056
2057      AMF.Internals.Element_Collections.Initialize_Set_Collection
2058       (Self,
2059        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
2060        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
2061
2062      --  general
2063
2064      AMF.Internals.Element_Collections.Initialize_Set_Collection
2065       (Self,
2066        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
2067        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
2068
2069      --  generalization
2070
2071      AMF.Internals.Element_Collections.Initialize_Set_Collection
2072       (Self,
2073        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
2074        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
2075
2076      --  importedMember
2077
2078      AMF.Internals.Element_Collections.Initialize_Set_Collection
2079       (Self,
2080        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
2081        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
2082
2083      --  inheritedMember
2084
2085      AMF.Internals.Element_Collections.Initialize_Set_Collection
2086       (Self,
2087        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
2088        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
2089
2090      --  member
2091
2092      AMF.Internals.Element_Collections.Initialize_Set_Collection
2093       (Self,
2094        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
2095        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
2096
2097      --  ownedComment
2098
2099      AMF.Internals.Element_Collections.Initialize_Set_Collection
2100       (Self,
2101        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
2102        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
2103
2104      --  ownedElement
2105
2106      AMF.Internals.Element_Collections.Initialize_Set_Collection
2107       (Self,
2108        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
2109        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
2110
2111      --  ownedMember
2112
2113      AMF.Internals.Element_Collections.Initialize_Set_Collection
2114       (Self,
2115        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
2116        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
2117
2118      --  ownedRule
2119
2120      AMF.Internals.Element_Collections.Initialize_Set_Collection
2121       (Self,
2122        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
2123        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
2124
2125      --  ownedUseCase
2126
2127      AMF.Internals.Element_Collections.Initialize_Set_Collection
2128       (Self,
2129        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
2130        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
2131
2132      --  packageImport
2133
2134      AMF.Internals.Element_Collections.Initialize_Set_Collection
2135       (Self,
2136        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
2137        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
2138
2139      --  powertypeExtent
2140
2141      AMF.Internals.Element_Collections.Initialize_Set_Collection
2142       (Self,
2143        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
2144        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
2145
2146      --  redefinedClassifier
2147
2148      AMF.Internals.Element_Collections.Initialize_Set_Collection
2149       (Self,
2150        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
2151        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
2152
2153      --  redefinedElement
2154
2155      AMF.Internals.Element_Collections.Initialize_Set_Collection
2156       (Self,
2157        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
2158        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
2159
2160      --  redefinitionContext
2161
2162      AMF.Internals.Element_Collections.Initialize_Set_Collection
2163       (Self,
2164        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
2165        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
2166
2167      --  substitution
2168
2169      AMF.Internals.Element_Collections.Initialize_Set_Collection
2170       (Self,
2171        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
2172        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
2173
2174      --  templateBinding
2175
2176      AMF.Internals.Element_Collections.Initialize_Set_Collection
2177       (Self,
2178        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
2179        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
2180
2181      --  useCase
2182
2183      AMF.Internals.Element_Collections.Initialize_Set_Collection
2184       (Self,
2185        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
2186        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
2187
2188      return Self;
2189   end Create_OCL_Message_Type;
2190
2191   ---------------------------------
2192   -- Create_OCL_Null_Literal_Exp --
2193   ---------------------------------
2194
2195   function Create_OCL_Null_Literal_Exp return AMF.Internals.AMF_Element is
2196      Self : AMF.Internals.AMF_Element;
2197
2198   begin
2199      OCL_Element_Table.Increment_Last;
2200      Self := OCL_Element_Table.Last;
2201
2202      OCL_Element_Table.Table (Self).all :=
2203       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Null_Literal_Exp,
2204        Extent   => 0,
2205        Proxy    =>
2206          new AMF.Internals.OCL_Null_Literal_Exps.OCL_Null_Literal_Exp_Proxy'(Element => Self),
2207        Member   =>
2208         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
2209          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2210                       --  name
2211          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2212                       --  nameExpression
2213          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2214                       --  namespace
2215          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2216                       --  owner
2217          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2218                       --  qualifiedName
2219          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2220                       --  type
2221          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
2222                       --  visibility
2223          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
2224      OCL_Element_Table.Table (Self).Member (0) :=
2225       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
2226        AMF.Internals.Element_Collections.Allocate_Collections (32));
2227
2228      --  clientDependency
2229
2230      AMF.Internals.Element_Collections.Initialize_Set_Collection
2231       (Self,
2232        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
2233        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
2234
2235      --  ownedComment
2236
2237      AMF.Internals.Element_Collections.Initialize_Set_Collection
2238       (Self,
2239        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
2240        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
2241
2242      --  ownedElement
2243
2244      AMF.Internals.Element_Collections.Initialize_Set_Collection
2245       (Self,
2246        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
2247        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
2248
2249      return Self;
2250   end Create_OCL_Null_Literal_Exp;
2251
2252   -----------------------------------
2253   -- Create_OCL_Operation_Call_Exp --
2254   -----------------------------------
2255
2256   function Create_OCL_Operation_Call_Exp return AMF.Internals.AMF_Element is
2257      Self : AMF.Internals.AMF_Element;
2258
2259   begin
2260      OCL_Element_Table.Increment_Last;
2261      Self := OCL_Element_Table.Last;
2262
2263      OCL_Element_Table.Table (Self).all :=
2264       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Operation_Call_Exp,
2265        Extent   => 0,
2266        Proxy    =>
2267          new AMF.Internals.OCL_Operation_Call_Exps.OCL_Operation_Call_Exp_Proxy'(Element => Self),
2268        Member   =>
2269         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
2270          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2271                       --  name
2272          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2273                       --  nameExpression
2274          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2275                       --  namespace
2276          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2277                       --  owner
2278          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2279                       --  qualifiedName
2280          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2281                       --  referredOperation
2282          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2283                       --  source
2284          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2285                       --  type
2286          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
2287                       --  visibility
2288          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
2289      OCL_Element_Table.Table (Self).Member (0) :=
2290       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
2291        AMF.Internals.Element_Collections.Allocate_Collections (32));
2292
2293      --  argument
2294
2295      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
2296       (Self,
2297        AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Operation_Call_Exp_Argument_A_Parent_Call,
2298        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
2299
2300      --  clientDependency
2301
2302      AMF.Internals.Element_Collections.Initialize_Set_Collection
2303       (Self,
2304        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
2305        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
2306
2307      --  ownedComment
2308
2309      AMF.Internals.Element_Collections.Initialize_Set_Collection
2310       (Self,
2311        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
2312        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
2313
2314      --  ownedElement
2315
2316      AMF.Internals.Element_Collections.Initialize_Set_Collection
2317       (Self,
2318        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
2319        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
2320
2321      return Self;
2322   end Create_OCL_Operation_Call_Exp;
2323
2324   ---------------------------------
2325   -- Create_OCL_Ordered_Set_Type --
2326   ---------------------------------
2327
2328   function Create_OCL_Ordered_Set_Type return AMF.Internals.AMF_Element is
2329      Self : AMF.Internals.AMF_Element;
2330
2331   begin
2332      OCL_Element_Table.Increment_Last;
2333      Self := OCL_Element_Table.Last;
2334
2335      OCL_Element_Table.Table (Self).all :=
2336       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Ordered_Set_Type,
2337        Extent   => 0,
2338        Proxy    =>
2339          new AMF.Internals.OCL_Ordered_Set_Types.OCL_Ordered_Set_Type_Proxy'(Element => Self),
2340        Member   =>
2341         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
2342          17     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2343                       --  elementType
2344          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
2345                       --  isAbstract
2346          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
2347                       --  isFinalSpecialization
2348          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
2349                       --  isLeaf
2350          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2351                       --  name
2352          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2353                       --  nameExpression
2354          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2355                       --  namespace
2356          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2357                       --  ownedTemplateSignature
2358          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2359                       --  ownedTemplateSignature
2360          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2361                       --  owner
2362          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2363                       --  owningTemplateParameter
2364          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2365                       --  package
2366          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2367                       --  qualifiedName
2368          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2369                       --  representation
2370          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2371                       --  templateParameter
2372          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2373                       --  templateParameter
2374          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
2375                       --  visibility
2376          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
2377      OCL_Element_Table.Table (Self).Member (0) :=
2378       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
2379        AMF.Internals.Element_Collections.Allocate_Collections (32));
2380
2381      --  attribute
2382
2383      AMF.Internals.Element_Collections.Initialize_Set_Collection
2384       (Self,
2385        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
2386        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
2387
2388      --  clientDependency
2389
2390      AMF.Internals.Element_Collections.Initialize_Set_Collection
2391       (Self,
2392        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
2393        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
2394
2395      --  collaborationUse
2396
2397      AMF.Internals.Element_Collections.Initialize_Set_Collection
2398       (Self,
2399        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
2400        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
2401
2402      --  elementImport
2403
2404      AMF.Internals.Element_Collections.Initialize_Set_Collection
2405       (Self,
2406        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
2407        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
2408
2409      --  feature
2410
2411      AMF.Internals.Element_Collections.Initialize_Set_Collection
2412       (Self,
2413        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
2414        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
2415
2416      --  general
2417
2418      AMF.Internals.Element_Collections.Initialize_Set_Collection
2419       (Self,
2420        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
2421        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
2422
2423      --  generalization
2424
2425      AMF.Internals.Element_Collections.Initialize_Set_Collection
2426       (Self,
2427        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
2428        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
2429
2430      --  importedMember
2431
2432      AMF.Internals.Element_Collections.Initialize_Set_Collection
2433       (Self,
2434        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
2435        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
2436
2437      --  inheritedMember
2438
2439      AMF.Internals.Element_Collections.Initialize_Set_Collection
2440       (Self,
2441        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
2442        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
2443
2444      --  member
2445
2446      AMF.Internals.Element_Collections.Initialize_Set_Collection
2447       (Self,
2448        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
2449        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
2450
2451      --  ownedAttribute
2452
2453      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
2454       (Self,
2455        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Attribute_Property_Datatype,
2456        OCL_Element_Table.Table (Self).Member (0).Collection + 24);
2457
2458      --  ownedComment
2459
2460      AMF.Internals.Element_Collections.Initialize_Set_Collection
2461       (Self,
2462        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
2463        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
2464
2465      --  ownedElement
2466
2467      AMF.Internals.Element_Collections.Initialize_Set_Collection
2468       (Self,
2469        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
2470        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
2471
2472      --  ownedMember
2473
2474      AMF.Internals.Element_Collections.Initialize_Set_Collection
2475       (Self,
2476        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
2477        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
2478
2479      --  ownedOperation
2480
2481      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
2482       (Self,
2483        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Operation_Operation_Datatype,
2484        OCL_Element_Table.Table (Self).Member (0).Collection + 25);
2485
2486      --  ownedRule
2487
2488      AMF.Internals.Element_Collections.Initialize_Set_Collection
2489       (Self,
2490        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
2491        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
2492
2493      --  ownedUseCase
2494
2495      AMF.Internals.Element_Collections.Initialize_Set_Collection
2496       (Self,
2497        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
2498        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
2499
2500      --  packageImport
2501
2502      AMF.Internals.Element_Collections.Initialize_Set_Collection
2503       (Self,
2504        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
2505        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
2506
2507      --  powertypeExtent
2508
2509      AMF.Internals.Element_Collections.Initialize_Set_Collection
2510       (Self,
2511        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
2512        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
2513
2514      --  redefinedClassifier
2515
2516      AMF.Internals.Element_Collections.Initialize_Set_Collection
2517       (Self,
2518        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
2519        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
2520
2521      --  redefinedElement
2522
2523      AMF.Internals.Element_Collections.Initialize_Set_Collection
2524       (Self,
2525        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
2526        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
2527
2528      --  redefinitionContext
2529
2530      AMF.Internals.Element_Collections.Initialize_Set_Collection
2531       (Self,
2532        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
2533        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
2534
2535      --  substitution
2536
2537      AMF.Internals.Element_Collections.Initialize_Set_Collection
2538       (Self,
2539        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
2540        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
2541
2542      --  templateBinding
2543
2544      AMF.Internals.Element_Collections.Initialize_Set_Collection
2545       (Self,
2546        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
2547        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
2548
2549      --  useCase
2550
2551      AMF.Internals.Element_Collections.Initialize_Set_Collection
2552       (Self,
2553        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
2554        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
2555
2556      return Self;
2557   end Create_OCL_Ordered_Set_Type;
2558
2559   ----------------------------------
2560   -- Create_OCL_Property_Call_Exp --
2561   ----------------------------------
2562
2563   function Create_OCL_Property_Call_Exp return AMF.Internals.AMF_Element is
2564      Self : AMF.Internals.AMF_Element;
2565
2566   begin
2567      OCL_Element_Table.Increment_Last;
2568      Self := OCL_Element_Table.Last;
2569
2570      OCL_Element_Table.Table (Self).all :=
2571       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Property_Call_Exp,
2572        Extent   => 0,
2573        Proxy    =>
2574          new AMF.Internals.OCL_Property_Call_Exps.OCL_Property_Call_Exp_Proxy'(Element => Self),
2575        Member   =>
2576         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
2577          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2578                       --  name
2579          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2580                       --  nameExpression
2581          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2582                       --  namespace
2583          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2584                       --  navigationSource
2585          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2586                       --  owner
2587          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2588                       --  qualifiedName
2589          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2590                       --  referredProperty
2591          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2592                       --  source
2593          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2594                       --  type
2595          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
2596                       --  visibility
2597          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
2598      OCL_Element_Table.Table (Self).Member (0) :=
2599       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
2600        AMF.Internals.Element_Collections.Allocate_Collections (32));
2601
2602      --  clientDependency
2603
2604      AMF.Internals.Element_Collections.Initialize_Set_Collection
2605       (Self,
2606        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
2607        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
2608
2609      --  ownedComment
2610
2611      AMF.Internals.Element_Collections.Initialize_Set_Collection
2612       (Self,
2613        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
2614        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
2615
2616      --  ownedElement
2617
2618      AMF.Internals.Element_Collections.Initialize_Set_Collection
2619       (Self,
2620        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
2621        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
2622
2623      --  qualifier
2624
2625      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
2626       (Self,
2627        AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Navigation_Call_Exp_Qualifier_A_Parent_Nav,
2628        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
2629
2630      return Self;
2631   end Create_OCL_Property_Call_Exp;
2632
2633   ---------------------------------
2634   -- Create_OCL_Real_Literal_Exp --
2635   ---------------------------------
2636
2637   function Create_OCL_Real_Literal_Exp return AMF.Internals.AMF_Element is
2638      Self : AMF.Internals.AMF_Element;
2639
2640   begin
2641      OCL_Element_Table.Increment_Last;
2642      Self := OCL_Element_Table.Last;
2643
2644      OCL_Element_Table.Table (Self).all :=
2645       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Real_Literal_Exp,
2646        Extent   => 0,
2647        Proxy    =>
2648          new AMF.Internals.OCL_Real_Literal_Exps.OCL_Real_Literal_Exp_Proxy'(Element => Self),
2649        Member   =>
2650         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
2651          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2652                       --  name
2653          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2654                       --  nameExpression
2655          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2656                       --  namespace
2657          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2658                       --  owner
2659          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2660                       --  qualifiedName
2661          8      => (AMF.Internals.Tables.OCL_Types.M_Real, 0.0),
2662                       --  realSymbol
2663          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2664                       --  type
2665          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
2666                       --  visibility
2667          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
2668      OCL_Element_Table.Table (Self).Member (0) :=
2669       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
2670        AMF.Internals.Element_Collections.Allocate_Collections (32));
2671
2672      --  clientDependency
2673
2674      AMF.Internals.Element_Collections.Initialize_Set_Collection
2675       (Self,
2676        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
2677        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
2678
2679      --  ownedComment
2680
2681      AMF.Internals.Element_Collections.Initialize_Set_Collection
2682       (Self,
2683        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
2684        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
2685
2686      --  ownedElement
2687
2688      AMF.Internals.Element_Collections.Initialize_Set_Collection
2689       (Self,
2690        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
2691        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
2692
2693      return Self;
2694   end Create_OCL_Real_Literal_Exp;
2695
2696   ------------------------------
2697   -- Create_OCL_Sequence_Type --
2698   ------------------------------
2699
2700   function Create_OCL_Sequence_Type return AMF.Internals.AMF_Element is
2701      Self : AMF.Internals.AMF_Element;
2702
2703   begin
2704      OCL_Element_Table.Increment_Last;
2705      Self := OCL_Element_Table.Last;
2706
2707      OCL_Element_Table.Table (Self).all :=
2708       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Sequence_Type,
2709        Extent   => 0,
2710        Proxy    =>
2711          new AMF.Internals.OCL_Sequence_Types.OCL_Sequence_Type_Proxy'(Element => Self),
2712        Member   =>
2713         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
2714          17     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2715                       --  elementType
2716          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
2717                       --  isAbstract
2718          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
2719                       --  isFinalSpecialization
2720          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
2721                       --  isLeaf
2722          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2723                       --  name
2724          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2725                       --  nameExpression
2726          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2727                       --  namespace
2728          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2729                       --  ownedTemplateSignature
2730          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2731                       --  ownedTemplateSignature
2732          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2733                       --  owner
2734          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2735                       --  owningTemplateParameter
2736          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2737                       --  package
2738          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2739                       --  qualifiedName
2740          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2741                       --  representation
2742          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2743                       --  templateParameter
2744          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2745                       --  templateParameter
2746          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
2747                       --  visibility
2748          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
2749      OCL_Element_Table.Table (Self).Member (0) :=
2750       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
2751        AMF.Internals.Element_Collections.Allocate_Collections (32));
2752
2753      --  attribute
2754
2755      AMF.Internals.Element_Collections.Initialize_Set_Collection
2756       (Self,
2757        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
2758        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
2759
2760      --  clientDependency
2761
2762      AMF.Internals.Element_Collections.Initialize_Set_Collection
2763       (Self,
2764        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
2765        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
2766
2767      --  collaborationUse
2768
2769      AMF.Internals.Element_Collections.Initialize_Set_Collection
2770       (Self,
2771        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
2772        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
2773
2774      --  elementImport
2775
2776      AMF.Internals.Element_Collections.Initialize_Set_Collection
2777       (Self,
2778        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
2779        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
2780
2781      --  feature
2782
2783      AMF.Internals.Element_Collections.Initialize_Set_Collection
2784       (Self,
2785        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
2786        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
2787
2788      --  general
2789
2790      AMF.Internals.Element_Collections.Initialize_Set_Collection
2791       (Self,
2792        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
2793        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
2794
2795      --  generalization
2796
2797      AMF.Internals.Element_Collections.Initialize_Set_Collection
2798       (Self,
2799        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
2800        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
2801
2802      --  importedMember
2803
2804      AMF.Internals.Element_Collections.Initialize_Set_Collection
2805       (Self,
2806        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
2807        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
2808
2809      --  inheritedMember
2810
2811      AMF.Internals.Element_Collections.Initialize_Set_Collection
2812       (Self,
2813        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
2814        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
2815
2816      --  member
2817
2818      AMF.Internals.Element_Collections.Initialize_Set_Collection
2819       (Self,
2820        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
2821        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
2822
2823      --  ownedAttribute
2824
2825      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
2826       (Self,
2827        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Attribute_Property_Datatype,
2828        OCL_Element_Table.Table (Self).Member (0).Collection + 24);
2829
2830      --  ownedComment
2831
2832      AMF.Internals.Element_Collections.Initialize_Set_Collection
2833       (Self,
2834        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
2835        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
2836
2837      --  ownedElement
2838
2839      AMF.Internals.Element_Collections.Initialize_Set_Collection
2840       (Self,
2841        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
2842        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
2843
2844      --  ownedMember
2845
2846      AMF.Internals.Element_Collections.Initialize_Set_Collection
2847       (Self,
2848        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
2849        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
2850
2851      --  ownedOperation
2852
2853      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
2854       (Self,
2855        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Operation_Operation_Datatype,
2856        OCL_Element_Table.Table (Self).Member (0).Collection + 25);
2857
2858      --  ownedRule
2859
2860      AMF.Internals.Element_Collections.Initialize_Set_Collection
2861       (Self,
2862        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
2863        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
2864
2865      --  ownedUseCase
2866
2867      AMF.Internals.Element_Collections.Initialize_Set_Collection
2868       (Self,
2869        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
2870        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
2871
2872      --  packageImport
2873
2874      AMF.Internals.Element_Collections.Initialize_Set_Collection
2875       (Self,
2876        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
2877        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
2878
2879      --  powertypeExtent
2880
2881      AMF.Internals.Element_Collections.Initialize_Set_Collection
2882       (Self,
2883        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
2884        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
2885
2886      --  redefinedClassifier
2887
2888      AMF.Internals.Element_Collections.Initialize_Set_Collection
2889       (Self,
2890        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
2891        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
2892
2893      --  redefinedElement
2894
2895      AMF.Internals.Element_Collections.Initialize_Set_Collection
2896       (Self,
2897        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
2898        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
2899
2900      --  redefinitionContext
2901
2902      AMF.Internals.Element_Collections.Initialize_Set_Collection
2903       (Self,
2904        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
2905        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
2906
2907      --  substitution
2908
2909      AMF.Internals.Element_Collections.Initialize_Set_Collection
2910       (Self,
2911        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
2912        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
2913
2914      --  templateBinding
2915
2916      AMF.Internals.Element_Collections.Initialize_Set_Collection
2917       (Self,
2918        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
2919        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
2920
2921      --  useCase
2922
2923      AMF.Internals.Element_Collections.Initialize_Set_Collection
2924       (Self,
2925        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
2926        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
2927
2928      return Self;
2929   end Create_OCL_Sequence_Type;
2930
2931   -------------------------
2932   -- Create_OCL_Set_Type --
2933   -------------------------
2934
2935   function Create_OCL_Set_Type return AMF.Internals.AMF_Element is
2936      Self : AMF.Internals.AMF_Element;
2937
2938   begin
2939      OCL_Element_Table.Increment_Last;
2940      Self := OCL_Element_Table.Last;
2941
2942      OCL_Element_Table.Table (Self).all :=
2943       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Set_Type,
2944        Extent   => 0,
2945        Proxy    =>
2946          new AMF.Internals.OCL_Set_Types.OCL_Set_Type_Proxy'(Element => Self),
2947        Member   =>
2948         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
2949          17     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2950                       --  elementType
2951          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
2952                       --  isAbstract
2953          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
2954                       --  isFinalSpecialization
2955          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
2956                       --  isLeaf
2957          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2958                       --  name
2959          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2960                       --  nameExpression
2961          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2962                       --  namespace
2963          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2964                       --  ownedTemplateSignature
2965          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2966                       --  ownedTemplateSignature
2967          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2968                       --  owner
2969          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2970                       --  owningTemplateParameter
2971          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2972                       --  package
2973          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
2974                       --  qualifiedName
2975          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2976                       --  representation
2977          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2978                       --  templateParameter
2979          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
2980                       --  templateParameter
2981          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
2982                       --  visibility
2983          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
2984      OCL_Element_Table.Table (Self).Member (0) :=
2985       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
2986        AMF.Internals.Element_Collections.Allocate_Collections (32));
2987
2988      --  attribute
2989
2990      AMF.Internals.Element_Collections.Initialize_Set_Collection
2991       (Self,
2992        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
2993        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
2994
2995      --  clientDependency
2996
2997      AMF.Internals.Element_Collections.Initialize_Set_Collection
2998       (Self,
2999        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
3000        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
3001
3002      --  collaborationUse
3003
3004      AMF.Internals.Element_Collections.Initialize_Set_Collection
3005       (Self,
3006        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
3007        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
3008
3009      --  elementImport
3010
3011      AMF.Internals.Element_Collections.Initialize_Set_Collection
3012       (Self,
3013        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
3014        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
3015
3016      --  feature
3017
3018      AMF.Internals.Element_Collections.Initialize_Set_Collection
3019       (Self,
3020        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
3021        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
3022
3023      --  general
3024
3025      AMF.Internals.Element_Collections.Initialize_Set_Collection
3026       (Self,
3027        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
3028        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
3029
3030      --  generalization
3031
3032      AMF.Internals.Element_Collections.Initialize_Set_Collection
3033       (Self,
3034        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
3035        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
3036
3037      --  importedMember
3038
3039      AMF.Internals.Element_Collections.Initialize_Set_Collection
3040       (Self,
3041        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
3042        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
3043
3044      --  inheritedMember
3045
3046      AMF.Internals.Element_Collections.Initialize_Set_Collection
3047       (Self,
3048        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
3049        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
3050
3051      --  member
3052
3053      AMF.Internals.Element_Collections.Initialize_Set_Collection
3054       (Self,
3055        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
3056        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
3057
3058      --  ownedAttribute
3059
3060      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
3061       (Self,
3062        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Attribute_Property_Datatype,
3063        OCL_Element_Table.Table (Self).Member (0).Collection + 24);
3064
3065      --  ownedComment
3066
3067      AMF.Internals.Element_Collections.Initialize_Set_Collection
3068       (Self,
3069        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
3070        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
3071
3072      --  ownedElement
3073
3074      AMF.Internals.Element_Collections.Initialize_Set_Collection
3075       (Self,
3076        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
3077        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
3078
3079      --  ownedMember
3080
3081      AMF.Internals.Element_Collections.Initialize_Set_Collection
3082       (Self,
3083        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
3084        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
3085
3086      --  ownedOperation
3087
3088      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
3089       (Self,
3090        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Operation_Operation_Datatype,
3091        OCL_Element_Table.Table (Self).Member (0).Collection + 25);
3092
3093      --  ownedRule
3094
3095      AMF.Internals.Element_Collections.Initialize_Set_Collection
3096       (Self,
3097        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
3098        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
3099
3100      --  ownedUseCase
3101
3102      AMF.Internals.Element_Collections.Initialize_Set_Collection
3103       (Self,
3104        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
3105        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
3106
3107      --  packageImport
3108
3109      AMF.Internals.Element_Collections.Initialize_Set_Collection
3110       (Self,
3111        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
3112        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
3113
3114      --  powertypeExtent
3115
3116      AMF.Internals.Element_Collections.Initialize_Set_Collection
3117       (Self,
3118        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
3119        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
3120
3121      --  redefinedClassifier
3122
3123      AMF.Internals.Element_Collections.Initialize_Set_Collection
3124       (Self,
3125        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
3126        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
3127
3128      --  redefinedElement
3129
3130      AMF.Internals.Element_Collections.Initialize_Set_Collection
3131       (Self,
3132        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
3133        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
3134
3135      --  redefinitionContext
3136
3137      AMF.Internals.Element_Collections.Initialize_Set_Collection
3138       (Self,
3139        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
3140        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
3141
3142      --  substitution
3143
3144      AMF.Internals.Element_Collections.Initialize_Set_Collection
3145       (Self,
3146        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
3147        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
3148
3149      --  templateBinding
3150
3151      AMF.Internals.Element_Collections.Initialize_Set_Collection
3152       (Self,
3153        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
3154        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
3155
3156      --  useCase
3157
3158      AMF.Internals.Element_Collections.Initialize_Set_Collection
3159       (Self,
3160        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
3161        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
3162
3163      return Self;
3164   end Create_OCL_Set_Type;
3165
3166   --------------------------
3167   -- Create_OCL_State_Exp --
3168   --------------------------
3169
3170   function Create_OCL_State_Exp return AMF.Internals.AMF_Element is
3171      Self : AMF.Internals.AMF_Element;
3172
3173   begin
3174      OCL_Element_Table.Increment_Last;
3175      Self := OCL_Element_Table.Last;
3176
3177      OCL_Element_Table.Table (Self).all :=
3178       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_State_Exp,
3179        Extent   => 0,
3180        Proxy    =>
3181          new AMF.Internals.OCL_State_Exps.OCL_State_Exp_Proxy'(Element => Self),
3182        Member   =>
3183         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
3184          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3185                       --  name
3186          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3187                       --  nameExpression
3188          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3189                       --  namespace
3190          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3191                       --  owner
3192          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3193                       --  qualifiedName
3194          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3195                       --  referredState
3196          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3197                       --  type
3198          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
3199                       --  visibility
3200          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
3201      OCL_Element_Table.Table (Self).Member (0) :=
3202       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
3203        AMF.Internals.Element_Collections.Allocate_Collections (32));
3204
3205      --  clientDependency
3206
3207      AMF.Internals.Element_Collections.Initialize_Set_Collection
3208       (Self,
3209        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
3210        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
3211
3212      --  ownedComment
3213
3214      AMF.Internals.Element_Collections.Initialize_Set_Collection
3215       (Self,
3216        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
3217        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
3218
3219      --  ownedElement
3220
3221      AMF.Internals.Element_Collections.Initialize_Set_Collection
3222       (Self,
3223        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
3224        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
3225
3226      return Self;
3227   end Create_OCL_State_Exp;
3228
3229   -----------------------------------
3230   -- Create_OCL_String_Literal_Exp --
3231   -----------------------------------
3232
3233   function Create_OCL_String_Literal_Exp return AMF.Internals.AMF_Element is
3234      Self : AMF.Internals.AMF_Element;
3235
3236   begin
3237      OCL_Element_Table.Increment_Last;
3238      Self := OCL_Element_Table.Last;
3239
3240      OCL_Element_Table.Table (Self).all :=
3241       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_String_Literal_Exp,
3242        Extent   => 0,
3243        Proxy    =>
3244          new AMF.Internals.OCL_String_Literal_Exps.OCL_String_Literal_Exp_Proxy'(Element => Self),
3245        Member   =>
3246         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
3247          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3248                       --  name
3249          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3250                       --  nameExpression
3251          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3252                       --  namespace
3253          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3254                       --  owner
3255          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3256                       --  qualifiedName
3257          8      => (AMF.Internals.Tables.OCL_Types.M_String, Matreshka.Internals.Strings.Shared_Empty'Access),
3258                       --  stringSymbol
3259          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3260                       --  type
3261          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
3262                       --  visibility
3263          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
3264      OCL_Element_Table.Table (Self).Member (0) :=
3265       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
3266        AMF.Internals.Element_Collections.Allocate_Collections (32));
3267
3268      --  clientDependency
3269
3270      AMF.Internals.Element_Collections.Initialize_Set_Collection
3271       (Self,
3272        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
3273        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
3274
3275      --  ownedComment
3276
3277      AMF.Internals.Element_Collections.Initialize_Set_Collection
3278       (Self,
3279        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
3280        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
3281
3282      --  ownedElement
3283
3284      AMF.Internals.Element_Collections.Initialize_Set_Collection
3285       (Self,
3286        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
3287        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
3288
3289      return Self;
3290   end Create_OCL_String_Literal_Exp;
3291
3292   ----------------------------------------
3293   -- Create_OCL_Template_Parameter_Type --
3294   ----------------------------------------
3295
3296   function Create_OCL_Template_Parameter_Type return AMF.Internals.AMF_Element is
3297      Self : AMF.Internals.AMF_Element;
3298
3299   begin
3300      OCL_Element_Table.Increment_Last;
3301      Self := OCL_Element_Table.Last;
3302
3303      OCL_Element_Table.Table (Self).all :=
3304       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Template_Parameter_Type,
3305        Extent   => 0,
3306        Proxy    =>
3307          new AMF.Internals.OCL_Template_Parameter_Types.OCL_Template_Parameter_Type_Proxy'(Element => Self),
3308        Member   =>
3309         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
3310          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
3311                       --  isAbstract
3312          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
3313                       --  isFinalSpecialization
3314          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
3315                       --  isLeaf
3316          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3317                       --  name
3318          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3319                       --  nameExpression
3320          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3321                       --  namespace
3322          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3323                       --  ownedTemplateSignature
3324          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3325                       --  ownedTemplateSignature
3326          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3327                       --  owner
3328          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3329                       --  owningTemplateParameter
3330          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3331                       --  package
3332          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3333                       --  qualifiedName
3334          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3335                       --  representation
3336          17     => (AMF.Internals.Tables.OCL_Types.M_String, null),
3337                       --  specification
3338          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3339                       --  templateParameter
3340          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3341                       --  templateParameter
3342          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
3343                       --  visibility
3344          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
3345      OCL_Element_Table.Table (Self).Member (0) :=
3346       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
3347        AMF.Internals.Element_Collections.Allocate_Collections (32));
3348
3349      --  attribute
3350
3351      AMF.Internals.Element_Collections.Initialize_Set_Collection
3352       (Self,
3353        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
3354        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
3355
3356      --  clientDependency
3357
3358      AMF.Internals.Element_Collections.Initialize_Set_Collection
3359       (Self,
3360        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
3361        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
3362
3363      --  collaborationUse
3364
3365      AMF.Internals.Element_Collections.Initialize_Set_Collection
3366       (Self,
3367        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
3368        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
3369
3370      --  elementImport
3371
3372      AMF.Internals.Element_Collections.Initialize_Set_Collection
3373       (Self,
3374        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
3375        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
3376
3377      --  feature
3378
3379      AMF.Internals.Element_Collections.Initialize_Set_Collection
3380       (Self,
3381        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
3382        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
3383
3384      --  general
3385
3386      AMF.Internals.Element_Collections.Initialize_Set_Collection
3387       (Self,
3388        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
3389        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
3390
3391      --  generalization
3392
3393      AMF.Internals.Element_Collections.Initialize_Set_Collection
3394       (Self,
3395        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
3396        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
3397
3398      --  importedMember
3399
3400      AMF.Internals.Element_Collections.Initialize_Set_Collection
3401       (Self,
3402        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
3403        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
3404
3405      --  inheritedMember
3406
3407      AMF.Internals.Element_Collections.Initialize_Set_Collection
3408       (Self,
3409        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
3410        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
3411
3412      --  member
3413
3414      AMF.Internals.Element_Collections.Initialize_Set_Collection
3415       (Self,
3416        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
3417        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
3418
3419      --  ownedComment
3420
3421      AMF.Internals.Element_Collections.Initialize_Set_Collection
3422       (Self,
3423        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
3424        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
3425
3426      --  ownedElement
3427
3428      AMF.Internals.Element_Collections.Initialize_Set_Collection
3429       (Self,
3430        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
3431        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
3432
3433      --  ownedMember
3434
3435      AMF.Internals.Element_Collections.Initialize_Set_Collection
3436       (Self,
3437        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
3438        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
3439
3440      --  ownedRule
3441
3442      AMF.Internals.Element_Collections.Initialize_Set_Collection
3443       (Self,
3444        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
3445        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
3446
3447      --  ownedUseCase
3448
3449      AMF.Internals.Element_Collections.Initialize_Set_Collection
3450       (Self,
3451        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
3452        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
3453
3454      --  packageImport
3455
3456      AMF.Internals.Element_Collections.Initialize_Set_Collection
3457       (Self,
3458        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
3459        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
3460
3461      --  powertypeExtent
3462
3463      AMF.Internals.Element_Collections.Initialize_Set_Collection
3464       (Self,
3465        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
3466        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
3467
3468      --  redefinedClassifier
3469
3470      AMF.Internals.Element_Collections.Initialize_Set_Collection
3471       (Self,
3472        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
3473        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
3474
3475      --  redefinedElement
3476
3477      AMF.Internals.Element_Collections.Initialize_Set_Collection
3478       (Self,
3479        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
3480        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
3481
3482      --  redefinitionContext
3483
3484      AMF.Internals.Element_Collections.Initialize_Set_Collection
3485       (Self,
3486        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
3487        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
3488
3489      --  substitution
3490
3491      AMF.Internals.Element_Collections.Initialize_Set_Collection
3492       (Self,
3493        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
3494        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
3495
3496      --  templateBinding
3497
3498      AMF.Internals.Element_Collections.Initialize_Set_Collection
3499       (Self,
3500        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
3501        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
3502
3503      --  useCase
3504
3505      AMF.Internals.Element_Collections.Initialize_Set_Collection
3506       (Self,
3507        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
3508        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
3509
3510      return Self;
3511   end Create_OCL_Template_Parameter_Type;
3512
3513   ----------------------------------
3514   -- Create_OCL_Tuple_Literal_Exp --
3515   ----------------------------------
3516
3517   function Create_OCL_Tuple_Literal_Exp return AMF.Internals.AMF_Element is
3518      Self : AMF.Internals.AMF_Element;
3519
3520   begin
3521      OCL_Element_Table.Increment_Last;
3522      Self := OCL_Element_Table.Last;
3523
3524      OCL_Element_Table.Table (Self).all :=
3525       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Exp,
3526        Extent   => 0,
3527        Proxy    =>
3528          new AMF.Internals.OCL_Tuple_Literal_Exps.OCL_Tuple_Literal_Exp_Proxy'(Element => Self),
3529        Member   =>
3530         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
3531          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3532                       --  name
3533          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3534                       --  nameExpression
3535          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3536                       --  namespace
3537          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3538                       --  owner
3539          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3540                       --  qualifiedName
3541          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3542                       --  type
3543          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
3544                       --  visibility
3545          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
3546      OCL_Element_Table.Table (Self).Member (0) :=
3547       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
3548        AMF.Internals.Element_Collections.Allocate_Collections (32));
3549
3550      --  clientDependency
3551
3552      AMF.Internals.Element_Collections.Initialize_Set_Collection
3553       (Self,
3554        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
3555        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
3556
3557      --  ownedComment
3558
3559      AMF.Internals.Element_Collections.Initialize_Set_Collection
3560       (Self,
3561        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
3562        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
3563
3564      --  ownedElement
3565
3566      AMF.Internals.Element_Collections.Initialize_Set_Collection
3567       (Self,
3568        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
3569        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
3570
3571      --  part
3572
3573      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
3574       (Self,
3575        AMF.Internals.Tables.OCL_Metamodel.MP_OCL_Tuple_Literal_Exp_Part_A_Exp3,
3576        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
3577
3578      return Self;
3579   end Create_OCL_Tuple_Literal_Exp;
3580
3581   -----------------------------------
3582   -- Create_OCL_Tuple_Literal_Part --
3583   -----------------------------------
3584
3585   function Create_OCL_Tuple_Literal_Part return AMF.Internals.AMF_Element is
3586      Self : AMF.Internals.AMF_Element;
3587
3588   begin
3589      OCL_Element_Table.Increment_Last;
3590      Self := OCL_Element_Table.Last;
3591
3592      OCL_Element_Table.Table (Self).all :=
3593       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Literal_Part,
3594        Extent   => 0,
3595        Proxy    =>
3596          new AMF.Internals.OCL_Tuple_Literal_Parts.OCL_Tuple_Literal_Part_Proxy'(Element => Self),
3597        Member   =>
3598         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
3599          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3600                       --  attribute
3601          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3602                       --  name
3603          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3604                       --  nameExpression
3605          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3606                       --  namespace
3607          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3608                       --  owner
3609          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3610                       --  qualifiedName
3611          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3612                       --  type
3613          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
3614                       --  visibility
3615          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
3616      OCL_Element_Table.Table (Self).Member (0) :=
3617       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
3618        AMF.Internals.Element_Collections.Allocate_Collections (32));
3619
3620      --  clientDependency
3621
3622      AMF.Internals.Element_Collections.Initialize_Set_Collection
3623       (Self,
3624        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
3625        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
3626
3627      --  ownedComment
3628
3629      AMF.Internals.Element_Collections.Initialize_Set_Collection
3630       (Self,
3631        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
3632        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
3633
3634      --  ownedElement
3635
3636      AMF.Internals.Element_Collections.Initialize_Set_Collection
3637       (Self,
3638        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
3639        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
3640
3641      return Self;
3642   end Create_OCL_Tuple_Literal_Part;
3643
3644   ---------------------------
3645   -- Create_OCL_Tuple_Type --
3646   ---------------------------
3647
3648   function Create_OCL_Tuple_Type return AMF.Internals.AMF_Element is
3649      Self : AMF.Internals.AMF_Element;
3650
3651   begin
3652      OCL_Element_Table.Increment_Last;
3653      Self := OCL_Element_Table.Last;
3654
3655      OCL_Element_Table.Table (Self).all :=
3656       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Tuple_Type,
3657        Extent   => 0,
3658        Proxy    =>
3659          new AMF.Internals.OCL_Tuple_Types.OCL_Tuple_Type_Proxy'(Element => Self),
3660        Member   =>
3661         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
3662          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
3663                       --  isAbstract
3664          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
3665                       --  isFinalSpecialization
3666          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
3667                       --  isLeaf
3668          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3669                       --  name
3670          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3671                       --  nameExpression
3672          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3673                       --  namespace
3674          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3675                       --  ownedTemplateSignature
3676          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3677                       --  ownedTemplateSignature
3678          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3679                       --  owner
3680          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3681                       --  owningTemplateParameter
3682          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3683                       --  package
3684          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3685                       --  qualifiedName
3686          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3687                       --  representation
3688          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3689                       --  templateParameter
3690          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3691                       --  templateParameter
3692          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
3693                       --  visibility
3694          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
3695      OCL_Element_Table.Table (Self).Member (0) :=
3696       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
3697        AMF.Internals.Element_Collections.Allocate_Collections (32));
3698
3699      --  attribute
3700
3701      AMF.Internals.Element_Collections.Initialize_Set_Collection
3702       (Self,
3703        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
3704        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
3705
3706      --  clientDependency
3707
3708      AMF.Internals.Element_Collections.Initialize_Set_Collection
3709       (Self,
3710        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
3711        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
3712
3713      --  collaborationUse
3714
3715      AMF.Internals.Element_Collections.Initialize_Set_Collection
3716       (Self,
3717        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
3718        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
3719
3720      --  elementImport
3721
3722      AMF.Internals.Element_Collections.Initialize_Set_Collection
3723       (Self,
3724        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
3725        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
3726
3727      --  feature
3728
3729      AMF.Internals.Element_Collections.Initialize_Set_Collection
3730       (Self,
3731        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
3732        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
3733
3734      --  general
3735
3736      AMF.Internals.Element_Collections.Initialize_Set_Collection
3737       (Self,
3738        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
3739        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
3740
3741      --  generalization
3742
3743      AMF.Internals.Element_Collections.Initialize_Set_Collection
3744       (Self,
3745        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
3746        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
3747
3748      --  importedMember
3749
3750      AMF.Internals.Element_Collections.Initialize_Set_Collection
3751       (Self,
3752        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
3753        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
3754
3755      --  inheritedMember
3756
3757      AMF.Internals.Element_Collections.Initialize_Set_Collection
3758       (Self,
3759        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
3760        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
3761
3762      --  member
3763
3764      AMF.Internals.Element_Collections.Initialize_Set_Collection
3765       (Self,
3766        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
3767        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
3768
3769      --  ownedAttribute
3770
3771      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
3772       (Self,
3773        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Attribute_Property_Datatype,
3774        OCL_Element_Table.Table (Self).Member (0).Collection + 24);
3775
3776      --  ownedComment
3777
3778      AMF.Internals.Element_Collections.Initialize_Set_Collection
3779       (Self,
3780        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
3781        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
3782
3783      --  ownedElement
3784
3785      AMF.Internals.Element_Collections.Initialize_Set_Collection
3786       (Self,
3787        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
3788        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
3789
3790      --  ownedMember
3791
3792      AMF.Internals.Element_Collections.Initialize_Set_Collection
3793       (Self,
3794        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
3795        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
3796
3797      --  ownedOperation
3798
3799      AMF.Internals.Element_Collections.Initialize_Ordered_Set_Collection
3800       (Self,
3801        AMF.Internals.Tables.UML_Metamodel.MP_UML_Data_Type_Owned_Operation_Operation_Datatype,
3802        OCL_Element_Table.Table (Self).Member (0).Collection + 25);
3803
3804      --  ownedRule
3805
3806      AMF.Internals.Element_Collections.Initialize_Set_Collection
3807       (Self,
3808        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
3809        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
3810
3811      --  ownedUseCase
3812
3813      AMF.Internals.Element_Collections.Initialize_Set_Collection
3814       (Self,
3815        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
3816        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
3817
3818      --  packageImport
3819
3820      AMF.Internals.Element_Collections.Initialize_Set_Collection
3821       (Self,
3822        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
3823        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
3824
3825      --  powertypeExtent
3826
3827      AMF.Internals.Element_Collections.Initialize_Set_Collection
3828       (Self,
3829        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
3830        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
3831
3832      --  redefinedClassifier
3833
3834      AMF.Internals.Element_Collections.Initialize_Set_Collection
3835       (Self,
3836        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
3837        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
3838
3839      --  redefinedElement
3840
3841      AMF.Internals.Element_Collections.Initialize_Set_Collection
3842       (Self,
3843        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
3844        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
3845
3846      --  redefinitionContext
3847
3848      AMF.Internals.Element_Collections.Initialize_Set_Collection
3849       (Self,
3850        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
3851        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
3852
3853      --  substitution
3854
3855      AMF.Internals.Element_Collections.Initialize_Set_Collection
3856       (Self,
3857        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
3858        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
3859
3860      --  templateBinding
3861
3862      AMF.Internals.Element_Collections.Initialize_Set_Collection
3863       (Self,
3864        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
3865        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
3866
3867      --  useCase
3868
3869      AMF.Internals.Element_Collections.Initialize_Set_Collection
3870       (Self,
3871        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
3872        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
3873
3874      return Self;
3875   end Create_OCL_Tuple_Type;
3876
3877   -------------------------
3878   -- Create_OCL_Type_Exp --
3879   -------------------------
3880
3881   function Create_OCL_Type_Exp return AMF.Internals.AMF_Element is
3882      Self : AMF.Internals.AMF_Element;
3883
3884   begin
3885      OCL_Element_Table.Increment_Last;
3886      Self := OCL_Element_Table.Last;
3887
3888      OCL_Element_Table.Table (Self).all :=
3889       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Type_Exp,
3890        Extent   => 0,
3891        Proxy    =>
3892          new AMF.Internals.OCL_Type_Exps.OCL_Type_Exp_Proxy'(Element => Self),
3893        Member   =>
3894         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
3895          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3896                       --  name
3897          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3898                       --  nameExpression
3899          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3900                       --  namespace
3901          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3902                       --  owner
3903          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3904                       --  qualifiedName
3905          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3906                       --  referredType
3907          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3908                       --  type
3909          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
3910                       --  visibility
3911          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
3912      OCL_Element_Table.Table (Self).Member (0) :=
3913       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
3914        AMF.Internals.Element_Collections.Allocate_Collections (32));
3915
3916      --  clientDependency
3917
3918      AMF.Internals.Element_Collections.Initialize_Set_Collection
3919       (Self,
3920        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
3921        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
3922
3923      --  ownedComment
3924
3925      AMF.Internals.Element_Collections.Initialize_Set_Collection
3926       (Self,
3927        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
3928        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
3929
3930      --  ownedElement
3931
3932      AMF.Internals.Element_Collections.Initialize_Set_Collection
3933       (Self,
3934        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
3935        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
3936
3937      return Self;
3938   end Create_OCL_Type_Exp;
3939
3940   ----------------------------------------------
3941   -- Create_OCL_Unlimited_Natural_Literal_Exp --
3942   ----------------------------------------------
3943
3944   function Create_OCL_Unlimited_Natural_Literal_Exp return AMF.Internals.AMF_Element is
3945      Self : AMF.Internals.AMF_Element;
3946
3947   begin
3948      OCL_Element_Table.Increment_Last;
3949      Self := OCL_Element_Table.Last;
3950
3951      OCL_Element_Table.Table (Self).all :=
3952       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Unlimited_Natural_Literal_Exp,
3953        Extent   => 0,
3954        Proxy    =>
3955          new AMF.Internals.OCL_Unlimited_Natural_Literal_Exps.OCL_Unlimited_Natural_Literal_Exp_Proxy'(Element => Self),
3956        Member   =>
3957         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
3958          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3959                       --  name
3960          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3961                       --  nameExpression
3962          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3963                       --  namespace
3964          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3965                       --  owner
3966          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
3967                       --  qualifiedName
3968          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
3969                       --  type
3970          8      => (AMF.Internals.Tables.OCL_Types.M_Unlimited_Natural, (False, 0)),
3971                       --  unlimitedNaturalSymbol
3972          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
3973                       --  visibility
3974          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
3975      OCL_Element_Table.Table (Self).Member (0) :=
3976       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
3977        AMF.Internals.Element_Collections.Allocate_Collections (32));
3978
3979      --  clientDependency
3980
3981      AMF.Internals.Element_Collections.Initialize_Set_Collection
3982       (Self,
3983        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
3984        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
3985
3986      --  ownedComment
3987
3988      AMF.Internals.Element_Collections.Initialize_Set_Collection
3989       (Self,
3990        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
3991        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
3992
3993      --  ownedElement
3994
3995      AMF.Internals.Element_Collections.Initialize_Set_Collection
3996       (Self,
3997        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
3998        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
3999
4000      return Self;
4001   end Create_OCL_Unlimited_Natural_Literal_Exp;
4002
4003   --------------------------------------
4004   -- Create_OCL_Unspecified_Value_Exp --
4005   --------------------------------------
4006
4007   function Create_OCL_Unspecified_Value_Exp return AMF.Internals.AMF_Element is
4008      Self : AMF.Internals.AMF_Element;
4009
4010   begin
4011      OCL_Element_Table.Increment_Last;
4012      Self := OCL_Element_Table.Last;
4013
4014      OCL_Element_Table.Table (Self).all :=
4015       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Unspecified_Value_Exp,
4016        Extent   => 0,
4017        Proxy    =>
4018          new AMF.Internals.OCL_Unspecified_Value_Exps.OCL_Unspecified_Value_Exp_Proxy'(Element => Self),
4019        Member   =>
4020         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
4021          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
4022                       --  name
4023          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4024                       --  nameExpression
4025          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4026                       --  namespace
4027          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4028                       --  owner
4029          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
4030                       --  qualifiedName
4031          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4032                       --  type
4033          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
4034                       --  visibility
4035          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
4036      OCL_Element_Table.Table (Self).Member (0) :=
4037       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
4038        AMF.Internals.Element_Collections.Allocate_Collections (32));
4039
4040      --  clientDependency
4041
4042      AMF.Internals.Element_Collections.Initialize_Set_Collection
4043       (Self,
4044        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
4045        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
4046
4047      --  ownedComment
4048
4049      AMF.Internals.Element_Collections.Initialize_Set_Collection
4050       (Self,
4051        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
4052        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
4053
4054      --  ownedElement
4055
4056      AMF.Internals.Element_Collections.Initialize_Set_Collection
4057       (Self,
4058        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
4059        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
4060
4061      return Self;
4062   end Create_OCL_Unspecified_Value_Exp;
4063
4064   -------------------------
4065   -- Create_OCL_Variable --
4066   -------------------------
4067
4068   function Create_OCL_Variable return AMF.Internals.AMF_Element is
4069      Self : AMF.Internals.AMF_Element;
4070
4071   begin
4072      OCL_Element_Table.Increment_Last;
4073      Self := OCL_Element_Table.Last;
4074
4075      OCL_Element_Table.Table (Self).all :=
4076       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Variable,
4077        Extent   => 0,
4078        Proxy    =>
4079          new AMF.Internals.OCL_Variables.OCL_Variable_Proxy'(Element => Self),
4080        Member   =>
4081         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
4082          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4083                       --  initExpression
4084          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
4085                       --  name
4086          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4087                       --  nameExpression
4088          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4089                       --  namespace
4090          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4091                       --  owner
4092          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
4093                       --  qualifiedName
4094          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4095                       --  representedParameter
4096          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4097                       --  type
4098          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
4099                       --  visibility
4100          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
4101      OCL_Element_Table.Table (Self).Member (0) :=
4102       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
4103        AMF.Internals.Element_Collections.Allocate_Collections (32));
4104
4105      --  clientDependency
4106
4107      AMF.Internals.Element_Collections.Initialize_Set_Collection
4108       (Self,
4109        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
4110        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
4111
4112      --  ownedComment
4113
4114      AMF.Internals.Element_Collections.Initialize_Set_Collection
4115       (Self,
4116        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
4117        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
4118
4119      --  ownedElement
4120
4121      AMF.Internals.Element_Collections.Initialize_Set_Collection
4122       (Self,
4123        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
4124        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
4125
4126      return Self;
4127   end Create_OCL_Variable;
4128
4129   -----------------------------
4130   -- Create_OCL_Variable_Exp --
4131   -----------------------------
4132
4133   function Create_OCL_Variable_Exp return AMF.Internals.AMF_Element is
4134      Self : AMF.Internals.AMF_Element;
4135
4136   begin
4137      OCL_Element_Table.Increment_Last;
4138      Self := OCL_Element_Table.Last;
4139
4140      OCL_Element_Table.Table (Self).all :=
4141       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Variable_Exp,
4142        Extent   => 0,
4143        Proxy    =>
4144          new AMF.Internals.OCL_Variable_Exps.OCL_Variable_Exp_Proxy'(Element => Self),
4145        Member   =>
4146         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
4147          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
4148                       --  name
4149          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4150                       --  nameExpression
4151          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4152                       --  namespace
4153          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4154                       --  owner
4155          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
4156                       --  qualifiedName
4157          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4158                       --  referredVariable
4159          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4160                       --  type
4161          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (Is_Empty => True)),
4162                       --  visibility
4163          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
4164      OCL_Element_Table.Table (Self).Member (0) :=
4165       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
4166        AMF.Internals.Element_Collections.Allocate_Collections (32));
4167
4168      --  clientDependency
4169
4170      AMF.Internals.Element_Collections.Initialize_Set_Collection
4171       (Self,
4172        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
4173        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
4174
4175      --  ownedComment
4176
4177      AMF.Internals.Element_Collections.Initialize_Set_Collection
4178       (Self,
4179        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
4180        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
4181
4182      --  ownedElement
4183
4184      AMF.Internals.Element_Collections.Initialize_Set_Collection
4185       (Self,
4186        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
4187        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
4188
4189      return Self;
4190   end Create_OCL_Variable_Exp;
4191
4192   --------------------------
4193   -- Create_OCL_Void_Type --
4194   --------------------------
4195
4196   function Create_OCL_Void_Type return AMF.Internals.AMF_Element is
4197      Self : AMF.Internals.AMF_Element;
4198
4199   begin
4200      OCL_Element_Table.Increment_Last;
4201      Self := OCL_Element_Table.Last;
4202
4203      OCL_Element_Table.Table (Self).all :=
4204       (Kind     => AMF.Internals.Tables.OCL_Types.E_OCL_Void_Type,
4205        Extent   => 0,
4206        Proxy    =>
4207          new AMF.Internals.OCL_Void_Types.OCL_Void_Type_Proxy'(Element => Self),
4208        Member   =>
4209         (0      => (Kind => AMF.Internals.Tables.OCL_Types.M_None),
4210          12     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
4211                       --  isAbstract
4212          13     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
4213                       --  isFinalSpecialization
4214          11     => (AMF.Internals.Tables.OCL_Types.M_Boolean, False),
4215                       --  isLeaf
4216          2      => (AMF.Internals.Tables.OCL_Types.M_String, null),
4217                       --  name
4218          3      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4219                       --  nameExpression
4220          4      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4221                       --  namespace
4222          14     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4223                       --  ownedTemplateSignature
4224          10     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4225                       --  ownedTemplateSignature
4226          1      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4227                       --  owner
4228          8      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4229                       --  owningTemplateParameter
4230          7      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4231                       --  package
4232          5      => (AMF.Internals.Tables.OCL_Types.M_String, null),
4233                       --  qualifiedName
4234          15     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4235                       --  representation
4236          16     => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4237                       --  templateParameter
4238          9      => (AMF.Internals.Tables.OCL_Types.M_Element, No_AMF_Link),
4239                       --  templateParameter
4240          6      => (AMF.Internals.Tables.OCL_Types.M_Visibility_Kind_Holder, (False, AMF.UML.Public_Visibility)),
4241                       --  visibility
4242          others => (Kind => AMF.Internals.Tables.OCL_Types.M_None)));
4243      OCL_Element_Table.Table (Self).Member (0) :=
4244       (AMF.Internals.Tables.OCL_Types.M_Collection_Of_Element,
4245        AMF.Internals.Element_Collections.Allocate_Collections (32));
4246
4247      --  attribute
4248
4249      AMF.Internals.Element_Collections.Initialize_Set_Collection
4250       (Self,
4251        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Attribute_A_Classifier,
4252        OCL_Element_Table.Table (Self).Member (0).Collection + 13);
4253
4254      --  clientDependency
4255
4256      AMF.Internals.Element_Collections.Initialize_Set_Collection
4257       (Self,
4258        AMF.Internals.Tables.UML_Metamodel.MP_UML_Named_Element_Client_Dependency_Dependency_Client,
4259        OCL_Element_Table.Table (Self).Member (0).Collection + 3);
4260
4261      --  collaborationUse
4262
4263      AMF.Internals.Element_Collections.Initialize_Set_Collection
4264       (Self,
4265        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Collaboration_Use_A_Classifier,
4266        OCL_Element_Table.Table (Self).Member (0).Collection + 14);
4267
4268      --  elementImport
4269
4270      AMF.Internals.Element_Collections.Initialize_Set_Collection
4271       (Self,
4272        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Element_Import_Element_Import_Importing_Namespace,
4273        OCL_Element_Table.Table (Self).Member (0).Collection + 4);
4274
4275      --  feature
4276
4277      AMF.Internals.Element_Collections.Initialize_Set_Collection
4278       (Self,
4279        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Feature_Feature_Featuring_Classifier,
4280        OCL_Element_Table.Table (Self).Member (0).Collection + 15);
4281
4282      --  general
4283
4284      AMF.Internals.Element_Collections.Initialize_Set_Collection
4285       (Self,
4286        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_General_A_Classifier,
4287        OCL_Element_Table.Table (Self).Member (0).Collection + 16);
4288
4289      --  generalization
4290
4291      AMF.Internals.Element_Collections.Initialize_Set_Collection
4292       (Self,
4293        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Generalization_Generalization_Specific,
4294        OCL_Element_Table.Table (Self).Member (0).Collection + 17);
4295
4296      --  importedMember
4297
4298      AMF.Internals.Element_Collections.Initialize_Set_Collection
4299       (Self,
4300        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Imported_Member_A_Namespace,
4301        OCL_Element_Table.Table (Self).Member (0).Collection + 5);
4302
4303      --  inheritedMember
4304
4305      AMF.Internals.Element_Collections.Initialize_Set_Collection
4306       (Self,
4307        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Inherited_Member_A_Classifier,
4308        OCL_Element_Table.Table (Self).Member (0).Collection + 18);
4309
4310      --  member
4311
4312      AMF.Internals.Element_Collections.Initialize_Set_Collection
4313       (Self,
4314        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Member_A_Member_Namespace,
4315        OCL_Element_Table.Table (Self).Member (0).Collection + 6);
4316
4317      --  ownedComment
4318
4319      AMF.Internals.Element_Collections.Initialize_Set_Collection
4320       (Self,
4321        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Comment_A_Owning_Element,
4322        OCL_Element_Table.Table (Self).Member (0).Collection + 1);
4323
4324      --  ownedElement
4325
4326      AMF.Internals.Element_Collections.Initialize_Set_Collection
4327       (Self,
4328        AMF.Internals.Tables.UML_Metamodel.MP_UML_Element_Owned_Element_Element_Owner,
4329        OCL_Element_Table.Table (Self).Member (0).Collection + 2);
4330
4331      --  ownedMember
4332
4333      AMF.Internals.Element_Collections.Initialize_Set_Collection
4334       (Self,
4335        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Member_Named_Element_Namespace,
4336        OCL_Element_Table.Table (Self).Member (0).Collection + 7);
4337
4338      --  ownedRule
4339
4340      AMF.Internals.Element_Collections.Initialize_Set_Collection
4341       (Self,
4342        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Owned_Rule_Constraint_Context,
4343        OCL_Element_Table.Table (Self).Member (0).Collection + 8);
4344
4345      --  ownedUseCase
4346
4347      AMF.Internals.Element_Collections.Initialize_Set_Collection
4348       (Self,
4349        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Owned_Use_Case_A_Classifier,
4350        OCL_Element_Table.Table (Self).Member (0).Collection + 19);
4351
4352      --  packageImport
4353
4354      AMF.Internals.Element_Collections.Initialize_Set_Collection
4355       (Self,
4356        AMF.Internals.Tables.UML_Metamodel.MP_UML_Namespace_Package_Import_Package_Import_Importing_Namespace,
4357        OCL_Element_Table.Table (Self).Member (0).Collection + 9);
4358
4359      --  powertypeExtent
4360
4361      AMF.Internals.Element_Collections.Initialize_Set_Collection
4362       (Self,
4363        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Powertype_Extent_Generalization_Set_Powertype,
4364        OCL_Element_Table.Table (Self).Member (0).Collection + 20);
4365
4366      --  redefinedClassifier
4367
4368      AMF.Internals.Element_Collections.Initialize_Set_Collection
4369       (Self,
4370        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Redefined_Classifier_A_Classifier,
4371        OCL_Element_Table.Table (Self).Member (0).Collection + 21);
4372
4373      --  redefinedElement
4374
4375      AMF.Internals.Element_Collections.Initialize_Set_Collection
4376       (Self,
4377        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefined_Element_A_Redefinable_Element,
4378        OCL_Element_Table.Table (Self).Member (0).Collection + 11);
4379
4380      --  redefinitionContext
4381
4382      AMF.Internals.Element_Collections.Initialize_Set_Collection
4383       (Self,
4384        AMF.Internals.Tables.UML_Metamodel.MP_UML_Redefinable_Element_Redefinition_Context_A_Redefinable_Element,
4385        OCL_Element_Table.Table (Self).Member (0).Collection + 12);
4386
4387      --  substitution
4388
4389      AMF.Internals.Element_Collections.Initialize_Set_Collection
4390       (Self,
4391        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Substitution_Substitution_Substituting_Classifier,
4392        OCL_Element_Table.Table (Self).Member (0).Collection + 22);
4393
4394      --  templateBinding
4395
4396      AMF.Internals.Element_Collections.Initialize_Set_Collection
4397       (Self,
4398        AMF.Internals.Tables.UML_Metamodel.MP_UML_Templateable_Element_Template_Binding_Template_Binding_Bound_Element,
4399        OCL_Element_Table.Table (Self).Member (0).Collection + 10);
4400
4401      --  useCase
4402
4403      AMF.Internals.Element_Collections.Initialize_Set_Collection
4404       (Self,
4405        AMF.Internals.Tables.UML_Metamodel.MP_UML_Classifier_Use_Case_Use_Case_Subject,
4406        OCL_Element_Table.Table (Self).Member (0).Collection + 23);
4407
4408      return Self;
4409   end Create_OCL_Void_Type;
4410
4411end AMF.Internals.Tables.OCL_Constructors;
4412