summaryrefslogtreecommitdiff
path: root/src/parser/context-decls.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/context-decls.cpp')
-rw-r--r--src/parser/context-decls.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/parser/context-decls.cpp b/src/parser/context-decls.cpp
index d9279a0b6..c78c47d60 100644
--- a/src/parser/context-decls.cpp
+++ b/src/parser/context-decls.cpp
@@ -68,12 +68,14 @@ Result<> ParseDeclsCtx::addFunc(Name name,
ImportNames* import,
TypeUseT type,
std::optional<LocalsT>,
+ std::vector<Annotation>&& annotations,
Index pos) {
CHECK_ERR(checkImport(pos, import));
auto f = addFuncDecl(pos, name, import);
CHECK_ERR(f);
CHECK_ERR(addExports(in, wasm, *f, exports, ExternalKind::Function));
- funcDefs.push_back({name, pos, Index(funcDefs.size())});
+ funcDefs.push_back(
+ {name, pos, Index(funcDefs.size()), std::move(annotations)});
return Ok{};
}
@@ -109,7 +111,8 @@ Result<> ParseDeclsCtx::addTable(Name name,
auto t = addTableDecl(pos, name, import, limits);
CHECK_ERR(t);
CHECK_ERR(addExports(in, wasm, *t, exports, ExternalKind::Table));
- tableDefs.push_back({name, pos, Index(tableDefs.size())});
+ // TODO: table annotations
+ tableDefs.push_back({name, pos, Index(tableDefs.size()), {}});
return Ok{};
}
@@ -164,7 +167,8 @@ Result<> ParseDeclsCtx::addMemory(Name name,
auto m = addMemoryDecl(pos, name, import, type);
CHECK_ERR(m);
CHECK_ERR(addExports(in, wasm, *m, exports, ExternalKind::Memory));
- memoryDefs.push_back({name, pos, Index(memoryDefs.size())});
+ // TODO: memory annotations
+ memoryDefs.push_back({name, pos, Index(memoryDefs.size()), {}});
return Ok{};
}
@@ -209,7 +213,8 @@ Result<> ParseDeclsCtx::addGlobal(Name name,
auto g = addGlobalDecl(pos, name, import);
CHECK_ERR(g);
CHECK_ERR(addExports(in, wasm, *g, exports, ExternalKind::Global));
- globalDefs.push_back({name, pos, Index(globalDefs.size())});
+ // TODO: global annotations
+ globalDefs.push_back({name, pos, Index(globalDefs.size()), {}});
return Ok{};
}
@@ -228,7 +233,8 @@ Result<> ParseDeclsCtx::addElem(
name = Names::getValidElementSegmentName(wasm, name);
e->name = name;
}
- elemDefs.push_back({name, pos, Index(wasm.elementSegments.size())});
+ // TODO: element segment annotations
+ elemDefs.push_back({name, pos, Index(wasm.elementSegments.size()), {}});
wasm.addElementSegment(std::move(e));
return Ok{};
}
@@ -252,7 +258,8 @@ Result<> ParseDeclsCtx::addData(Name name,
d->name = name;
}
d->data = std::move(data);
- dataDefs.push_back({name, pos, Index(wasm.dataSegments.size())});
+ // TODO: data segment annotations
+ dataDefs.push_back({name, pos, Index(wasm.dataSegments.size()), {}});
wasm.addDataSegment(std::move(d));
return Ok{};
}
@@ -285,7 +292,8 @@ Result<> ParseDeclsCtx::addTag(Name name,
auto t = addTagDecl(pos, name, import);
CHECK_ERR(t);
CHECK_ERR(addExports(in, wasm, *t, exports, ExternalKind::Tag));
- tagDefs.push_back({name, pos, Index(tagDefs.size())});
+ // TODO: tag annotations
+ tagDefs.push_back({name, pos, Index(tagDefs.size()), {}});
return Ok{};
}