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: 3646 $ $Date: 2013-01-07 22:05:34 +0400 (Mon, 07 Jan 2013) $ 43------------------------------------------------------------------------------ 44-- This file is generated, don't edit it. 45------------------------------------------------------------------------------ 46with AMF.Elements; 47with AMF.OCL; 48with AMF.UML; 49with Matreshka.Internals.Strings; 50 51package AMF.Internals.Tables.OCL_Types is 52 53 pragma Preelaborate; 54 55 type Element_Kinds is 56 (E_None, 57 E_OCL_Any_Type, 58 E_OCL_Association_Class_Call_Exp, 59 E_OCL_Bag_Type, 60 E_OCL_Boolean_Literal_Exp, 61 E_OCL_Collection_Item, 62 E_OCL_Collection_Literal_Exp, 63 E_OCL_Collection_Range, 64 E_OCL_Collection_Type, 65 E_OCL_Enum_Literal_Exp, 66 E_OCL_Expression_In_Ocl, 67 E_OCL_If_Exp, 68 E_OCL_Integer_Literal_Exp, 69 E_OCL_Invalid_Literal_Exp, 70 E_OCL_Invalid_Type, 71 E_OCL_Iterate_Exp, 72 E_OCL_Iterator_Exp, 73 E_OCL_Let_Exp, 74 E_OCL_Message_Exp, 75 E_OCL_Message_Type, 76 E_OCL_Null_Literal_Exp, 77 E_OCL_Operation_Call_Exp, 78 E_OCL_Ordered_Set_Type, 79 E_OCL_Property_Call_Exp, 80 E_OCL_Real_Literal_Exp, 81 E_OCL_Sequence_Type, 82 E_OCL_Set_Type, 83 E_OCL_State_Exp, 84 E_OCL_String_Literal_Exp, 85 E_OCL_Template_Parameter_Type, 86 E_OCL_Tuple_Literal_Exp, 87 E_OCL_Tuple_Literal_Part, 88 E_OCL_Tuple_Type, 89 E_OCL_Type_Exp, 90 E_OCL_Unlimited_Natural_Literal_Exp, 91 E_OCL_Unspecified_Value_Exp, 92 E_OCL_Variable, 93 E_OCL_Variable_Exp, 94 E_OCL_Void_Type); 95 96 type Member_Kinds is 97 (M_None, 98 M_Boolean, 99 M_Collection_Kind, 100 M_Collection_Of_Element, 101 M_Collection_Of_String, 102 M_Element, 103 M_Integer, 104 M_Real, 105 M_String, 106 M_Unlimited_Natural, 107 M_Visibility_Kind, 108 M_Visibility_Kind_Holder); 109 110 type Member_Record (Kind : Member_Kinds := M_None) is record 111 case Kind is 112 when M_None => 113 null; 114 115 when M_Boolean => 116 Boolean_Value : Boolean; 117 118 when M_Collection_Kind => 119 Collection_Kind_Value : AMF.OCL.OCL_Collection_Kind; 120 121 when M_Collection_Of_Element => 122 Collection : AMF.Internals.AMF_Collection_Of_Element; 123 124 when M_Collection_Of_String => 125 String_Collection : AMF.Internals.AMF_Collection_Of_String; 126 127 when M_Element => 128 Link : AMF.Internals.AMF_Link; 129 130 when M_Integer => 131 Integer_Value : Integer; 132 133 when M_Real => 134 Real_Value : AMF.Real; 135 136 when M_String => 137 String_Value : Matreshka.Internals.Strings.Shared_String_Access; 138 139 when M_Unlimited_Natural => 140 Unlimited_Natural_Value : AMF.Unlimited_Natural; 141 142 when M_Visibility_Kind => 143 Visibility_Kind_Value : AMF.UML.UML_Visibility_Kind; 144 145 when M_Visibility_Kind_Holder => 146 Visibility_Kind_Holder : AMF.UML.Optional_UML_Visibility_Kind; 147 end case; 148 end record; 149 150 type Member_Array is array (Natural range 0 .. 18) of Member_Record; 151 152 type Element_Record is record 153 Kind : Element_Kinds := E_None; 154 Extent : AMF.Internals.AMF_Extent; 155 Proxy : AMF.Elements.Element_Access; 156 Member : Member_Array; 157 end record; 158 159end AMF.Internals.Tables.OCL_Types; 160