Coverage Report

Created: 2026-11-09 06:49

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
52.3k
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
52.3k
  EXPECTED_TRY(loadType(V.getType()).map_error([this](auto E) {
13
52.2k
    return logLoadError(E, FMgr.getLastOffset(), ASTNodeAttr::Comp_Sec_Value);
14
52.2k
  }));
15
104k
  EXPECTED_TRY(uint32_t Len, FMgr.readU32().map_error([this](auto E) {
16
104k
    return logLoadError(E, FMgr.getLastOffset(), ASTNodeAttr::Comp_Sec_Value);
17
104k
  }));
18
104k
  EXPECTED_TRY(V.getData(), FMgr.readBytes(Len).map_error([this](auto E) {
19
52.2k
    return logLoadError(E, FMgr.getLastOffset(), ASTNodeAttr::Comp_Sec_Value);
20
52.2k
  }));
21
52.2k
  return {};
22
104k
}
23
24
} // namespace Loader
25
} // namespace WasmEdge