MCPcopy Create free account
hub / github.com/WebAssembly/wabt / WriteNames

Method WriteNames

src/binary-writer.cc:1378–1406  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1376
1377template <typename T>
1378void BinaryWriter::WriteNames(const std::vector<T*>& elems,
1379 NameSectionSubsection type) {
1380 size_t num_named_elems = 0;
1381 for (const T* elem : elems) {
1382 if (!elem->name.empty()) {
1383 num_named_elems++;
1384 }
1385 }
1386
1387 if (!num_named_elems) {
1388 return;
1389 }
1390
1391 WriteU32Leb128(stream_, type, "name subsection type");
1392 BeginSubsection("name subsection");
1393
1394 char desc[100];
1395 WriteU32Leb128(stream_, num_named_elems, "num names");
1396 for (size_t i = 0; i < elems.size(); ++i) {
1397 const T* elem = elems[i];
1398 if (elem->name.empty()) {
1399 continue;
1400 }
1401 WriteU32Leb128(stream_, i, "elem index");
1402 wabt_snprintf(desc, sizeof(desc), "elem name %" PRIzd, i);
1403 WriteDebugName(stream_, elem->name, desc);
1404 }
1405 EndSubsection();
1406}
1407
1408void BinaryWriter::WriteImport(const Import* import) {
1409 switch (import->kind()) {

Callers

nothing calls this directly

Calls 5

wabt_snprintfFunction · 0.85
WriteDebugNameFunction · 0.85
WriteU32Leb128Function · 0.70
emptyMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected