fix read_literal

This commit is contained in:
blueloveTH 2025-06-18 00:12:24 +08:00
parent b021dc0b2a
commit 3688f69123
2 changed files with 4 additions and 3 deletions

View File

@ -6,7 +6,7 @@
typedef struct{
SourceData_ src;
int lineno;
char msg[100];
char msg[512];
} Error;
void py_BaseException__stpush(py_Ref, SourceData_ src, int lineno, const char* func_name);

View File

@ -2346,7 +2346,9 @@ static Error* read_literal(Compiler* self, py_Ref out) {
}
return NULL;
}
default: py_newnil(out); return NULL;
default: {
return SyntaxError(self, "expected a literal, got '%s'", TokenSymbols[prev()->type]);
}
}
}
@ -2385,7 +2387,6 @@ static Error* _compile_f_args(Compiler* self, FuncDecl* decl, bool is_lambda) {
consume(TK_ASSIGN);
py_TValue value;
check(read_literal(self, &value));
if(py_isnil(&value)) return SyntaxError(self, "default argument must be a literal");
FuncDecl__add_kwarg(decl, name, &value);
} break;
case 3: