Coverage Report

Created: 2026-09-28 06:22

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/WasmEdge/lib/loader/ast/component/component_value.cpp
Line
Count
Source
1
// SPDX-License-Identifier: Apache-2.0
2
// SPDX-FileCopyrightText: 2019-2024 Second State INC
3
4
#include "loader/loader.h"
5
6
namespace WasmEdge {
7
namespace Loader {
8
9
16.4k
Expect<void> Loader::loadValue(AST::Component::Value &V) {
10
  // value ::= t:<valtype> len:<core:u32> v:<val(t)> => (value t v)
11
  //           (where len = ||v||)
12
16.4k
  EXPECTED_TRY(loadType(V.getType()).map_error([this](auto E) {
13
16.3k
    return logLoadError(E, FMgr.getLastOffset(), ASTNodeAttr::Comp_Sec_Value);
14
16.3k
  }));
15
32.7k
  EXPECTED_TRY(uint32_t Len, FMgr.readU32().map_error([this](auto E) {
16
32.7k
    return logLoadError(E, FMgr.getLastOffset(), ASTNodeAttr::Comp_Sec_Value);
17
32.7k
  }));
18
32.7k
  EXPECTED_TRY(V.getData(), FMgr.readBytes(Len).map_error([this](auto E) {
19
16.3k
    return logLoadError(E, FMgr.getLastOffset(), ASTNodeAttr::Comp_Sec_Value);
20
16.3k
  }));
21
16.3k
  return {};
22
32.7k
}
23
24
} // namespace Loader
25
} // namespace WasmEdge