262 lines
40 KiB
HTML
262 lines
40 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title>LCOV - coverage.info - core/dbc_parser.cpp</title>
|
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
|
|
|
<tr>
|
|
<td width="100%">
|
|
<table cellpadding=1 border=0 width="100%">
|
|
<tr>
|
|
<td width="10%" class="headerItem">Current view:</td>
|
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_parser.cpp<span style="font-size: 80%;"> (source / <a href="dbc_parser.cpp.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
|
<td width="5%"></td>
|
|
<td width="5%"></td>
|
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="headerItem">Test:</td>
|
|
<td class="headerValue">coverage.info</td>
|
|
<td></td>
|
|
<td class="headerItem">Lines:</td>
|
|
<td class="headerCovTableEntryHi">99.0 %</td>
|
|
<td class="headerCovTableEntry">99</td>
|
|
<td class="headerCovTableEntry">98</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="headerItem">Test Date:</td>
|
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
|
<td></td>
|
|
<td class="headerItem">Functions:</td>
|
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
|
<td class="headerCovTableEntry">4</td>
|
|
<td class="headerCovTableEntry">4</td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td class="headerItem">Branches:</td>
|
|
<td class="headerCovTableEntryLo">70.4 %</td>
|
|
<td class="headerCovTableEntry">216</td>
|
|
<td class="headerCovTableEntry">152</td>
|
|
</tr>
|
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
|
</table>
|
|
|
|
<table cellpadding=0 cellspacing=0 border=0>
|
|
<tr>
|
|
<td><br></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
|
<pre class="source">
|
|
<span id="L1"><span class="lineNum"> 1</span> : : /**</span>
|
|
<span id="L2"><span class="lineNum"> 2</span> : : * @file dbc_parser.cpp</span>
|
|
<span id="L3"><span class="lineNum"> 3</span> : : * @brief DBC file reading and diagnostic collection.</span>
|
|
<span id="L4"><span class="lineNum"> 4</span> : : *</span>
|
|
<span id="L5"><span class="lineNum"> 5</span> : : * Created: 2026-03-13</span>
|
|
<span id="L6"><span class="lineNum"> 6</span> : : * Author: Deeaitch (Dim. Himro)</span>
|
|
<span id="L7"><span class="lineNum"> 7</span> : : *</span>
|
|
<span id="L8"><span class="lineNum"> 8</span> : : * Licensed under the MIT License.</span>
|
|
<span id="L9"><span class="lineNum"> 9</span> : : * See LICENSE file in the project root for full license text.</span>
|
|
<span id="L10"><span class="lineNum"> 10</span> : : */</span>
|
|
<span id="L11"><span class="lineNum"> 11</span> : : </span>
|
|
<span id="L12"><span class="lineNum"> 12</span> : : #include "dbc_parser.h"</span>
|
|
<span id="L13"><span class="lineNum"> 13</span> : : #include "dbc_statement_handler.h"</span>
|
|
<span id="L14"><span class="lineNum"> 14</span> : : </span>
|
|
<span id="L15"><span class="lineNum"> 15</span> : : #include "text_utils.h"</span>
|
|
<span id="L16"><span class="lineNum"> 16</span> : : #include <fstream></span>
|
|
<span id="L17"><span class="lineNum"> 17</span> : : #include <sstream></span>
|
|
<span id="L18"><span class="lineNum"> 18</span> : : #include <stdexcept></span>
|
|
<span id="L19"><span class="lineNum"> 19</span> : : #include <utility></span>
|
|
<span id="L20"><span class="lineNum"> 20</span> : : </span>
|
|
<span id="L21"><span class="lineNum"> 21</span> : : namespace {</span>
|
|
<span id="L22"><span class="lineNum"> 22</span> : : // Read through the closing unescaped quote, preserving comment whitespace.</span>
|
|
<span id="L23"><span class="lineNum"> 23</span> :<span class="tlaGNC"> 140 : void ReadCommentLines(std::ifstream &input, std::string &statement,</span></span>
|
|
<span id="L24"><span class="lineNum"> 24</span> : : std::size_t &lineNumber) {</span>
|
|
<span id="L25"><span class="lineNum"> 25</span> :<span class="tlaGNC"> 140 : bool inQuote = false;</span></span>
|
|
<span id="L26"><span class="lineNum"> 26</span> :<span class="tlaGNC"> 140 : bool escaped = false;</span></span>
|
|
<span id="L27"><span class="lineNum"> 27</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : std::string part = statement;</span></span>
|
|
<span id="L28"><span class="lineNum"> 28</span> : : for (;;) {</span>
|
|
<span id="L29"><span class="lineNum"> 29</span> [<span class="tlaGBC" title="Branch 0 was taken 3662 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 15 times"> + </span>]:<span class="tlaGNC"> 3677 : for (const char character: part) {</span></span>
|
|
<span id="L30"><span class="lineNum"> 30</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3657 times"> + </span>]:<span class="tlaGNC"> 3662 : if (escaped) {</span></span>
|
|
<span id="L31"><span class="lineNum"> 31</span> :<span class="tlaGNC"> 5 : escaped = false;</span></span>
|
|
<span id="L32"><span class="lineNum"> 32</span> [<span class="tlaGBC" title="Branch 0 was taken 1289 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2368 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1282 times"> + </span>]:<span class="tlaGNC"> 3657 : } else if (inQuote && character == '\\') {</span></span>
|
|
<span id="L33"><span class="lineNum"> 33</span> :<span class="tlaGNC"> 7 : escaped = true;</span></span>
|
|
<span id="L34"><span class="lineNum"> 34</span> [<span class="tlaGBC" title="Branch 0 was taken 268 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3382 times"> + </span>]:<span class="tlaGNC"> 3650 : } else if (character == '"') {</span></span>
|
|
<span id="L35"><span class="lineNum"> 35</span> [<span class="tlaGBC" title="Branch 0 was taken 132 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 136 times"> + </span>]:<span class="tlaGNC"> 268 : if (inQuote)</span></span>
|
|
<span id="L36"><span class="lineNum"> 36</span> :<span class="tlaGNC"> 132 : return;</span></span>
|
|
<span id="L37"><span class="lineNum"> 37</span> :<span class="tlaGNC"> 136 : inQuote = true;</span></span>
|
|
<span id="L38"><span class="lineNum"> 38</span> : : }</span>
|
|
<span id="L39"><span class="lineNum"> 39</span> : : }</span>
|
|
<span id="L40"><span class="lineNum"> 40</span> [<span class="tlaGBC" title="Branch 0 was taken 11 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 11 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 15 : if (!inQuote || !std::getline(input, part))</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 11 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 8 times"> + </span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 7 times"> + </span>]
|
|
<span id="L41"><span class="lineNum"> 41</span> :<span class="tlaGNC"> 8 : return;</span></span>
|
|
<span id="L42"><span class="lineNum"> 42</span> :<span class="tlaGNC"> 7 : ++lineNumber;</span></span>
|
|
<span id="L43"><span class="lineNum"> 43</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 5 times"> + </span> :<span class="tlaGNC"> 7 : if (!part.empty() && part.back() == '\r')</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 5 times"> + </span>]
|
|
<span id="L44"><span class="lineNum"> 44</span> :<span class="tlaGNC"> 2 : part.pop_back();</span></span>
|
|
<span id="L45"><span class="lineNum"> 45</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 7 : statement += '\n';</span></span>
|
|
<span id="L46"><span class="lineNum"> 46</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 7 : statement += part;</span></span>
|
|
<span id="L47"><span class="lineNum"> 47</span> : : // A physical newline cannot escape the next line's first character.</span>
|
|
<span id="L48"><span class="lineNum"> 48</span> :<span class="tlaGNC"> 7 : escaped = false;</span></span>
|
|
<span id="L49"><span class="lineNum"> 49</span> :<span class="tlaGNC"> 7 : }</span></span>
|
|
<span id="L50"><span class="lineNum"> 50</span> :<span class="tlaGNC"> 140 : }</span></span>
|
|
<span id="L51"><span class="lineNum"> 51</span> : : </span>
|
|
<span id="L52"><span class="lineNum"> 52</span> :<span class="tlaGNC"> 349 : DbcDiagnosticCode StatementErrorCode(const std::string &keyword) {</span></span>
|
|
<span id="L53"><span class="lineNum"> 53</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 345 times"> + </span>]:<span class="tlaGNC"> 349 : if (keyword == "SG_MUL_VAL_")</span></span>
|
|
<span id="L54"><span class="lineNum"> 54</span> :<span class="tlaGNC"> 4 : return DbcDiagnosticCode::UnsupportedStatement;</span></span>
|
|
<span id="L55"><span class="lineNum"> 55</span> [<span class="tlaGBC" title="Branch 0 was taken 25 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 320 times"> + </span>]:<span class="tlaGNC"> 345 : if (keyword == "VAL_")</span></span>
|
|
<span id="L56"><span class="lineNum"> 56</span> :<span class="tlaGNC"> 25 : return DbcDiagnosticCode::InvalidValueDescription;</span></span>
|
|
<span id="L57"><span class="lineNum"> 57</span> :<span class="tlaGNC"> 320 : return DbcDiagnosticCode::InvalidStatement;</span></span>
|
|
<span id="L58"><span class="lineNum"> 58</span> : : }</span>
|
|
<span id="L59"><span class="lineNum"> 59</span> : : }</span>
|
|
<span id="L60"><span class="lineNum"> 60</span> : : </span>
|
|
<span id="L61"><span class="lineNum"> 61</span> :<span class="tlaGNC"> 656 : DbcDatabase DbcParser::ParseFile(const std::string &filePath) const {</span></span>
|
|
<span id="L62"><span class="lineNum"> 62</span> [<span class="tlaGBC" title="Branch 0 was taken 656 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 656 : DbcParseResult result = ParseFileWithDiagnostics(filePath);</span></span>
|
|
<span id="L63"><span class="lineNum"> 63</span> [<span class="tlaGBC" title="Branch 0 was taken 545 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 117 times"> + </span>]:<span class="tlaGNC"> 662 : for (const DbcDiagnostic &diagnostic : result.diagnostics) {</span></span>
|
|
<span id="L64"><span class="lineNum"> 64</span> [<span class="tlaGBC" title="Branch 0 was taken 539 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6 times"> + </span>]:<span class="tlaGNC"> 545 : if (diagnostic.severity == DbcDiagnosticSeverity::Error) {</span></span>
|
|
<span id="L65"><span class="lineNum"> 65</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 536 times"> + </span>]:<span class="tlaGNC"> 539 : if (diagnostic.lineNumber == 0U)</span></span>
|
|
<span id="L66"><span class="lineNum"> 66</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 3 : throw std::runtime_error(diagnostic.message);</span></span>
|
|
<span id="L67"><span class="lineNum"> 67</span> [<span class="tlaGBC" title="Branch 0 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1072 : throw std::runtime_error(diagnostic.filePath + ":" +</span></span>
|
|
<span id="L68"><span class="lineNum"> 68</span> [<span class="tlaGBC" title="Branch 0 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 1608 : std::to_string(diagnostic.lineNumber) + ": " + diagnostic.message);</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 536 times"> + </span>
|
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span>]
|
|
<span id="L69"><span class="lineNum"> 69</span> : : }</span>
|
|
<span id="L70"><span class="lineNum"> 70</span> : : }</span>
|
|
<span id="L71"><span class="lineNum"> 71</span> :<span class="tlaGNC"> 234 : return std::move(result.database);</span></span>
|
|
<span id="L72"><span class="lineNum"> 72</span> :<span class="tlaGNC"> 656 : }</span></span>
|
|
<span id="L73"><span class="lineNum"> 73</span> : : </span>
|
|
<span id="L74"><span class="lineNum"> 74</span> :<span class="tlaGNC"> 951 : DbcParseResult DbcParser::ParseFileWithDiagnostics(const std::string &filePath) const {</span></span>
|
|
<span id="L75"><span class="lineNum"> 75</span> :<span class="tlaGNC"> 951 : DbcParseResult result;</span></span>
|
|
<span id="L76"><span class="lineNum"> 76</span> [<span class="tlaGBC" title="Branch 0 was taken 951 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 951 : std::ifstream input(filePath.c_str());</span></span>
|
|
<span id="L77"><span class="lineNum"> 77</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 948 times"> + </span>]:<span class="tlaGNC"> 951 : if (!input.is_open()) {</span></span>
|
|
<span id="L78"><span class="lineNum"> 78</span> :<span class="tlaGNC"> 3 : result.diagnostics.push_back({DbcDiagnosticSeverity::Error,</span></span>
|
|
<span id="L79"><span class="lineNum"> 79</span> : : DbcDiagnosticCode::FileOpenError, filePath, 0U,</span>
|
|
<span id="L80"><span class="lineNum"> 80</span> : : "Failed to open DBC file: " + filePath});</span>
|
|
<span id="L81"><span class="lineNum"> 81</span> :<span class="tlaGNC"> 3 : return result;</span></span>
|
|
<span id="L82"><span class="lineNum"> 82</span> : : }</span>
|
|
<span id="L83"><span class="lineNum"> 83</span> : : </span>
|
|
<span id="L84"><span class="lineNum"> 84</span> :<span class="tlaGNC"> 948 : DbcDatabase database;</span></span>
|
|
<span id="L85"><span class="lineNum"> 85</span> :<span class="tlaGNC"> 948 : DbcParseContext context{database, nullptr};</span></span>
|
|
<span id="L86"><span class="lineNum"> 86</span> :<span class="tlaGNC"> 948 : context.enableJ1939 = options.enableJ1939;</span></span>
|
|
<span id="L87"><span class="lineNum"> 87</span> [<span class="tlaGBC" title="Branch 0 was taken 948 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 948 : const DbcStatementDispatcher dispatcher;</span></span>
|
|
<span id="L88"><span class="lineNum"> 88</span> :<span class="tlaGNC"> 948 : bool inNamespace = false;</span></span>
|
|
<span id="L89"><span class="lineNum"> 89</span> :<span class="tlaGNC"> 948 : std::size_t lineNumber = 0U;</span></span>
|
|
<span id="L90"><span class="lineNum"> 90</span> :<span class="tlaGNC"> 948 : std::string line;</span></span>
|
|
<span id="L91"><span class="lineNum"> 91</span> [<span class="tlaGBC" title="Branch 0 was taken 3097 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3097 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 3097 : while (std::getline(input, line)) {</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2498 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 599 times"> + </span>]
|
|
<span id="L92"><span class="lineNum"> 92</span> :<span class="tlaGNC"> 2498 : ++lineNumber;</span></span>
|
|
<span id="L93"><span class="lineNum"> 93</span> [<span class="tlaGBC" title="Branch 0 was taken 2162 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 336 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 19 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2143 times"> + </span> :<span class="tlaGNC"> 2498 : if (!line.empty() && line.back() == '\r')</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 19 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 2479 times"> + </span>]
|
|
<span id="L94"><span class="lineNum"> 94</span> :<span class="tlaGNC"> 19 : line.pop_back();</span></span>
|
|
<span id="L95"><span class="lineNum"> 95</span> [<span class="tlaGBC" title="Branch 0 was taken 2498 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2498 : const std::string rawLine = line;</span></span>
|
|
<span id="L96"><span class="lineNum"> 96</span> :<span class="tlaGNC"> 2498 : const std::size_t statementLine = lineNumber;</span></span>
|
|
<span id="L97"><span class="lineNum"> 97</span> [<span class="tlaGBC" title="Branch 0 was taken 2498 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2498 : line = dbc_detail::TrimText(line);</span></span>
|
|
<span id="L98"><span class="lineNum"> 98</span> [<span class="tlaGBC" title="Branch 0 was taken 342 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2156 times"> + </span>]:<span class="tlaGNC"> 2498 : if (line.empty())</span></span>
|
|
<span id="L99"><span class="lineNum"> 99</span> :<span class="tlaGNC"> 342 : continue;</span></span>
|
|
<span id="L100"><span class="lineNum"> 100</span> : : </span>
|
|
<span id="L101"><span class="lineNum"> 101</span> [<span class="tlaGBC" title="Branch 0 was taken 2156 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2156 : std::istringstream tokens(line);</span></span>
|
|
<span id="L102"><span class="lineNum"> 102</span> :<span class="tlaGNC"> 2156 : std::string keyword;</span></span>
|
|
<span id="L103"><span class="lineNum"> 103</span> :<span class="tlaGNC"> 2156 : std::string argument;</span></span>
|
|
<span id="L104"><span class="lineNum"> 104</span> [<span class="tlaGBC" title="Branch 0 was taken 2156 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2156 : tokens >> keyword;</span></span>
|
|
<span id="L105"><span class="lineNum"> 105</span> [<span class="tlaGBC" title="Branch 0 was taken 2156 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2156 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2156 : const bool hasArgument = static_cast<bool>(tokens >> argument);</span></span>
|
|
<span id="L106"><span class="lineNum"> 106</span> [<span class="tlaGBC" title="Branch 0 was taken 39 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 39 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 44 : if (inNamespace && !hasArgument && keyword != "BO_" && keyword != "SG_" &&</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 37 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 36 times"> + </span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 1 time"> + </span>]
|
|
<span id="L107"><span class="lineNum"> 107</span> [<span class="tlaGBC" title="Branch 0 was taken 36 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 35 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1 time"> + </span> :<span class="tlaGNC"> 36 : keyword != "BS_" && keyword != "BS_:" &&</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 35 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 31 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 4 times"> + </span>]
|
|
<span id="L108"><span class="lineNum"> 108</span> [<span class="tlaGBC" title="Branch 0 was taken 44 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2112 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 31 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 2200 : keyword != "BU_" && keyword != "BU_:")</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 30 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 6 was taken 30 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 29 times"> + </span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 10 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 11 was taken 2127 times"> + </span>]
|
|
<span id="L109"><span class="lineNum"> 109</span> :<span class="tlaGNC"> 29 : continue; // NS_ lists syntax symbols; BO_, SG_, BS_ and BU_ end the list.</span></span>
|
|
<span id="L110"><span class="lineNum"> 110</span> [<span class="tlaGBC" title="Branch 0 was taken 2127 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2115 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 12 times"> + </span> :<span class="tlaGNC"> 2127 : inNamespace = keyword == "NS_" || keyword == "NS_:";</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2115 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 2112 times"> + </span>]
|
|
<span id="L111"><span class="lineNum"> 111</span> : : </span>
|
|
<span id="L112"><span class="lineNum"> 112</span> [<span class="tlaGBC" title="Branch 0 was taken 2127 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 140 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1987 times"> + </span>]:<span class="tlaGNC"> 2127 : if (keyword == "CM_") {</span></span>
|
|
<span id="L113"><span class="lineNum"> 113</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : line = rawLine;</span></span>
|
|
<span id="L114"><span class="lineNum"> 114</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : ReadCommentLines(input, line, lineNumber);</span></span>
|
|
<span id="L115"><span class="lineNum"> 115</span> : : }</span>
|
|
<span id="L116"><span class="lineNum"> 116</span> : : </span>
|
|
<span id="L117"><span class="lineNum"> 117</span> : : try {</span>
|
|
<span id="L118"><span class="lineNum"> 118</span> :<span class="tlaGNC"> 2127 : context.lineNumber = statementLine;</span></span>
|
|
<span id="L119"><span class="lineNum"> 119</span> [<span class="tlaGBC" title="Branch 0 was taken 1778 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 349 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 37 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1741 times"> + </span>]:<span class="tlaGNC"> 2127 : if (!dispatcher.Dispatch(line, context)) {</span></span>
|
|
<span id="L120"><span class="lineNum"> 120</span> :<span class="tlaGNC"> 37 : result.diagnostics.push_back({DbcDiagnosticSeverity::Warning,</span></span>
|
|
<span id="L121"><span class="lineNum"> 121</span> : : DbcDiagnosticCode::UnsupportedStatement,</span>
|
|
<span id="L122"><span class="lineNum"> 122</span> : : filePath, statementLine,</span>
|
|
<span id="L123"><span class="lineNum"> 123</span> :<span class="tlaGNC"> 37 : "Unsupported statement '" + keyword +</span></span>
|
|
<span id="L124"><span class="lineNum"> 124</span> : : "' is ignored; decoding or metadata may be incomplete."});</span>
|
|
<span id="L125"><span class="lineNum"> 125</span> : : }</span>
|
|
<span id="L126"><span class="lineNum"> 126</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 349 times"> + </span>]:<span class="tlaGNC"> 349 : } catch (const std::exception &error) {</span></span>
|
|
<span id="L127"><span class="lineNum"> 127</span> :<span class="tlaGNC"> 349 : result.diagnostics.push_back({DbcDiagnosticSeverity::Error,</span></span>
|
|
<span id="L128"><span class="lineNum"> 128</span> :<span class="tlaGNC"> 698 : StatementErrorCode(keyword), filePath,</span></span>
|
|
<span id="L129"><span class="lineNum"> 129</span> :<span class="tlaUNC"> 0 : statementLine, error.what()});</span></span>
|
|
<span id="L130"><span class="lineNum"> 130</span> :<span class="tlaGNC"> 349 : return result;</span></span>
|
|
<span id="L131"><span class="lineNum"> 131</span> :<span class="tlaGNC"> 349 : }</span></span>
|
|
<span id="L132"><span class="lineNum"> 132</span> [<span class="tlaGBC" title="Branch 0 was taken 1778 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 349 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1778 times"> + </span> :<span class="tlaGNC"> 3632 : }</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 349 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 1778 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 349 times"> + </span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 1778 times"> + </span><span class="tlaGBC" title="Branch 10 was taken 371 times"> + </span><span class="tlaGBC" title="Branch 11 was taken 349 times"> + </span>]
|
|
<span id="L133"><span class="lineNum"> 133</span> : : </span>
|
|
<span id="L134"><span class="lineNum"> 134</span> [<span class="tlaGBC" title="Branch 0 was taken 599 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 597 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span> :<span class="tlaGNC"> 599 : if (input.bad() || !input.eof()) {</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 597 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaUNC" title="Branch 6 was not taken"> - </span><span class="tlaGBC" title="Branch 7 was taken 597 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 2 times"> + </span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 597 times"> + </span>]
|
|
<span id="L135"><span class="lineNum"> 135</span> :<span class="tlaGNC"> 2 : result.diagnostics.push_back({DbcDiagnosticSeverity::Error,</span></span>
|
|
<span id="L136"><span class="lineNum"> 136</span> : : DbcDiagnosticCode::FileReadError, filePath, 0U,</span>
|
|
<span id="L137"><span class="lineNum"> 137</span> : : "Failed to read DBC file: " + filePath});</span>
|
|
<span id="L138"><span class="lineNum"> 138</span> :<span class="tlaGNC"> 2 : return result;</span></span>
|
|
<span id="L139"><span class="lineNum"> 139</span> : : }</span>
|
|
<span id="L140"><span class="lineNum"> 140</span> : : </span>
|
|
<span id="L141"><span class="lineNum"> 141</span> : : try {</span>
|
|
<span id="L142"><span class="lineNum"> 142</span> [<span class="tlaGBC" title="Branch 0 was taken 587 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 10 times"> + </span>]:<span class="tlaGNC"> 597 : context.ResolveComments(filePath);</span></span>
|
|
<span id="L143"><span class="lineNum"> 143</span> [<span class="tlaGBC" title="Branch 0 was taken 576 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 11 times"> + </span>]:<span class="tlaGNC"> 587 : context.ResolveValueDescriptions(filePath);</span></span>
|
|
<span id="L144"><span class="lineNum"> 144</span> [<span class="tlaGBC" title="Branch 0 was taken 549 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 27 times"> + </span>]:<span class="tlaGNC"> 576 : context.ValidateMultiplexing(filePath);</span></span>
|
|
<span id="L145"><span class="lineNum"> 145</span> [<span class="tlaGBC" title="Branch 0 was taken 163 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 386 times"> + </span>]:<span class="tlaGNC"> 549 : context.ResolveAttributes(filePath, result.diagnostics);</span></span>
|
|
<span id="L146"><span class="lineNum"> 146</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 434 times"> + </span>]:<span class="tlaGNC"> 434 : } catch (const DbcDiagnosticError &error) {</span></span>
|
|
<span id="L147"><span class="lineNum"> 147</span> [<span class="tlaGBC" title="Branch 0 was taken 434 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 434 : result.diagnostics.push_back(error.diagnostic);</span></span>
|
|
<span id="L148"><span class="lineNum"> 148</span> :<span class="tlaGNC"> 434 : return result;</span></span>
|
|
<span id="L149"><span class="lineNum"> 149</span> [<span class="tlaGBC" title="Branch 0 was taken 434 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 434 : }</span></span>
|
|
<span id="L150"><span class="lineNum"> 150</span> :<span class="tlaGNC"> 163 : result.database = std::move(database);</span></span>
|
|
<span id="L151"><span class="lineNum"> 151</span> :<span class="tlaGNC"> 163 : return result;</span></span>
|
|
<span id="L152"><span class="lineNum"> 152</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 1691 : }</span></span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 37 times"> + </span>
|
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span><span class="tlaGBC" title="Branch 10 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 11 was not taken"> - </span><span class="tlaGBC" title="Branch 12 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 13 was not taken"> - </span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 14 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 15 was not taken"> - </span><span class="tlaGBC" title="Branch 16 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 17 was not taken"> - </span><span class="tlaGBC" title="Branch 18 was taken 2 times"> + </span>
|
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 19 was not taken"> - </span><span class="tlaUNC" title="Branch 20 was not taken"> - </span><span class="tlaUNC" title="Branch 21 was not taken"> - </span><span class="tlaUNC" title="Branch 22 was not taken"> - </span><span class="tlaUNC" title="Branch 23 was not taken"> - </span>
|
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 24 was taken 349 times"> + </span><span class="tlaUNC" title="Branch 25 was not taken"> - </span><span class="tlaGBC" title="Branch 26 was taken 349 times"> + </span><span class="tlaUNC" title="Branch 27 was not taken"> - </span><span class="tlaGBC" title="Branch 28 was taken 349 times"> + </span>
|
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 29 was not taken"> - </span><span class="tlaGBC" title="Branch 30 was taken 349 times"> + </span><span class="tlaUNC" title="Branch 31 was not taken"> - </span><span class="tlaUNC" title="Branch 32 was not taken"> - </span><span class="tlaUNC" title="Branch 33 was not taken"> - </span>
|
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 34 was not taken"> - </span><span class="tlaUNC" title="Branch 35 was not taken"> - </span>]
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
|
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
|
</table>
|
|
<br>
|
|
|
|
</body>
|
|
</html>
|