LCOV - code coverage report
Current view: top level - gui/source - gui_error_info_printer.c (source / functions) Coverage Total Hit
Test: crystal-facet-uml_v1.63.2_covts Lines: 0.0 % 49 0
Test Date: 2025-05-01 10:10:14 Functions: 0.0 % 3 0

            Line data    Source code
       1              : /* File: gui_error_info_printer.c; Copyright and License: see below */
       2              : 
       3              : #include "gui_error_info_printer.h"
       4              : #include "u8/u8_trace.h"
       5              : #include "u8/u8_log.h"
       6              : #include <assert.h>
       7              : 
       8            0 : void gui_error_info_printer_init ( gui_error_info_printer_t *this_ )
       9              : {
      10            0 :     U8_TRACE_BEGIN();
      11              : 
      12            0 :     (*this_).dummy = 0;  /* prevent warnings on uninitialized usage */
      13              : 
      14            0 :     U8_TRACE_END();
      15            0 : }
      16              : 
      17            0 : void gui_error_info_printer_destroy ( gui_error_info_printer_t *this_ )
      18              : {
      19            0 :     U8_TRACE_BEGIN();
      20              : 
      21            0 :     U8_TRACE_END();
      22            0 : }
      23              : 
      24            0 : u8_error_t gui_error_info_printer_show_error_info ( gui_error_info_printer_t *this_,
      25              :                                                     const u8_error_info_t *err_info,
      26              :                                                     utf8stringbuf_t out_buf )
      27              : {
      28            0 :     U8_TRACE_BEGIN();
      29            0 :     u8_error_t result = U8_ERROR_NONE;
      30              : 
      31              :     /* update content text: */
      32            0 :     switch ( u8_error_info_get_error( err_info ) )
      33              :     {
      34            0 :         case U8_ERROR_LEXICAL_STRUCTURE:
      35              :         {
      36            0 :             result |= utf8stringbuf_append_str( &out_buf, "Lexical error in input" );
      37              :         }
      38            0 :         break;
      39              : 
      40            0 :         case U8_ERROR_PARSER_STRUCTURE:
      41              :         {
      42            0 :             result |= utf8stringbuf_append_str( &out_buf, "Parser error in input" );
      43              :         }
      44            0 :         break;
      45              : 
      46            0 :         case U8_ERROR_STRING_BUFFER_EXCEEDED:
      47              :         {
      48            0 :             result |= utf8stringbuf_append_str( &out_buf, "String too long in input" );
      49              :         }
      50            0 :         break;
      51              : 
      52            0 :         case U8_ERROR_VALUE_OUT_OF_RANGE:
      53              :         {
      54            0 :             result |= utf8stringbuf_append_str( &out_buf, "Illegal value in input" );
      55              :         }
      56            0 :         break;
      57              : 
      58            0 :         default:
      59              :         {
      60            0 :             result |= utf8stringbuf_append_str( &out_buf, "Error x" );
      61            0 :             result |= utf8stringbuf_append_hex( &out_buf, u8_error_info_get_error( err_info ) );
      62            0 :             result |= utf8stringbuf_append_str( &out_buf, " occurred" );
      63              :         }
      64            0 :         break;
      65              :     }
      66              : 
      67            0 :     switch ( u8_error_info_get_unit ( err_info ) )
      68              :     {
      69            0 :         case U8_ERROR_INFO_UNIT_LINE:
      70              :         {
      71            0 :             result |= utf8stringbuf_append_str( &out_buf, " at line " );
      72            0 :             result |= utf8stringbuf_append_int( &out_buf, u8_error_info_get_line( err_info ) );
      73              :         }
      74            0 :         break;
      75              : 
      76            0 :         case U8_ERROR_INFO_UNIT_NAME:
      77              :         {
      78            0 :             result |= utf8stringbuf_append_str( &out_buf, " at name " );
      79            0 :             result |= utf8stringbuf_append_str( &out_buf, u8_error_info_get_name( err_info ) );
      80              :         }
      81            0 :         break;
      82              : 
      83            0 :         case U8_ERROR_INFO_UNIT_LINE_NAME:
      84              :         {
      85            0 :             result |= utf8stringbuf_append_str( &out_buf, " at name " );
      86            0 :             result |= utf8stringbuf_append_str( &out_buf, u8_error_info_get_name( err_info ) );
      87            0 :             result |= utf8stringbuf_append_str( &out_buf, " at line " );
      88            0 :             result |= utf8stringbuf_append_int( &out_buf, u8_error_info_get_line( err_info ) );
      89              :         }
      90            0 :         break;
      91              : 
      92            0 :         default:
      93              :         {
      94              :             /* no further information to add */
      95              :         }
      96            0 :         break;
      97              :     }
      98              : 
      99            0 :     U8_TRACE_END_ERR( result );
     100            0 :     return result;
     101              : }
     102              : 
     103              : 
     104              : /*
     105              : Copyright 2022-2025 Andreas Warnke
     106              : 
     107              : Licensed under the Apache License, Version 2.0 (the "License");
     108              : you may not use this file except in compliance with the License.
     109              : You may obtain a copy of the License at
     110              : 
     111              :     http://www.apache.org/licenses/LICENSE-2.0
     112              : 
     113              : Unless required by applicable law or agreed to in writing, software
     114              : distributed under the License is distributed on an "AS IS" BASIS,
     115              : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     116              : See the License for the specific language governing permissions and
     117              : limitations under the License.
     118              : */
        

Generated by: LCOV version 2.0-1