diff --git a/source/parser.c b/source/parser.c index 5cc9153..e20e392 100644 --- a/source/parser.c +++ b/source/parser.c @@ -123,6 +123,12 @@ static Literal readTypeToLiteral(Parser* parser); static Opcode forceType(Parser* parser, Node** nodeHandle) { Literal literal = readTypeToLiteral(parser); + if (!IS_TYPE(literal)) { + error(parser, parser->previous, "Expected type after 'type' keyword"); + freeLiteral(literal); + return OP_EOF; + } + emitNodeLiteral(nodeHandle, literal); freeLiteral(literal);