Skip to content

Commit 9d32b29

Browse files
committed
Some fixing of stuff
1 parent e9a193c commit 9d32b29

File tree

3 files changed

+22
-20
lines changed

3 files changed

+22
-20
lines changed

printer/metac_printer.c

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1735,19 +1735,21 @@ static inline void PrintSemaExpr(metac_printer_t* self,
17351735
}
17361736
else if (semaExpr->Kind == expr_tuple)
17371737
{
1738-
PrintChar(self, '{');
1738+
uint32_t tupleExprCount = semaExpr->TupleExprCount;
17391739
metac_sema_expr_t** tupleElement =
17401740
semaExpr->TupleExprs;
1741+
PrintChar(self, '{');
17411742
for(uint32_t i = 0;
1742-
i < semaExpr->TupleExprCount;
1743+
i < tupleExprCount - 1;
17431744
i++)
17441745
{
17451746
PrintSemaExpr(self, sema, tupleElement[i]);
1746-
if (i != (semaExpr->TupleExprCount - 1))
1747-
{
1748-
PrintChar(self, ',');
1749-
PrintSpace(self);
1750-
}
1747+
PrintChar(self, ',');
1748+
PrintSpace(self);
1749+
}
1750+
if (tupleExprCount > 0)
1751+
{
1752+
PrintSemaExpr(self, sema, tupleElement[tupleExprCount - 1]);
17511753
}
17521754
PrintChar(self, '}');
17531755
}

repl/completion_trie.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -426,14 +426,14 @@ void CompletionTrie_Print(completion_trie_root_t* root, uint32_t nodeIdx, const
426426

427427
void CompletionTrie_Add(completion_trie_root_t* root, const char* word, uint32_t length)
428428
{
429-
uint32_t remaning_length = length;
429+
uint32_t remaining_length = length;
430430
completion_trie_node_t* PrefNode =
431-
CompletionTrie_FindLongestMatchingPrefix(root, word, &remaning_length);
431+
CompletionTrie_FindLongestMatchingPrefix(root, word, &remaining_length);
432432

433-
if (remaning_length)
433+
if (remaining_length)
434434
{
435-
int posWord = length - remaning_length;
436-
PrefNode = CompletionTrie_AddChild(root, PrefNode, word + posWord, remaning_length);
435+
int posWord = length - remaining_length;
436+
PrefNode = CompletionTrie_AddChild(root, PrefNode, word + posWord, remaining_length);
437437
}
438438
// insert terminal node
439439
CompletionTrie_AddChild(root, PrefNode, "", 0);

semantic/metac_type_semantic.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -827,20 +827,20 @@ void MetaCSemantic_ComputeEnumValues(metac_sema_state_t* self,
827827

828828
if (METAC_NODE(member->Value) != emptyNode)
829829
{
830-
metac_sema_expr_t* semaValue =
831-
semaEnum->Members[memberIdx].Value;
832-
assert(member->Value);
833-
if (semaValue->Kind != expr_signed_integer)
830+
metac_sema_expr_t semaValue =
831+
*semaEnum->Members[memberIdx].Value;
832+
833+
if (semaValue.Kind != expr_signed_integer)
834834
{
835-
semaValue->TypeIndex.v = semaEnum->BaseType.v;
836-
MetaCSemantic_ConstantFold(self, semaValue);
835+
semaValue.TypeIndex.v = semaEnum->BaseType.v;
836+
semaValue = EvaluateExpr(self, &semaValue, 0);
837837
}
838-
if (semaValue->Kind != expr_signed_integer)
838+
if (semaValue.Kind != expr_signed_integer)
839839
{
840840
fatalf("Value of %s could not be constant folded\n", IdentifierPtrToCharPtr(self->ParserIdentifierTable, member->Name));
841841
}
842842
//assert(semaValue->Kind == expr_signed_integer);
843-
nextValue = semaValue->ValueI64 + 1;
843+
nextValue = semaValue.ValueI64 + 1;
844844
}
845845
else
846846
{

0 commit comments

Comments
 (0)