Compare ae9370e ... +1 ... 4e440c6

Coverage Reach
backends/po_hi_ada/ocarina-backends-po_hi_ada-job.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-activity.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-mapping.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-types.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-deployment.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-transport.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-subprograms.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-marshallers.adb backends/po_hi_ada/ocarina-backends-po_hi_ada.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-naming.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-runtime.adb backends/po_hi_ada/ocarina-backends-po_hi_ada-main.adb backends/po_hi_ada/ocarina-backends-po_hi_ada.ads backends/po_hi_c/ocarina-backends-po_hi_c-deployment.adb backends/po_hi_c/ocarina-backends-po_hi_c-activity.adb backends/po_hi_c/ocarina-backends-po_hi_c-marshallers.adb backends/po_hi_c/ocarina-backends-po_hi_c-main.adb backends/po_hi_c/ocarina-backends-po_hi_c.adb backends/po_hi_c/ocarina-backends-po_hi_c-request.adb backends/po_hi_c/ocarina-backends-po_hi_c-naming.adb backends/po_hi_c/ocarina-backends-po_hi_c-runtime.adb backends/arinc653/ocarina-backends-pok_c-deployment.adb backends/arinc653/ocarina-backends-pok_c-activity.adb backends/arinc653/ocarina-backends-pok_c-main.adb backends/arinc653/ocarina-backends-pok_c-makefile.adb backends/arinc653/ocarina-backends-pok_c-runtime.adb backends/arinc653/ocarina-backends-pok_c-naming.adb backends/arinc653/ocarina-backends-pok_c.adb backends/arinc653/ocarina-backends-pok_c.ads backends/lnt/ocarina-backends-lnt-tree_generator_processor.adb backends/lnt/ocarina-backends-lnt-printer.adb backends/lnt/ocarina-backends-lnt-components.adb backends/lnt/ocarina-backends-lnt-tree_generator_main.adb backends/lnt/ocarina-backends-lnt-tree_generator_thread.adb backends/lnt/ocarina-backends-lnt-tree_generator_types.adb backends/lnt/ocarina-backends-lnt-nutils.adb backends/lnt/ocarina-backends-lnt-svl_generator.adb backends/lnt/ocarina-backends-lnt-debug.adb backends/lnt/ocarina-backends-lnt.adb backends/lnt/ocarina-backends-lnt-tree_generator.adb backends/lnt/ocarina-backends-lnt-tree_generator_port.adb backends/lnt/ocarina-backends-lnt.ads backends/lnt/ocarina-backends-lnt-nutils.ads backends/ast_ada/ocarina-backends-ada_tree-generator.adb backends/ast_ada/ocarina-backends-ada_tree-nutils.adb backends/ast_ada/ocarina-backends-ada_values.adb backends/ast_ada/ocarina-backends-ada_tree-debug.adb backends/ast_ada/ocarina-backends-ada_tree-nutils.ads backends/ast_ada/ocarina-backends-ada_values.ads backends/aadl_pp/ocarina-be_aadl-properties-values.adb backends/aadl_pp/ocarina-be_aadl-components.adb backends/aadl_pp/ocarina-be_aadl_ba-actions.adb backends/aadl_pp/ocarina-be_aadl_ba-expressions.adb backends/aadl_pp/ocarina-be_aadl-properties.adb backends/aadl_pp/ocarina-be_aadl_ba-specifications.adb backends/aadl_pp/ocarina-be_aadl.adb backends/aadl_pp/ocarina-be_aadl-namespaces.adb backends/aadl_pp/ocarina-be_aadl-components-flows.adb backends/aadl_pp/ocarina-be_aadl-components-features.adb backends/aadl_pp/ocarina-be_aadl-components-modes.adb backends/aadl_pp/ocarina-be_aadl_ba-thread_dispatch.adb backends/aadl_pp/ocarina-be_aadl-components-connections.adb backends/aadl_pp/ocarina-be_aadl-annexes.adb backends/aadl_pp/ocarina-be_aadl_ba-identifiers.adb backends/aadl_pp/ocarina-be_aadl-components-subcomponents.adb backends/aadl_pp/ocarina-be_aadl-components-subprogram_calls.adb backends/aadl_pp/ocarina-be_aadl-components-arrays.adb backends/aadl_pp/ocarina-be_aadl_ba.adb backends/aadl_pp/ocarina-be_aadl-components-prototypes.adb backends/aadl_pp/ocarina-be_aadl-identifiers.adb backends/ocarina-backends-c_common-ba.adb backends/ast_c/ocarina-backends-c_tree-nutils.adb backends/ast_c/ocarina-backends-c_tree-generator.adb backends/ast_c/ocarina-backends-c_values.adb backends/ast_c/ocarina-backends-c_tree-debug.adb backends/ast_c/ocarina-backends-c_tree-nutils.ads backends/ast_c/ocarina-backends-c_values.ads backends/petri_nets/ocarina-backends-pn-components.adb backends/petri_nets/ocarina-backends-pn-iutils.adb backends/petri_nets/ocarina-backends-pn-format-cami.adb backends/petri_nets/ocarina-backends-pn-format-tina.adb backends/petri_nets/ocarina-backends-pn-debug.adb backends/petri_nets/ocarina-backends-pn-printer.adb backends/petri_nets/ocarina-backends-pn-nutils.adb backends/petri_nets/ocarina-backends-pn.adb backends/petri_nets/ocarina-backends-pn-utils.adb backends/real/ocarina-backends-real.adb backends/real/ocarina-be_real.adb backends/real/ocarina-backends-real-debug.adb backends/ocarina-backends-c_common-mapping.adb backends/mast/ocarina-backends-mast_tree-generator.adb backends/mast/ocarina-backends-mast-main.adb backends/mast/ocarina-backends-mast_tree-nutils.adb backends/mast/ocarina-backends-mast_values.adb backends/mast/ocarina-backends-mast_tree-debug.adb backends/mast/ocarina-backends-mast.adb backends/mast/ocarina-backends-mast_tree-nutils.ads backends/mast/ocarina-backends-mast_values.ads backends/mast/ocarina-backends-mast.ads backends/ocarina-backends-properties.adb backends/ocarina-backends-utils.adb backends/arinc653_conf/ocarina-backends-arinc653_conf-mapping.adb backends/arinc653_conf/ocarina-backends-arinc653_conf-system_hm.adb backends/arinc653_conf/ocarina-backends-arinc653_conf-partitions.adb backends/arinc653_conf/ocarina-backends-arinc653_conf-connections.adb backends/arinc653_conf/ocarina-backends-arinc653_conf-scheduling.adb backends/arinc653_conf/ocarina-backends-arinc653_conf-memory.adb backends/arinc653_conf/ocarina-backends-arinc653_conf-partition_hm.adb backends/arinc653_conf/ocarina-backends-arinc653_conf-module_hm.adb backends/arinc653_conf/ocarina-backends-arinc653_conf.adb backends/arinc653_conf/ocarina-backends-arinc653_conf.ads backends/ocarina-backends-build_utils.adb backends/ocarina-backends-replication_expander.adb backends/vxwork653_conf/ocarina-backends-vxworks653_conf-hm.adb backends/vxwork653_conf/ocarina-backends-vxworks653_conf-naming.adb backends/vxwork653_conf/ocarina-backends-vxworks653_conf-partitions.adb backends/vxwork653_conf/ocarina-backends-vxworks653_conf-connections.adb backends/vxwork653_conf/ocarina-backends-vxworks653_conf-mapping.adb backends/vxwork653_conf/ocarina-backends-vxworks653_conf-schedule.adb backends/vxwork653_conf/ocarina-backends-vxworks653_conf-payloads.adb backends/vxwork653_conf/ocarina-backends-vxworks653_conf.adb backends/vxwork653_conf/ocarina-backends-vxworks653_conf.ads backends/xtratum_conf/ocarina-backends-xtratum_conf-partition_table.adb backends/xtratum_conf/ocarina-backends-xtratum_conf-hardware_description.adb backends/xtratum_conf/ocarina-backends-xtratum_conf-channels.adb backends/xtratum_conf/ocarina-backends-xtratum_conf-system_description.adb backends/xtratum_conf/ocarina-backends-xtratum_conf-xm_hypervisor.adb backends/xtratum_conf/ocarina-backends-xtratum_conf-resident_sw.adb backends/xtratum_conf/ocarina-backends-xtratum_conf-mapping.adb backends/xtratum_conf/ocarina-backends-xtratum_conf.adb backends/xtratum_conf/ocarina-backends-xtratum_conf.ads backends/ocarina-backends-c_common-types.adb backends/ast_asn1/ocarina-backends-asn1_values.adb backends/ast_asn1/ocarina-backends-asn1_tree-nutils.adb backends/ast_asn1/ocarina-backends-asn1_tree-generator.adb backends/ast_asn1/ocarina-backends-asn1_tree-debug.adb backends/ast_asn1/ocarina-backends-asn1_tree-nutils.ads backends/ast_asn1/ocarina-backends-asn1_values.ads backends/ast_xml/ocarina-backends-xml_tree-nutils.adb backends/ast_xml/ocarina-backends-xml_values.adb backends/ast_xml/ocarina-backends-xml_tree-generator.adb backends/ast_xml/ocarina-backends-xml_tree-debug.adb backends/ast_xml/ocarina-backends-xml_tree-nutils.ads backends/ast_xml/ocarina-backends-xml_values.ads backends/deos_conf/ocarina-backends-deos_conf-partitions.adb backends/deos_conf/ocarina-backends-deos_conf-mapping.adb backends/deos_conf/ocarina-backends-deos_conf-hm.adb backends/deos_conf/ocarina-backends-deos_conf-schedule.adb backends/deos_conf/ocarina-backends-deos_conf-naming.adb backends/deos_conf/ocarina-backends-deos_conf.adb backends/deos_conf/ocarina-backends-deos_conf.ads backends/stats/ocarina-backends-stats-mapping.adb backends/stats/ocarina-backends-stats-main.adb backends/stats/ocarina-backends-stats.adb backends/stats/ocarina-backends-stats-main.ads backends/stats/ocarina-backends-stats.ads backends/air_conf/ocarina-backends-air_conf-partitions.adb backends/air_conf/ocarina-backends-air_conf-air_configuration.adb backends/air_conf/ocarina-backends-air_conf-module.adb backends/air_conf/ocarina-backends-air_conf-mapping.adb backends/air_conf/ocarina-backends-air_conf.adb backends/air_conf/ocarina-backends-air_conf.ads backends/cheddar/ocarina-backends-cheddar-mapping.adb backends/cheddar/ocarina-backends-pok_cheddar.adb backends/cheddar/ocarina-backends-cheddar-main.adb backends/cheddar/ocarina-backends-cheddar-mapping.ads backends/cheddar/ocarina-backends-cheddar.adb backends/cheddar/ocarina-backends-pok_cheddar.ads backends/cheddar/ocarina-backends-cheddar.ads backends/ocarina-backends-c_common-subprograms.adb backends/ocarina-backends-execution_tests.adb backends/aadl_xml/ocarina-backends-aadl_xml-main.adb backends/aadl_xml/ocarina-backends-aadl_xml-mapping.adb backends/aadl_xml/ocarina-backends-aadl_xml.adb backends/aadl_xml/ocarina-backends-aadl_xml.ads backends/ocarina-backends-expander.adb backends/connection_matrix/ocarina-backends-connection_matrix-main.adb backends/connection_matrix/ocarina-backends-connection_matrix.adb backends/connection_matrix/ocarina-backends-connection_matrix.ads backends/connection_matrix/ocarina-backends-connection_matrix-main.ads backends/subprograms/ocarina-backends-subprograms.adb backends/subprograms/ocarina-backends-subprograms.ads backends/functions_matrix/ocarina-backends-functions_matrix-main.adb backends/functions_matrix/ocarina-backends-functions_matrix.adb backends/functions_matrix/ocarina-backends-functions_matrix-main.ads backends/functions_matrix/ocarina-backends-functions_matrix.ads backends/asn1_deployment/ocarina-backends-asn1-deployment.adb backends/asn1_deployment/ocarina-backends-asn1.adb backends/asn1_deployment/ocarina-backends-asn1.ads backends/ocarina-backends-replication_properties.adb backends/bound-t/ocarina-backends-boundt.adb backends/ocarina-backends-properties-utils.adb backends/ocarina-backends.adb backends/alloy/ocarina-backends-alloy.adb backends/ocarina-backends-execution_utils.adb backends/ocarina-backends-helper.ads backends/ocarina-backends-xml_common-mapping.adb backends/ocarina-backends-properties-arinc653.adb backends/ocarina-backends-messages.adb backends/ocarina-backends-execution_tests.ads backends/ocarina-backends-helper.adb backends/ocarina-backends-execution_utils.ads backends/ocarina-backends-build_utils.ads backends/ocarina-backends-properties-utils.ads core/model/ocarina-analyzer-aadl-links.adb core/model/ocarina-analyzer-aadl_ba.adb core/model/ocarina-analyzer-real.adb core/model/ocarina-analyzer-aadl-semantics.adb core/model/ocarina-processor-properties.adb core/model/ocarina-analyzer-aadl_ema-naming_rules.adb core/model/ocarina-analyzer-aadl-legality_rules.adb core/model/ocarina-analyzer-aadl-finder.adb core/model/ocarina-analyzer-aadl_ema-finder.adb core/model/ocarina-analyzer-aadl-names.adb core/model/ocarina-analyzer-aadl-queries.adb core/model/ocarina-analyzer-aadl-naming_rules.adb core/model/ocarina-analyzer-messages.adb core/model/ocarina-builder-aadl_ba-actions.adb core/model/ocarina-builder-aadl_ba-expressions.adb core/model/ocarina-builder-aadl-properties.adb core/model/ocarina-builder-aadl-components.adb core/model/ocarina-builder-aadl_ba-specifications.adb core/model/ocarina-builder-aadl-namespaces.adb core/model/ocarina-builder-aadl-components-features.adb core/model/ocarina-analyzer-real-finder.adb core/model/ocarina-analyzer-aadl.adb core/model/ocarina-builder-aadl-components-flows.adb core/model/ocarina-analyzer-aadl-annexes.adb core/model/ocarina-builder-aadl-annexes.adb core/model/ocarina-builder-aadl-components-modes.adb core/model/ocarina-builder-aadl-components-subprogram_calls.adb core/model/ocarina-builder-real.adb core/model/ocarina-builder-aadl_ba-thread_dispatch.adb core/model/ocarina-builder-aadl-components-subcomponents.adb core/model/ocarina-analyzer.adb core/model/ocarina-analyzer-aadl_ema.adb core/model/ocarina-builder-aadl-components-connections.adb core/model/ocarina-builder-aadl-components-prototypes.adb core/model/ocarina-builder-aadl-components-arrays.adb core/model/ocarina-analyzer-aadl_ema-links.adb core/model/ocarina-analyzer-real-finder.ads core/model/ocarina-analyzer-aadl-naming_rules.ads core/tree/ocarina-real_values.adb core/tree/ocarina-ao4aadl_values.adb core/tree/ocarina-aadl_values.adb core/tree/ocarina-me_aadl-aadl_instances-nutils.adb core/tree/ocarina-me_aadl-aadl_tree-entities-properties.adb core/tree/ocarina-me_real-real_tree-utils.adb core/tree/ocarina-ema_values.adb core/tree/ocarina-me_aadl-aadl_tree-nutils.adb core/tree/ocarina-me_aadl-aadl_tree-entities.adb core/tree/ocarina-me_real-tokens.adb core/tree/ocarina-me_aadl-aadl_tree-debug.adb core/tree/ocarina-me_aadl_ba-ba_tree-debug.adb core/tree/ocarina-me_aadl_ba-ba_tree-nutils.adb core/tree/ocarina-me_aadl-tokens.adb core/tree/ocarina-me_aadl_ema-ema_tree-nutils.adb core/tree/ocarina-me_aadl-aadl_instances-debug.adb core/tree/ocarina-me_aadl_ba-tokens.adb core/tree/ocarina-me_aadl_ema-ema_tokens.adb core/tree/ocarina-me_real-real_tree-debug.adb core/tree/ocarina-me_real-real_tree-nutils.adb core/tree/ocarina-me_aadl-aadl_instances-entities.adb core/tree/ocarina-me_aadl_ema-ema_tree-debug.adb core/tree/ocarina-me_ao4aadl-ao4aadl_tree-debug.adb core/tree/ocarina-me_ao4aadl-tokens.adb core/tree/ocarina-property_sets.adb core/tree/ocarina-annotations.adb core/tree/ocarina-me_ao4aadl-ao4aadl_tree-nutils.adb core/tree/ocarina-me_aadl-aadl_instances-entities-properties.adb core/tree/ocarina-aadl_values.ads core/tree/ocarina-me_real-real_tree-nutils.ads core/tree/ocarina-me_aadl_ema-ema_tokens.ads core/tree/ocarina-me_ao4aadl-tokens.ads core/tree/ocarina-me_aadl-printers.adb core/tree/ocarina-me_aadl-tokens.ads core/tree/ocarina-me_aadl_ba-tokens.ads core/tree/ocarina-me_ao4aadl-ao4aadl_tree-nutils.ads core/tree/ocarina-me_aadl_ema-ema_tree-nutils.ads core/tree/ocarina-real_values.ads core/tree/ocarina-ema_values.ads core/tree/ocarina-ao4aadl_values.ads core/tree/ocarina-me_real-tokens.ads core/tree/ocarina-me_aadl-aadl_instances-nutils.ads core/instance/ocarina-instances-properties.adb core/instance/ocarina-instances-processor-properties.adb core/instance/ocarina-instances-finder.adb core/instance/ocarina-real_expander-flow_analysis.adb core/instance/ocarina-instances-queries.adb core/instance/ocarina-instances-real_checker-queries.adb core/instance/ocarina-instances-components.adb core/instance/ocarina-instances.adb core/instance/ocarina-instances-components-features.adb core/instance/ocarina-instances-components-modes.adb core/instance/ocarina-instances-real_finder.adb core/instance/ocarina-instances-components-subprogram_calls.adb core/instance/ocarina-instances-components-connections.adb core/instance/ocarina-real_expander.adb core/instance/ocarina-instances-real_checker-queries-call_predicates.adb core/instance/ocarina-instances-real_checker-queries-relational_predicates.adb core/instance/ocarina-instances-real_checker-queries-predecessor_predicates.adb core/instance/ocarina-instances-annexes.adb core/instance/ocarina-instances-messages.adb core/instance/ocarina-instances-real_checker-queries-access_predicates.adb core/instance/ocarina-instances-namespaces.adb core/instance/ocarina-instances-real_checker-queries-connected_predicates.adb core/instance/ocarina-instances-real_checker-queries-passing_predicates.adb core/instance/ocarina-instances-components-subcomponents.adb core/instance/ocarina-instances-real_checker-queries-bound_predicates.adb core/instance/ocarina-instances-real_checker-queries-subcomponent_predicates.adb core/instance/ocarina-instances-real_checker-queries-provided_class_predicates.adb core/instance/ocarina-instances-real_checker-queries.ads core/common_files/ocarina-namet.adb core/common_files/utils.adb core/common_files/errors.adb core/common_files/ocarina-output.adb core/common_files/locations.adb core/common_files/charset.adb core/common_files/outfiles.adb core/common_files/ocarina-types.adb core/common_files/errors.ads core/common_files/ocarina-namet.ads core/common_files/utils.ads core/mgmt/ocarina-files.adb core/mgmt/ocarina-options.adb core/mgmt/ocarina-parser.adb core/mgmt/ocarina.adb core/mgmt/ocarina-options.ads core/mgmt/ocarina.ads core/mgmt/ocarina-files.ads frontends/aadl/ocarina-fe_aadl-parser-properties-values.adb frontends/aadl/ocarina-fe_aadl-parser-properties.adb frontends/aadl/ocarina-fe_aadl-lexer.adb frontends/aadl/ocarina-fe_aadl-parser-components.adb frontends/aadl/ocarina-fe_aadl-parser-namespaces.adb frontends/aadl/ocarina-fe_aadl-parser-components-features.adb frontends/aadl/ocarina-fe_aadl-parser-components-flows.adb frontends/aadl/ocarina-fe_aadl-parser-components-modes.adb frontends/aadl/ocarina-fe_aadl-parser-components-connections.adb frontends/aadl/ocarina-fe_aadl-parser-identifiers.adb frontends/aadl/ocarina-fe_aadl-parser.adb frontends/aadl/ocarina-fe_aadl-parser-components-subprogram_calls.adb frontends/aadl/ocarina-fe_aadl-parser_errors.adb frontends/aadl/ocarina-fe_aadl-parser-annexes.adb frontends/aadl/ocarina-fe_aadl-parser-components-arrays.adb frontends/aadl/ocarina-fe_aadl-parser-components-prototypes.adb frontends/aadl/ocarina-fe_aadl-parser-components-subcomponents.adb frontends/aadl/ocarina-fe_aadl.adb frontends/aadl/ocarina-fe_aadl-lexer.ads frontends/aadl_ba/ocarina-fe_aadl_ba-parser-actions.adb frontends/aadl_ba/ocarina-fe_aadl_ba-parser-expressions.adb frontends/aadl_ba/ocarina-fe_aadl_ba-lexer.adb frontends/aadl_ba/ocarina-fe_aadl_ba-parser-specifications.adb frontends/aadl_ba/ocarina-fe_aadl_ba-parser-identifiers.adb frontends/aadl_ba/ocarina-fe_aadl_ba-parser-thread_dispatch.adb frontends/aadl_ba/ocarina-fe_aadl_ba-parser.adb frontends/aadl_ba/ocarina-fe_aadl_ba-parser_errors.adb frontends/aadl_ba/ocarina-fe_aadl_ba.adb frontends/aadl_ba/ocarina-fe_aadl_ba-lexer.ads frontends/real/ocarina-fe_real-parser.adb frontends/real/ocarina-fe_real-lexer.adb frontends/real/ocarina-fe_real-parser_errors.adb frontends/real/ocarina-fe_real.adb frontends/real/ocarina-fe_real-lexer.ads frontends/real/ocarina-fe_real-parser.ads main/ocarina_cmd.adb main/ocarina-scripts.adb main/ocarina-cmd_line.adb python/ocarina-utils.adb

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.


@@ -117,12 +117,12 @@
Loading
117 117
               --      element of the list.
118 118
119 119
               if No (AIN.In_Modes (List_Node))
120 -
                 or else AINU.Is_Empty (ATN.Modes (AIN.In_Modes (List_Node)))
120 +
                 or else AINU.Is_Empty (AIN.Modes (AIN.In_Modes (List_Node)))
121 121
                 or else In_Mode = No_Name
122 122
               then
123 123
                  return List_Node;
124 124
               else
125 -
                  M := AIN.First_Node (ATN.Modes (AIN.In_Modes (List_Node)));
125 +
                  M := AIN.First_Node (AIN.Modes (AIN.In_Modes (List_Node)));
126 126
127 127
                  while Present (M) loop
128 128
                     --  Depending on the nature of the traversed tree

@@ -39,7 +39,6 @@
Loading
39 39
package body Ocarina.Instances.Components.Modes is
40 40
41 41
   use Ocarina.ME_AADL.AADL_Tree.Nodes;
42 -
   use Ocarina.ME_AADL.AADL_Tree.Nutils;
43 42
   use Ocarina.ME_AADL.AADL_Instances.Nodes;
44 43
   use Ocarina.ME_AADL.AADL_Instances.Nutils;
45 44
   use Ocarina.ME_AADL.AADL_Instances.Entities;
@@ -355,8 +354,8 @@
Loading
355 354
356 355
         AIN.Set_In_Modes
357 356
           (Subclause_Instance,
358 -
            New_Node (K_In_Modes, ATN.Loc (Subclause_In_Modes)));
359 -
         ATN.Set_Modes
357 +
            New_Node (AIN.K_In_Modes, ATN.Loc (Subclause_In_Modes)));
358 +
         AIN.Set_Modes
360 359
           (AIN.In_Modes (Subclause_Instance),
361 360
            AINU.New_List (K_List_Id, ATN.Loc (Subclause_In_Modes)));
362 361
@@ -365,7 +364,7 @@
Loading
365 364
         declare
366 365
            Mode_List :
367 366
              List_Id renames
368 -
              ATN.Modes (AIN.In_Modes (Subclause_Instance));
367 +
              AIN.Modes (AIN.In_Modes (Subclause_Instance));
369 368
         begin
370 369
            while Present (MoT) loop
371 370
               case ATN.Kind (MoT) is

@@ -1781,15 +1781,15 @@
Loading
1781 1781
1782 1782
                        if Present (AIN.In_Modes (Call_Seq))
1783 1783
                          and then not AINU.Is_Empty
1784 -
                            (ATN.Modes (AIN.In_Modes (Call_Seq)))
1784 +
                            (AIN.Modes (AIN.In_Modes (Call_Seq)))
1785 1785
                        then
1786 1786
                           --  Generate a case statement alternative that
1787 1787
                           --  handles this sequence.
1788 1788
1789 1789
                           N :=
1790 1790
                             Make_Case_Statement_Alternative
1791 1791
                               (In_Modes_To_Choices
1792 -
                                  (ATN.Modes (In_Modes (Call_Seq))),
1792 +
                                  (AIN.Modes (In_Modes (Call_Seq))),
1793 1793
                                Alt_Sts);
1794 1794
                           Append_Node_To_List (N, Alternatives);
1795 1795
                           CS_Cnt := CS_Cnt + 1;

@@ -1273,7 +1273,6 @@
Loading
1273 1273
1274 1274
            while Present (C) loop
1275 1275
               if Kind (C) = K_Port_Spec_Instance
1276 -
                 and then Is_In (C)
1277 1276
                 and then not AAU.Is_Empty (Destinations (C))
1278 1277
               then
1279 1278
                  D := First_Node (Destinations (C));

@@ -474,9 +474,9 @@
Loading
474 474
475 475
            while Present (List_Node) loop
476 476
               if No
477 -
                   (Get_First_Homonym_Instance
478 -
                      (AIN.Connections (New_Instance),
479 -
                       List_Node))
477 +
                 (Get_First_Homonym_Instance
478 +
                    (AIN.Connections (New_Instance),
479 +
                     List_Node))
480 480
               then
481 481
                  Instance_Node :=
482 482
                    Instantiate_Connection
@@ -498,81 +498,84 @@
Loading
498 498
            end loop;
499 499
         end if;
500 500
501 -
         --  Modes
501 +
      end if;
502 502
503 -
         if not ATNU.Is_Empty (ATN.Modes (Component)) then
504 -
            if AIN.Modes (New_Instance) = No_List then
505 -
               AIN.Set_Modes (New_Instance, New_List (K_List_Id, No_Location));
506 -
            end if;
503 +
      --  Modes
507 504
508 -
            if AIN.Mode_transitions (New_Instance) = No_List then
509 -
               Set_Mode_transitions
510 -
                 (New_Instance,
511 -
                  New_List (K_List_Id, No_Location));
512 -
            end if;
505 +
      if not ATNU.Is_Empty (ATN.Modes (Component)) then
506 +
         if AIN.Modes (New_Instance) = No_List then
507 +
            AIN.Set_Modes (New_Instance, New_List (K_List_Id, No_Location));
508 +
         end if;
513 509
514 -
            --  We must instantiate all modes before any mode
515 -
            --  transition since the mode transition instantiation
516 -
            --  uses the instantiated modes.
510 +
         if AIN.Mode_transitions (New_Instance) = No_List then
511 +
            Set_Mode_transitions
512 +
              (New_Instance,
513 +
               New_List (K_List_Id, No_Location));
514 +
         end if;
517 515
518 -
            List_Node := ATN.First_Node (ATN.Modes (Component));
516 +
         --  We must instantiate all modes before any mode
517 +
         --  transition since the mode transition instantiation
518 +
         --  uses the instantiated modes.
519 519
520 -
            while Present (List_Node) loop
521 -
               if ATN.Kind (List_Node) = K_Mode then
522 -
                  Instance_Node :=
523 -
                    Instantiate_Mode (Instance_Root, New_Instance, List_Node);
520 +
         List_Node := ATN.First_Node (ATN.Modes (Component));
524 521
525 -
                  --  Apply the properties to the instantiated mode
522 +
         while Present (List_Node) loop
523 +
            if ATN.Kind (List_Node) = K_Mode then
524 +
               Instance_Node :=
525 +
                 Instantiate_Mode (Instance_Root, New_Instance, List_Node);
526 526
527 -
                  if Present (Instance_Node) then
528 -
                     Success :=
529 -
                       Apply_Properties
530 -
                         (Instance_Root,
531 -
                          Instance_Node,
532 -
                          ATN.Properties (List_Node),
533 -
                          Override_Mode => True)
534 -
                       and then Success;
535 -
                  end if;
527 +
               --  Apply the properties to the instantiated mode
536 528
537 -
                  if Present (Instance_Node) then
538 -
                     Append_Node_To_List
539 -
                       (Instance_Node,
540 -
                        AIN.Modes (New_Instance));
541 -
                  else
542 -
                     Display_Instantiation_Error (List_Node);
543 -
                     Success := False;
544 -
                  end if;
529 +
               if Present (Instance_Node) then
530 +
                  Success :=
531 +
                    Apply_Properties
532 +
                      (Instance_Root,
533 +
                       Instance_Node,
534 +
                       ATN.Properties (List_Node),
535 +
                       Override_Mode => True)
536 +
                      and then Success;
545 537
               end if;
546 538
547 -
               List_Node := ATN.Next_Node (List_Node);
548 -
            end loop;
539 +
               if Present (Instance_Node) then
540 +
                  Append_Node_To_List
541 +
                    (Instance_Node,
542 +
                     AIN.Modes (New_Instance));
543 +
               else
544 +
                  Display_Instantiation_Error (List_Node);
545 +
                  Success := False;
546 +
               end if;
547 +
            end if;
549 548
550 -
            --  Mode transitions
549 +
            List_Node := ATN.Next_Node (List_Node);
550 +
         end loop;
551 551
552 -
            List_Node := ATN.First_Node (ATN.Modes (Component));
552 +
         --  Mode transitions
553 553
554 -
            while Present (List_Node) loop
555 -
               if Kind (List_Node) = K_Mode_Transition then
556 -
                  Instance_Node :=
557 -
                    Instantiate_Mode_Transition
558 -
                      (Instance_Root,
559 -
                       New_Instance,
560 -
                       List_Node);
554 +
         List_Node := ATN.First_Node (ATN.Modes (Component));
561 555
562 -
                  if Present (Instance_Node) then
563 -
                     Append_Node_To_List
564 -
                       (Instance_Node,
565 -
                        AIN.Mode_transitions (New_Instance));
566 -
                  else
567 -
                     Display_Instantiation_Error (Component);
568 -
                     Success := False;
569 -
                  end if;
556 +
         while Present (List_Node) loop
557 +
            if Kind (List_Node) = K_Mode_Transition then
558 +
               Instance_Node :=
559 +
                 Instantiate_Mode_Transition
560 +
                   (Instance_Root,
561 +
                    New_Instance,
562 +
                    List_Node);
563 +
564 +
               if Present (Instance_Node) then
565 +
                  Append_Node_To_List
566 +
                    (Instance_Node,
567 +
                     AIN.Mode_transitions (New_Instance));
568 +
               else
569 +
                  Display_Instantiation_Error (Component);
570 +
                  Success := False;
570 571
               end if;
572 +
            end if;
571 573
572 -
               List_Node := ATN.Next_Node (List_Node);
573 -
            end loop;
574 -
         end if;
574 +
            List_Node := ATN.Next_Node (List_Node);
575 +
         end loop;
576 +
      end if;
575 577
578 +
      if Kind (Component) = K_Component_Implementation then
576 579
         --  At this point, we have all necessary elements to solve
577 580
         --  the "in_modes" clauses of subcomponents, call sequences,
578 581
         --  connections. "in modes" of property association is done

Click to load this diff.
Loading diff...

Learn more Showing 6 files with coverage changes found.

Changes in src/core/tree/ocarina-me_aadl-aadl_instances-debug.adb
-4
+4
Loading file...
Changes in src/backends/ast_asn1/ocarina-backends-asn1_values.adb
-13
+13
Loading file...
Changes in src/backends/ast_asn1/ocarina-backends-asn1_tree-nutils.adb
-108
+108
Loading file...
Changes in src/backends/asn1_deployment/ocarina-backends-asn1.adb
-13
+13
Loading file...
Changes in src/backends/asn1_deployment/ocarina-backends-asn1-deployment.adb
-162
+162
Loading file...
Changes in src/backends/ast_asn1/ocarina-backends-asn1_tree-generator.adb
-143
+143
Loading file...
Files Coverage
src 0.47% 70.52%
Project Totals (369 files) 70.52%
Loading