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

Method parseFrame

tools/ipc_codegen/ipc_codegen.cpp:339–360  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

337 }
338
339 FrameDecl parseFrame() {
340 FrameDecl frame;
341 expect(Tok::LBrace);
342 std::unordered_set<std::string> names;
343 bool hasPayload = false;
344 while (token_.kind != Tok::RBrace) {
345 FrameField field;
346 field.line = token_.line;
347 field.type = expect(Tok::Ident, "frame field type").text;
348 field.payload = field.type == "payload";
349 field.name = expect(Tok::Ident, "frame field name").text;
350 ensureUnique(names, field.name, "frame field", field.line);
351 if (field.payload) {
352 if (hasPayload) fail(field.line, "frame may contain at most one payload");
353 hasPayload = true;
354 }
355 expect(Tok::Semi);
356 frame.fields.push_back(std::move(field));
357 }
358 expect(Tok::RBrace);
359 return frame;
360 }
361
362 Interface parseInterface() {
363 Interface iface;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected