diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-28 16:04:22 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-28 16:04:22 +0200 |
| commit | 946fac7d813f6283c18087a46b9e2ee084852c64 (patch) | |
| tree | e00bc09a5205a6699cd40cbb48e9f47e9bcdc9dc /src/build.h | |
| parent | 075bc33d15b4d11fa03f381c3e03437d9f759c22 (diff) | |
Decouple functions.c from interpreter array-LHS private state [Coupling]
functions.c::_op_assign() was reading p_interpret->p_token_array_lhs and
p_interpret->i_array_lhs_index directly — a hidden cross-module coupling
where the functions module reached into interpreter-private state.
Pass the array-LHS context as explicit parameters instead:
- _op_assign() gains Token *p_array_lhs, int i_lhs_idx params
- _process() propagates them to _op_assign()
- function_process() propagates them from the call site
In interpret.c the "restore" lines that set p_interpret->p_token_array_lhs
and p_interpret->i_array_lhs_index before calling function_process() are
removed; instead p_lhs and i_lhs_idx are passed directly. The three
non-array-LHS call sites pass NULL / 0. _op_assign() no longer touches
Interpret internals for the array assignment path.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/build.h')
| -rw-r--r-- | src/build.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/build.h b/src/build.h index ab16e44..fce9d6f 100644 --- a/src/build.h +++ b/src/build.h @@ -36,7 +36,7 @@ #ifndef BUILD_H #define BUILD_H -#define BUILDNR 9696 +#define BUILDNR 9698 #define OS_LINUX #endif |
