Skip to content

Commit

Permalink
script: Rename panic range
Browse files Browse the repository at this point in the history
  • Loading branch information
BastianBlokland committed Oct 20, 2024
1 parent 2244c22 commit edfdf28
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 16 deletions.
2 changes: 1 addition & 1 deletion libs/debug/src/script.c
Original file line number Diff line number Diff line change
Expand Up @@ -553,7 +553,7 @@ static void tracker_query(
const String scriptId = asset_id(assetComps[slot]);
const String msg = script_panic_kind_str(panic->kind);
const DebugScriptOutputType type = DebugScriptOutputType_Panic;
tracker_output_add(tracker, type, entity, now, slot, scriptId, msg, panic->rangeLineCol);
tracker_output_add(tracker, type, entity, now, slot, scriptId, msg, panic->range);
}
}

Expand Down
2 changes: 1 addition & 1 deletion libs/script/include/script_panic.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ typedef enum eScriptPanicKind {

typedef struct sScriptPanic {
ScriptPanicKind kind;
ScriptRangeLineCol rangeLineCol;
ScriptRangeLineCol range;
} ScriptPanic;

bool script_panic_valid(const ScriptPanic*);
Expand Down
12 changes: 6 additions & 6 deletions libs/script/src/eval.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ INLINE_HINT static ScriptVal eval_intr(ScriptEvalContext* ctx, const ScriptExpr
case ScriptIntrinsic_Assert: {
if (script_falsy(eval_expr(ctx, args[0]))) {
ctx->panic = (ScriptPanic){
.kind = ScriptPanic_AssertionFailed,
.rangeLineCol = script_expr_range_line_col(ctx->doc, e),
.kind = ScriptPanic_AssertionFailed,
.range = script_expr_range_line_col(ctx->doc, e),
};
ctx->signal |= ScriptEvalSignal_Panic;
}
Expand Down Expand Up @@ -328,8 +328,8 @@ INLINE_HINT static ScriptVal eval_extern(ScriptEvalContext* ctx, const ScriptExp
if (UNLIKELY(err.kind)) {
const ScriptExpr errExpr = err.argIndex < data->argCount ? argExprs[err.argIndex] : e;
ctx->panic = (ScriptPanic){
.kind = script_error_to_panic(err.kind),
.rangeLineCol = script_expr_range_line_col(ctx->doc, errExpr),
.kind = script_error_to_panic(err.kind),
.range = script_expr_range_line_col(ctx->doc, errExpr),
};
ctx->signal |= ScriptEvalSignal_Panic;
}
Expand All @@ -339,8 +339,8 @@ INLINE_HINT static ScriptVal eval_extern(ScriptEvalContext* ctx, const ScriptExp
NO_INLINE_HINT static ScriptVal eval_expr(ScriptEvalContext* ctx, const ScriptExpr e) {
if (UNLIKELY(ctx->executedOps++ == script_executed_ops_max)) {
ctx->panic = (ScriptPanic){
.kind = ScriptPanic_ExecutionLimitExceeded,
.rangeLineCol = script_expr_range_line_col(ctx->doc, e),
.kind = ScriptPanic_ExecutionLimitExceeded,
.range = script_expr_range_line_col(ctx->doc, e),
};
ctx->signal |= ScriptEvalSignal_Panic;
return val_null();
Expand Down
8 changes: 4 additions & 4 deletions libs/script/src/panic.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ void script_panic_pretty_write(DynString* out, const ScriptPanic* panic) {
fmt_write(
out,
"{}:{}-{}:{}: {}",
fmt_int(panic->rangeLineCol.start.line + 1),
fmt_int(panic->rangeLineCol.start.column + 1),
fmt_int(panic->rangeLineCol.end.line + 1),
fmt_int(panic->rangeLineCol.end.column + 1),
fmt_int(panic->range.start.line + 1),
fmt_int(panic->range.start.column + 1),
fmt_int(panic->range.end.line + 1),
fmt_int(panic->range.end.column + 1),
fmt_text(g_panicKindStrs[panic->kind]));
}

Expand Down
7 changes: 3 additions & 4 deletions libs/script/src/prog.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,9 @@ ScriptProgResult script_prog_eval(
#define VM_NEXT(_OP_SIZE_) { ip += (_OP_SIZE_); goto Dispatch; }
#define VM_JUMP(_INSTRUCTION_) { ip = mem_begin(prog->code) + (_INSTRUCTION_); goto Dispatch; }
#define VM_RETURN(_VALUE_) { res.val = (_VALUE_); return res; }
#define VM_PANIC(_PANIC_) { res.panic = (ScriptPanic){ \
.kind = (_PANIC_), \
.rangeLineCol = prog_pos_from_ip(prog, ip) \
}; return res; }
#define VM_PANIC(_PANIC_) { \
res.panic = (ScriptPanic){.kind = (_PANIC_), .range = prog_pos_from_ip(prog, ip)}; \
return res; }

Dispatch:
if (UNLIKELY(res.executedOps++ == script_prog_ops_max)) {
Expand Down

0 comments on commit edfdf28

Please sign in to comment.