MCPcopy Create free account
hub / github.com/OpenSteam001/OpenSteamTool / parseEnum

Method parseEnum

tools/ipc_codegen/ipc_codegen.cpp:243–264  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

241
242private:
243 EnumDecl parseEnum() {
244 EnumDecl decl;
245 decl.line = token_.line;
246 decl.name = expect(Tok::Ident, "enum name").text;
247 expect(Tok::Colon);
248 decl.underlying = expect(Tok::Ident, "enum underlying type").text;
249 expect(Tok::LBrace);
250 std::unordered_set<std::string> names;
251 while (token_.kind != Tok::RBrace) {
252 EnumMember member;
253 member.line = token_.line;
254 member.name = expect(Tok::Ident, "enum member").text;
255 ensureUnique(names, member.name, "enum member", member.line);
256 expect(Tok::Equal);
257 member.value = expect(Tok::Int, "enum value").text;
258 expect(Tok::Semi);
259 decl.members.push_back(std::move(member));
260 }
261 expect(Tok::RBrace);
262 optionalSemi();
263 return decl;
264 }
265
266 StructDecl parseStruct() {
267 StructDecl decl;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected