1------------------------------------------------------------------------------ 2-- -- 3-- Matreshka Project -- 4-- -- 5-- Ada Modeling Framework -- 6-- -- 7-- Runtime Library Component -- 8-- -- 9------------------------------------------------------------------------------ 10-- -- 11-- Copyright © 2011-2012, Vadim Godunko <vgodunko@gmail.com> -- 12-- All rights reserved. -- 13-- -- 14-- Redistribution and use in source and binary forms, with or without -- 15-- modification, are permitted provided that the following conditions -- 16-- are met: -- 17-- -- 18-- * Redistributions of source code must retain the above copyright -- 19-- notice, this list of conditions and the following disclaimer. -- 20-- -- 21-- * Redistributions in binary form must reproduce the above copyright -- 22-- notice, this list of conditions and the following disclaimer in the -- 23-- documentation and/or other materials provided with the distribution. -- 24-- -- 25-- * Neither the name of the Vadim Godunko, IE nor the names of its -- 26-- contributors may be used to endorse or promote products derived from -- 27-- this software without specific prior written permission. -- 28-- -- 29-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -- 30-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -- 31-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -- 32-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -- 33-- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -- 34-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -- 35-- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -- 36-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -- 37-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -- 38-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -- 39-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- 40-- -- 41------------------------------------------------------------------------------ 42-- $Revision: 3400 $ $Date: 2012-11-13 10:48:36 +0400 (Tue, 13 Nov 2012) $ 43------------------------------------------------------------------------------ 44-- This package contains conversion subprograms from different subclasses of 45-- elements into holders. They are required to simplify generated code, 46-- otherwise creation of intermediate object should be done in reflections 47-- module. Most probably this package can be removed for Ada2020. 48------------------------------------------------------------------------------ 49with AMF.UML.Abstractions; 50with AMF.UML.Accept_Event_Actions; 51with AMF.UML.Actions; 52with AMF.UML.Activities; 53with AMF.UML.Activity_Groups; 54with AMF.UML.Activity_Nodes; 55with AMF.UML.Activity_Partitions; 56with AMF.UML.Artifacts; 57with AMF.UML.Association_Classes; 58with AMF.UML.Associations; 59with AMF.UML.Behaviored_Classifiers; 60with AMF.UML.Behavioral_Features; 61with AMF.UML.Behaviors; 62with AMF.UML.Call_Operation_Actions; 63with AMF.UML.Classifier_Template_Parameters; 64with AMF.UML.Classifiers; 65with AMF.UML.Classes; 66with AMF.UML.Collaboration_Uses; 67with AMF.UML.Collaborations; 68with AMF.UML.Combined_Fragments; 69with AMF.UML.Components; 70with AMF.UML.Connectable_Element_Template_Parameters; 71with AMF.UML.Connectable_Elements; 72with AMF.UML.Connectors; 73with AMF.UML.Constraints; 74with AMF.UML.Data_Types; 75with AMF.UML.Dependencies; 76with AMF.UML.Deployment_Targets; 77with AMF.UML.Deployments; 78with AMF.UML.Duration_Intervals; 79with AMF.UML.Durations; 80with AMF.UML.Elements; 81with AMF.UML.Enumeration_Literals; 82with AMF.UML.Enumerations; 83with AMF.UML.Events; 84with AMF.UML.Executable_Nodes; 85with AMF.UML.Execution_Specifications; 86with AMF.UML.Expansion_Regions; 87with AMF.UML.Extension_Ends; 88with AMF.UML.Input_Pins; 89with AMF.UML.Instance_Specifications; 90with AMF.UML.Interaction_Constraints; 91with AMF.UML.Interaction_Operands; 92with AMF.UML.Interactions; 93with AMF.UML.Interfaces; 94with AMF.UML.Interruptible_Activity_Regions; 95with AMF.UML.Intervals; 96with AMF.UML.Invocation_Actions; 97with AMF.UML.Lifelines; 98with AMF.UML.Literal_Specifications; 99with AMF.UML.Message_Ends; 100with AMF.UML.Messages; 101with AMF.UML.Models; 102with AMF.UML.Multiplicity_Elements; 103with AMF.UML.Named_Elements; 104with AMF.UML.Namespaces; 105with AMF.UML.Object_Flows; 106with AMF.UML.Object_Nodes; 107with AMF.UML.Occurrence_Specifications; 108with AMF.UML.Opaque_Actions; 109with AMF.UML.Opaque_Expressions; 110with AMF.UML.Operation_Template_Parameters; 111with AMF.UML.Operations; 112with AMF.UML.Output_Pins; 113with AMF.UML.Packageable_Elements; 114with AMF.UML.Packages; 115with AMF.UML.Parameterable_Elements; 116with AMF.UML.Parameters; 117with AMF.UML.Part_Decompositions; 118with AMF.UML.Ports; 119with AMF.UML.Profiles; 120with AMF.UML.Properties; 121with AMF.UML.Protocol_State_Machines; 122with AMF.UML.Read_Structural_Feature_Actions; 123with AMF.UML.Redefinable_Elements; 124with AMF.UML.Redefinable_Template_Signatures; 125with AMF.UML.Regions; 126with AMF.UML.Send_Object_Actions; 127with AMF.UML.Send_Signal_Actions; 128with AMF.UML.Signals; 129with AMF.UML.State_Machines; 130with AMF.UML.States; 131with AMF.UML.Stereotypes; 132with AMF.UML.String_Expressions; 133with AMF.UML.Structured_Activity_Nodes; 134with AMF.UML.Structured_Classifiers; 135with AMF.UML.Structural_Features; 136with AMF.UML.Template_Bindings; 137with AMF.UML.Template_Parameters; 138with AMF.UML.Template_Signatures; 139with AMF.UML.Templateable_Elements; 140with AMF.UML.Time_Events; 141with AMF.UML.Time_Expressions; 142with AMF.UML.Time_Intervals; 143with AMF.UML.Transitions; 144with AMF.UML.Triggers; 145with AMF.UML.Types; 146with AMF.UML.Usages; 147with AMF.UML.Use_Cases; 148with AMF.UML.Value_Specifications; 149with AMF.UML.Variables; 150with AMF.UML.Vertexs; 151with AMF.UML.Write_Structural_Feature_Actions; 152 153package AMF.Internals.Holders.UML_Holders is 154 155 function To_Holder 156 (Item : AMF.UML.Abstractions.UML_Abstraction_Access) 157 return League.Holders.Holder; 158 159 function To_Holder 160 (Item : AMF.UML.Accept_Event_Actions.UML_Accept_Event_Action_Access) 161 return League.Holders.Holder; 162 163 function To_Holder 164 (Item : AMF.UML.Actions.UML_Action_Access) 165 return League.Holders.Holder; 166 167 function To_Holder 168 (Item : AMF.UML.Activities.UML_Activity_Access) 169 return League.Holders.Holder; 170 171 function To_Holder 172 (Item : AMF.UML.Activity_Groups.UML_Activity_Group_Access) 173 return League.Holders.Holder; 174 175 function To_Holder 176 (Item : AMF.UML.Activity_Nodes.UML_Activity_Node_Access) 177 return League.Holders.Holder; 178 179 function To_Holder 180 (Item : AMF.UML.Activity_Partitions.UML_Activity_Partition_Access) 181 return League.Holders.Holder; 182 183 function To_Holder 184 (Item : AMF.UML.Artifacts.UML_Artifact_Access) 185 return League.Holders.Holder; 186 187 function To_Holder 188 (Item : AMF.UML.Association_Classes.UML_Association_Class_Access) 189 return League.Holders.Holder; 190 191 function To_Holder 192 (Item : AMF.UML.Associations.UML_Association_Access) 193 return League.Holders.Holder; 194 195 function To_Holder 196 (Item : AMF.UML.Behavioral_Features.UML_Behavioral_Feature_Access) 197 return League.Holders.Holder; 198 199 function To_Holder 200 (Item : AMF.UML.Behaviored_Classifiers.UML_Behaviored_Classifier_Access) 201 return League.Holders.Holder; 202 203 function To_Holder 204 (Item : AMF.UML.Behaviors.UML_Behavior_Access) 205 return League.Holders.Holder; 206 207 function To_Holder 208 (Item : AMF.UML.Call_Operation_Actions.UML_Call_Operation_Action_Access) 209 return League.Holders.Holder; 210 211 function To_Holder 212 (Item : AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access) 213 return League.Holders.Holder; 214 215 function To_Holder 216 (Item : AMF.UML.Classifiers.UML_Classifier_Access) 217 return League.Holders.Holder; 218 219 function To_Holder 220 (Item : AMF.UML.Classes.UML_Class_Access) 221 return League.Holders.Holder; 222 223 function To_Holder 224 (Item : AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access) 225 return League.Holders.Holder; 226 227 function To_Holder 228 (Item : AMF.UML.Collaborations.UML_Collaboration_Access) 229 return League.Holders.Holder; 230 231 function To_Holder 232 (Item : AMF.UML.Combined_Fragments.UML_Combined_Fragment_Access) 233 return League.Holders.Holder; 234 235 function To_Holder 236 (Item : AMF.UML.Components.UML_Component_Access) 237 return League.Holders.Holder; 238 239 function To_Holder 240 (Item : AMF.UML.Connectable_Element_Template_Parameters.UML_Connectable_Element_Template_Parameter_Access) 241 return League.Holders.Holder; 242 243 function To_Holder 244 (Item : AMF.UML.Connectable_Elements.UML_Connectable_Element_Access) 245 return League.Holders.Holder; 246 247 function To_Holder 248 (Item : AMF.UML.Connectors.UML_Connector_Access) 249 return League.Holders.Holder; 250 251 function To_Holder 252 (Item : AMF.UML.Constraints.UML_Constraint_Access) 253 return League.Holders.Holder; 254 255 function To_Holder 256 (Item : AMF.UML.Data_Types.UML_Data_Type_Access) 257 return League.Holders.Holder; 258 259 function To_Holder 260 (Item : AMF.UML.Dependencies.UML_Dependency_Access) 261 return League.Holders.Holder; 262 263 function To_Holder 264 (Item : AMF.UML.Deployment_Targets.UML_Deployment_Target_Access) 265 return League.Holders.Holder; 266 267 function To_Holder 268 (Item : AMF.UML.Deployments.UML_Deployment_Access) 269 return League.Holders.Holder; 270 271 function To_Holder 272 (Item : AMF.UML.Duration_Intervals.UML_Duration_Interval_Access) 273 return League.Holders.Holder; 274 275 function To_Holder 276 (Item : AMF.UML.Durations.UML_Duration_Access) 277 return League.Holders.Holder; 278 279 function To_Holder 280 (Item : AMF.UML.Elements.UML_Element_Access) 281 return League.Holders.Holder; 282 283 function To_Holder 284 (Item : AMF.UML.Enumeration_Literals.UML_Enumeration_Literal_Access) 285 return League.Holders.Holder; 286 287 function To_Holder 288 (Item : AMF.UML.Enumerations.UML_Enumeration_Access) 289 return League.Holders.Holder; 290 291 function To_Holder 292 (Item : AMF.UML.Events.UML_Event_Access) 293 return League.Holders.Holder; 294 295 function To_Holder 296 (Item : AMF.UML.Executable_Nodes.UML_Executable_Node_Access) 297 return League.Holders.Holder; 298 299 function To_Holder 300 (Item : AMF.UML.Execution_Specifications.UML_Execution_Specification_Access) 301 return League.Holders.Holder; 302 303 function To_Holder 304 (Item : AMF.UML.Expansion_Regions.UML_Expansion_Region_Access) 305 return League.Holders.Holder; 306 307 function To_Holder 308 (Item : AMF.UML.Extension_Ends.UML_Extension_End_Access) 309 return League.Holders.Holder; 310 311 function To_Holder 312 (Item : AMF.UML.Input_Pins.UML_Input_Pin_Access) 313 return League.Holders.Holder; 314 315 function To_Holder 316 (Item : AMF.UML.Instance_Specifications.UML_Instance_Specification_Access) 317 return League.Holders.Holder; 318 319 function To_Holder 320 (Item : AMF.UML.Interaction_Constraints.UML_Interaction_Constraint_Access) 321 return League.Holders.Holder; 322 323 function To_Holder 324 (Item : AMF.UML.Interaction_Operands.UML_Interaction_Operand_Access) 325 return League.Holders.Holder; 326 327 function To_Holder 328 (Item : AMF.UML.Interactions.UML_Interaction_Access) 329 return League.Holders.Holder; 330 331 function To_Holder 332 (Item : AMF.UML.Interfaces.UML_Interface_Access) 333 return League.Holders.Holder; 334 335 function To_Holder 336 (Item : AMF.UML.Interruptible_Activity_Regions.UML_Interruptible_Activity_Region_Access) 337 return League.Holders.Holder; 338 339 function To_Holder 340 (Item : AMF.UML.Intervals.UML_Interval_Access) 341 return League.Holders.Holder; 342 343 function To_Holder 344 (Item : AMF.UML.Invocation_Actions.UML_Invocation_Action_Access) 345 return League.Holders.Holder; 346 347 function To_Holder 348 (Item : AMF.UML.Lifelines.UML_Lifeline_Access) 349 return League.Holders.Holder; 350 351 function To_Holder 352 (Item : AMF.UML.Literal_Specifications.UML_Literal_Specification_Access) 353 return League.Holders.Holder; 354 355 function To_Holder 356 (Item : AMF.UML.Message_Ends.UML_Message_End_Access) 357 return League.Holders.Holder; 358 359 function To_Holder 360 (Item : AMF.UML.Messages.UML_Message_Access) 361 return League.Holders.Holder; 362 363 function To_Holder 364 (Item : AMF.UML.Models.UML_Model_Access) 365 return League.Holders.Holder; 366 367 function To_Holder 368 (Item : AMF.UML.Multiplicity_Elements.UML_Multiplicity_Element_Access) 369 return League.Holders.Holder; 370 371 function To_Holder 372 (Item : AMF.UML.Named_Elements.UML_Named_Element_Access) 373 return League.Holders.Holder; 374 375 function To_Holder 376 (Item : AMF.UML.Namespaces.UML_Namespace_Access) 377 return League.Holders.Holder; 378 379 function To_Holder 380 (Item : AMF.UML.Object_Flows.UML_Object_Flow_Access) 381 return League.Holders.Holder; 382 383 function To_Holder 384 (Item : AMF.UML.Object_Nodes.UML_Object_Node_Access) 385 return League.Holders.Holder; 386 387 function To_Holder 388 (Item : AMF.UML.Occurrence_Specifications.UML_Occurrence_Specification_Access) 389 return League.Holders.Holder; 390 391 function To_Holder 392 (Item : AMF.UML.Opaque_Actions.UML_Opaque_Action_Access) 393 return League.Holders.Holder; 394 395 function To_Holder 396 (Item : AMF.UML.Opaque_Expressions.UML_Opaque_Expression_Access) 397 return League.Holders.Holder; 398 399 function To_Holder 400 (Item : AMF.UML.Operation_Template_Parameters.UML_Operation_Template_Parameter_Access) 401 return League.Holders.Holder; 402 403 function To_Holder 404 (Item : AMF.UML.Operations.UML_Operation_Access) 405 return League.Holders.Holder; 406 407 function To_Holder 408 (Item : AMF.UML.Output_Pins.UML_Output_Pin_Access) 409 return League.Holders.Holder; 410 411 function To_Holder 412 (Item : AMF.UML.Packageable_Elements.UML_Packageable_Element_Access) 413 return League.Holders.Holder; 414 415 function To_Holder 416 (Item : AMF.UML.Packages.UML_Package_Access) 417 return League.Holders.Holder; 418 419 function To_Holder 420 (Item : AMF.UML.Part_Decompositions.UML_Part_Decomposition_Access) 421 return League.Holders.Holder; 422 423 function To_Holder 424 (Item : AMF.UML.Parameterable_Elements.UML_Parameterable_Element_Access) 425 return League.Holders.Holder; 426 427 function To_Holder 428 (Item : AMF.UML.Parameters.UML_Parameter_Access) 429 return League.Holders.Holder; 430 431 function To_Holder 432 (Item : AMF.UML.Ports.UML_Port_Access) 433 return League.Holders.Holder; 434 435 function To_Holder 436 (Item : AMF.UML.Profiles.UML_Profile_Access) 437 return League.Holders.Holder; 438 439 function To_Holder 440 (Item : AMF.UML.Properties.UML_Property_Access) 441 return League.Holders.Holder; 442 443 function To_Holder 444 (Item : AMF.UML.Protocol_State_Machines.UML_Protocol_State_Machine_Access) 445 return League.Holders.Holder; 446 447 function To_Holder 448 (Item : AMF.UML.Read_Structural_Feature_Actions.UML_Read_Structural_Feature_Action_Access) 449 return League.Holders.Holder; 450 451 function To_Holder 452 (Item : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access) 453 return League.Holders.Holder; 454 455 function To_Holder 456 (Item : AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access) 457 return League.Holders.Holder; 458 459 function To_Holder 460 (Item : AMF.UML.Regions.UML_Region_Access) 461 return League.Holders.Holder; 462 463 function To_Holder 464 (Item : AMF.UML.Send_Object_Actions.UML_Send_Object_Action_Access) 465 return League.Holders.Holder; 466 467 function To_Holder 468 (Item : AMF.UML.Send_Signal_Actions.UML_Send_Signal_Action_Access) 469 return League.Holders.Holder; 470 471 function To_Holder 472 (Item : AMF.UML.Signals.UML_Signal_Access) 473 return League.Holders.Holder; 474 475 function To_Holder 476 (Item : AMF.UML.State_Machines.UML_State_Machine_Access) 477 return League.Holders.Holder; 478 479 function To_Holder 480 (Item : AMF.UML.States.UML_State_Access) 481 return League.Holders.Holder; 482 483 function To_Holder 484 (Item : AMF.UML.Stereotypes.UML_Stereotype_Access) 485 return League.Holders.Holder; 486 487 function To_Holder 488 (Item : AMF.UML.String_Expressions.UML_String_Expression_Access) 489 return League.Holders.Holder; 490 491 function To_Holder 492 (Item : AMF.UML.Structured_Activity_Nodes.UML_Structured_Activity_Node_Access) 493 return League.Holders.Holder; 494 495 function To_Holder 496 (Item : AMF.UML.Structured_Classifiers.UML_Structured_Classifier_Access) 497 return League.Holders.Holder; 498 499 function To_Holder 500 (Item : AMF.UML.Structural_Features.UML_Structural_Feature_Access) 501 return League.Holders.Holder; 502 503 function To_Holder 504 (Item : AMF.UML.Template_Bindings.UML_Template_Binding_Access) 505 return League.Holders.Holder; 506 507 function To_Holder 508 (Item : AMF.UML.Template_Parameters.UML_Template_Parameter_Access) 509 return League.Holders.Holder; 510 511 function To_Holder 512 (Item : AMF.UML.Template_Signatures.UML_Template_Signature_Access) 513 return League.Holders.Holder; 514 515 function To_Holder 516 (Item : AMF.UML.Templateable_Elements.UML_Templateable_Element_Access) 517 return League.Holders.Holder; 518 519 function To_Holder 520 (Item : AMF.UML.Time_Intervals.UML_Time_Interval_Access) 521 return League.Holders.Holder; 522 523 function To_Holder 524 (Item : AMF.UML.Time_Events.UML_Time_Event_Access) 525 return League.Holders.Holder; 526 527 function To_Holder 528 (Item : AMF.UML.Time_Expressions.UML_Time_Expression_Access) 529 return League.Holders.Holder; 530 531 function To_Holder 532 (Item : AMF.UML.Transitions.UML_Transition_Access) 533 return League.Holders.Holder; 534 535 function To_Holder 536 (Item : AMF.UML.Triggers.UML_Trigger_Access) 537 return League.Holders.Holder; 538 539 function To_Holder 540 (Item : AMF.UML.Types.UML_Type_Access) 541 return League.Holders.Holder; 542 543 function To_Holder 544 (Item : AMF.UML.Usages.UML_Usage_Access) 545 return League.Holders.Holder; 546 547 function To_Holder 548 (Item : AMF.UML.Use_Cases.UML_Use_Case_Access) 549 return League.Holders.Holder; 550 551 function To_Holder 552 (Item : AMF.UML.Value_Specifications.UML_Value_Specification_Access) 553 return League.Holders.Holder; 554 555 function To_Holder 556 (Item : AMF.UML.Variables.UML_Variable_Access) 557 return League.Holders.Holder; 558 559 function To_Holder 560 (Item : AMF.UML.Vertexs.UML_Vertex_Access) 561 return League.Holders.Holder; 562 563 function To_Holder 564 (Item : AMF.UML.Write_Structural_Feature_Actions.UML_Write_Structural_Feature_Action_Access) 565 return League.Holders.Holder; 566 567end AMF.Internals.Holders.UML_Holders; 568