From 3be7d393b675aaedd0047c5ec6b8343d45b15bfc Mon Sep 17 00:00:00 2001 From: Ben Wiederhake Date: Sun, 14 May 2023 23:05:51 +0200 Subject: [PATCH] IPCCompiler: Nicer error message for invalid template spelling --- Meta/Lagom/Tools/CodeGenerators/IPCCompiler/main.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Meta/Lagom/Tools/CodeGenerators/IPCCompiler/main.cpp b/Meta/Lagom/Tools/CodeGenerators/IPCCompiler/main.cpp index f03f5a571b..03dba12c79 100644 --- a/Meta/Lagom/Tools/CodeGenerators/IPCCompiler/main.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/IPCCompiler/main.cpp @@ -135,6 +135,11 @@ Vector parse(ByteBuffer const& file_contents) // FIXME: This is not entirely correct. Types can have spaces, for example `HashMap`. // Maybe we should use LibCpp::Parser for parsing types. parameter.type = lexer.consume_until([](char ch) { return isspace(ch); }); + if (parameter.type.ends_with(',')) { + warnln("Parameter type '{}' looks invalid!", parameter.type); + warnln("Note that templates must not include spaces."); + VERIFY_NOT_REACHED(); + } VERIFY(!lexer.is_eof()); consume_whitespace(); parameter.name = lexer.consume_until([](char ch) { return isspace(ch) || ch == ',' || ch == ')'; });