1
0
mirror of https://github.com/janet-lang/janet synced 2024-12-26 08:20:27 +00:00

Merge pull request #1152 from zevv/error-messages

Improved various error messages when handling unexpected types.
This commit is contained in:
Calvin Rose 2023-05-23 18:57:20 -05:00 committed by GitHub
commit e6b7c85c37
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 6 additions and 6 deletions

View File

@ -458,7 +458,7 @@ JANET_CORE_FN(janet_core_getproto,
? janet_wrap_struct(janet_struct_proto(st)) ? janet_wrap_struct(janet_struct_proto(st))
: janet_wrap_nil(); : janet_wrap_nil();
} }
janet_panicf("expected struct|table, got %v", argv[0]); janet_panicf("expected struct or table, got %v", argv[0]);
} }
JANET_CORE_FN(janet_core_struct, JANET_CORE_FN(janet_core_struct,

View File

@ -2911,7 +2911,7 @@ static JanetEVGenericMessage janet_go_thread_subr(JanetEVGenericMessage args) {
JanetFiber *fiber; JanetFiber *fiber;
if (!janet_checktype(fiberv, JANET_FIBER)) { if (!janet_checktype(fiberv, JANET_FIBER)) {
if (!janet_checktype(fiberv, JANET_FUNCTION)) { if (!janet_checktype(fiberv, JANET_FUNCTION)) {
janet_panicf("expected function|fiber, got %v", fiberv); janet_panicf("expected function or fiber, got %v", fiberv);
} }
JanetFunction *func = janet_unwrap_function(fiberv); JanetFunction *func = janet_unwrap_function(fiberv);
if (func->def->min_arity > 1) { if (func->def->min_arity > 1) {

View File

@ -138,7 +138,7 @@ int64_t janet_unwrap_s64(Janet x) {
break; break;
} }
} }
janet_panicf("bad s64 initializer: %t", x); janet_panicf("can not convert %t %q to 64 bit signed integer", x, x);
return 0; return 0;
} }
@ -169,7 +169,7 @@ uint64_t janet_unwrap_u64(Janet x) {
break; break;
} }
} }
janet_panicf("bad u64 initializer: %t", x); janet_panicf("can not convert %t %q to a 64 bit unsigned integer", x, x);
return 0; return 0;
} }

View File

@ -1100,7 +1100,7 @@ static void spec_matchtime(Builder *b, int32_t argc, const Janet *argv) {
Janet fun = argv[1]; Janet fun = argv[1];
if (!janet_checktype(fun, JANET_FUNCTION) && if (!janet_checktype(fun, JANET_FUNCTION) &&
!janet_checktype(fun, JANET_CFUNCTION)) { !janet_checktype(fun, JANET_CFUNCTION)) {
peg_panicf(b, "expected function|cfunction, got %v", fun); peg_panicf(b, "expected function or cfunction, got %v", fun);
} }
uint32_t tag = (argc == 3) ? emit_tag(b, argv[2]) : 0; uint32_t tag = (argc == 3) ? emit_tag(b, argv[2]) : 0;
uint32_t cindex = emit_constant(b, fun); uint32_t cindex = emit_constant(b, fun);

View File

@ -736,7 +736,7 @@ static void pushtypes(JanetBuffer *buffer, int types) {
if (first) { if (first) {
first = 0; first = 0;
} else { } else {
janet_buffer_push_u8(buffer, '|'); janet_buffer_push_cstring(buffer, (types == 1) ? " or " : ", ");
} }
janet_buffer_push_cstring(buffer, janet_type_names[i]); janet_buffer_push_cstring(buffer, janet_type_names[i]);
} }