LCOV - code coverage report
Current view: top level - data/source/entity - data_classifier_type.c (source / functions) Coverage Total Hit
Test: crystal-facet-uml_v1.67.0_covts Lines: 80.0 % 5 4
Test Date: 2025-11-06 17:22:08 Functions: 100.0 % 1 1

            Line data    Source code
       1              : /* File: data_classifier_type.c; Copyright and License: see below */
       2              : 
       3              : #include "entity/data_classifier_type.h"
       4              : #include <stddef.h>
       5              : #include <assert.h>
       6              : 
       7              : const data_classifier_type_t DATA_CLASSIFIER_TYPE_ARRAY [DATA_CLASSIFIER_TYPE_COUNT]
       8              :     = {
       9              :         DATA_CLASSIFIER_TYPE_BLOCK,
      10              :         DATA_CLASSIFIER_TYPE_CONSTRAINT_BLOCK,
      11              :         /* DATA_CLASSIFIER_TYPE_DEPRECATED_FEATURE, */
      12              :         DATA_CLASSIFIER_TYPE_REQUIREMENT,
      13              :         DATA_CLASSIFIER_TYPE_ACTOR,
      14              :         DATA_CLASSIFIER_TYPE_USE_CASE,
      15              :         DATA_CLASSIFIER_TYPE_SUBSYSTEM,
      16              :         DATA_CLASSIFIER_TYPE_ACTIVITY,
      17              :         DATA_CLASSIFIER_TYPE_STATE,
      18              :         DATA_CLASSIFIER_TYPE_INTERACTION_USE,
      19              :         DATA_CLASSIFIER_TYPE_NODE,
      20              :         DATA_CLASSIFIER_TYPE_COMPONENT,
      21              :         DATA_CLASSIFIER_TYPE_PART,
      22              :         DATA_CLASSIFIER_TYPE_INTERFACE,
      23              :         DATA_CLASSIFIER_TYPE_PACKAGE,
      24              :         DATA_CLASSIFIER_TYPE_CLASS,
      25              :         DATA_CLASSIFIER_TYPE_OBJECT,
      26              :         DATA_CLASSIFIER_TYPE_ARTIFACT,
      27              :         DATA_CLASSIFIER_TYPE_COMMENT,
      28              :         DATA_CLASSIFIER_TYPE_IMAGE,
      29              :         DATA_CLASSIFIER_TYPE_STEREOTYPE,
      30              :         DATA_CLASSIFIER_TYPE_DYN_INTERRUPTABLE_REGION,
      31              :         DATA_CLASSIFIER_TYPE_DYN_INITIAL_NODE,
      32              :         DATA_CLASSIFIER_TYPE_DYN_FINAL_NODE,
      33              :         DATA_CLASSIFIER_TYPE_DYN_FORK_NODE,
      34              :         DATA_CLASSIFIER_TYPE_DYN_JOIN_NODE,
      35              :         DATA_CLASSIFIER_TYPE_DYN_DECISION_NODE,
      36              :         DATA_CLASSIFIER_TYPE_DYN_SHALLOW_HISTORY,
      37              :         DATA_CLASSIFIER_TYPE_DYN_DEEP_HISTORY,
      38              :         DATA_CLASSIFIER_TYPE_DYN_ACCEPT_EVENT,
      39              :         DATA_CLASSIFIER_TYPE_DYN_ACCEPT_TIME_EVENT,
      40              :         DATA_CLASSIFIER_TYPE_DYN_SEND_SIGNAL,
      41              :         DATA_CLASSIFIER_TYPE_INTERACTION
      42              :     };
      43              : 
      44              : static const char *const DATA_CLASSIFIER_TYPE_NAME_ARRAY [DATA_CLASSIFIER_TYPE_HASH_MOD]
      45              :     = {
      46              :         /* 0x0 .. 0x9 */
      47              :         [0xa] = "",
      48              :         [0xb] = "",
      49              :         [0xc] = "",
      50              :         [0xd] = "",
      51              :         [0xe] = "",
      52              :         [ DATA_CLASSIFIER_TYPE_BLOCK % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Block",
      53              :         /* 0x10 .. 0x14 */
      54              :         [ DATA_CLASSIFIER_TYPE_CONSTRAINT_BLOCK % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Constraint Block",
      55              :         [0x16] = "",
      56              :         [0x17] = "",
      57              :         [ DATA_CLASSIFIER_TYPE_REQUIREMENT % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Requirement",
      58              :         [ DATA_CLASSIFIER_TYPE_ACTOR % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Actor",
      59              :         [ DATA_CLASSIFIER_TYPE_USE_CASE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Use Case",
      60              :         [ DATA_CLASSIFIER_TYPE_SUBSYSTEM % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Subsystem",
      61              :         [0x1c] = "",
      62              :         [0x1d] = "",
      63              :         [0x1e] = "",
      64              :         [0x1f] = "",
      65              :         [0x20] = "",
      66              :         [0x21] = "",
      67              :         [0x22] = "",
      68              :         [ DATA_CLASSIFIER_TYPE_ACTIVITY % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Activity",
      69              :         [ DATA_CLASSIFIER_TYPE_STATE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "State",
      70              :         [ DATA_CLASSIFIER_TYPE_INTERACTION_USE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Interaction Use",
      71              :         [0x26] = "",
      72              :         [0x27] = "",
      73              :         /* 0x28 is DATA_CLASSIFIER_TYPE_INTERACTION */
      74              :         [0x29] = "",
      75              :         [0x2a] = "",
      76              :         [0x2b] = "",
      77              :         [0x2c] = "",
      78              :         [ DATA_CLASSIFIER_TYPE_NODE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Node",
      79              :         [ DATA_CLASSIFIER_TYPE_COMPONENT % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Component",
      80              :         [ DATA_CLASSIFIER_TYPE_PART % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Part",
      81              :         [ DATA_CLASSIFIER_TYPE_INTERFACE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Interface",
      82              :         [ DATA_CLASSIFIER_TYPE_PACKAGE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Package",
      83              :         [ DATA_CLASSIFIER_TYPE_CLASS % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Class",
      84              :         [ DATA_CLASSIFIER_TYPE_OBJECT % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Object",
      85              :         [ DATA_CLASSIFIER_TYPE_ARTIFACT % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Artifact",
      86              :         [0x35] = "",
      87              :         [0x36] = "",
      88              :         [ DATA_CLASSIFIER_TYPE_COMMENT % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Comment",
      89              :         [0x38] = "",
      90              :         [0x39] = "",
      91              :         [0x3a] = "",
      92              :         [0x3b] = "",
      93              :         [0x3c] = "",
      94              :         [0x3d] = "",
      95              :         [0x3e] = "",
      96              :         [ DATA_CLASSIFIER_TYPE_IMAGE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Image",
      97              :         [ DATA_CLASSIFIER_TYPE_STEREOTYPE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Stereotype",
      98              :         [0x41] = "",
      99              :         [0x42] = "",
     100              :         [0x43] = "",
     101              :         [0x44] = "",
     102              :         [0x45] = "",
     103              :         [0x46] = "",
     104              :         [0x47] = "",
     105              :         [0x48] = "",
     106              :         [0x49] = "",
     107              :         [0x4a] = "",
     108              :         /* 0x0 .. 0x9 */
     109              :         [ DATA_CLASSIFIER_TYPE_DYN_INTERRUPTABLE_REGION % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Interruptable Region",
     110              :         [ DATA_CLASSIFIER_TYPE_DYN_INITIAL_NODE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Initial Node",
     111              :         [ DATA_CLASSIFIER_TYPE_DYN_FINAL_NODE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Final Node",
     112              :         [0x3] = "",
     113              :         [ DATA_CLASSIFIER_TYPE_DYN_FORK_NODE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Fork",
     114              :         [ DATA_CLASSIFIER_TYPE_DYN_JOIN_NODE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Join",
     115              :         [0x6] = "",
     116              :         [ DATA_CLASSIFIER_TYPE_DYN_DECISION_NODE % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Decision",
     117              :         [ DATA_CLASSIFIER_TYPE_DYN_SHALLOW_HISTORY % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Shallow History",
     118              :         [ DATA_CLASSIFIER_TYPE_DYN_DEEP_HISTORY % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Deep History",
     119              :         /* 0x10 .. 0x14 */
     120              :         [0x10] = "",
     121              :         [ DATA_CLASSIFIER_TYPE_DYN_ACCEPT_EVENT % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Accept Event",
     122              :         [ DATA_CLASSIFIER_TYPE_DYN_ACCEPT_TIME_EVENT % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Time Event",
     123              :         [0x13] = "",
     124              :         [ DATA_CLASSIFIER_TYPE_DYN_SEND_SIGNAL % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Send Signal",
     125              :         /* 0x28 is DATA_CLASSIFIER_TYPE_INTERACTION */
     126              :         [ DATA_CLASSIFIER_TYPE_INTERACTION % DATA_CLASSIFIER_TYPE_HASH_MOD ] = "Interaction",
     127              :     };
     128              : 
     129          376 : const char * data_classifier_type_get_name( data_classifier_type_t this_ )
     130              : {
     131            0 :     const char * result
     132          376 :         = ( this_ == DATA_CLASSIFIER_TYPE_VOID ) ? "" : DATA_CLASSIFIER_TYPE_NAME_ARRAY[ this_ % DATA_CLASSIFIER_TYPE_HASH_MOD ];
     133          376 :     assert( result != NULL );
     134          376 :     return ( result == NULL ) ? "" : result;
     135              : }
     136              : 
     137              : 
     138              : /*
     139              : Copyright 2021-2025 Andreas Warnke
     140              : 
     141              : Licensed under the Apache License, Version 2.0 (the "License");
     142              : you may not use this file except in compliance with the License.
     143              : You may obtain a copy of the License at
     144              : 
     145              :     http://www.apache.org/licenses/LICENSE-2.0
     146              : 
     147              : Unless required by applicable law or agreed to in writing, software
     148              : distributed under the License is distributed on an "AS IS" BASIS,
     149              : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     150              : See the License for the specific language governing permissions and
     151              : limitations under the License.
     152              : */
        

Generated by: LCOV version 2.0-1