From 7424a681d6299c5520bb6f801bac947f83897f43 Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Fri, 12 Aug 2022 15:14:21 +0100 Subject: [PATCH] Fixed a segfault --- scripts/small.toy | 2 +- source/parser.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/small.toy b/scripts/small.toy index ba7b476..6976b64 100644 --- a/scripts/small.toy +++ b/scripts/small.toy @@ -1 +1 @@ -var a : int const = 42; \ No newline at end of file +var a : [string const, int] = 42; \ No newline at end of file diff --git a/source/parser.c b/source/parser.c index 2fd519b..a2b6070 100644 --- a/source/parser.c +++ b/source/parser.c @@ -763,6 +763,10 @@ static Literal readTypeToLiteral(Parser* parser) { //dictionary Literal* dict = TYPE_PUSH_SUBTYPE(&literal, MASK_DICTIONARY); + AS_TYPE(*dict).subtypes = ALLOCATE(Literal, 2); + AS_TYPE(*dict).capacity = 2; + AS_TYPE(*dict).count = 2; + ((Literal*)(AS_TYPE(*dict).subtypes))[0] = l; ((Literal*)(AS_TYPE(*dict).subtypes))[1] = r; } @@ -770,6 +774,10 @@ static Literal readTypeToLiteral(Parser* parser) { //array Literal* arr = TYPE_PUSH_SUBTYPE(&literal, MASK_ARRAY); + AS_TYPE(*arr).subtypes = ALLOCATE(Literal, 1); + AS_TYPE(*arr).capacity = 1; + AS_TYPE(*arr).count = 1; + //append the "l" literal ((Literal*)(AS_TYPE(*arr).subtypes))[0] = l; }