From 9e6c894edc651fd2bda9e72431a53f66cd56f2ff Mon Sep 17 00:00:00 2001 From: FellippeHeitor Date: Tue, 3 Aug 2021 00:47:37 -0300 Subject: [PATCH] Merges `"global var"` and `"local var"` blocks in `vwatch.bm`. --- internal/support/vwatch/vwatch.bm | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/internal/support/vwatch/vwatch.bm b/internal/support/vwatch/vwatch.bm index 421cb185b..4aa541b15 100644 --- a/internal/support/vwatch/vwatch.bm +++ b/internal/support/vwatch/vwatch.bm @@ -213,25 +213,23 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET) CASE "call stack" 'send call stack history GOSUB SendCallStack - CASE "global var" - vw_tempIndex = CVL(LEFT$(vw_value$, 4)) - vw_localIndex = CVL(MID$(vw_value$, 5, 4)) - vw_address = _OFFSET(globalVariables) + LEN(vw_address) * vw_localIndex - vw_address = _MEMGET(vw_m, vw_address, _OFFSET) 'first resolve pass - vw_address = _MEMGET(vw_m, vw_address, _OFFSET) 'second resolve pass - vw_cmd$ = "global var:" + MKL$(vw_tempIndex) + _MK$(_OFFSET, vw_address) - GOSUB SendCommand - CASE "local var" + CASE "global var", "local var" vw_tempIndex = CVL(LEFT$(vw_value$, 4)) vw_localIndex = CVL(MID$(vw_value$, 5, 4)) vw_scope$ = MID$(vw_value$, 9) - IF vw_scope$ = LEFT$(vwatch_stack(vwatch_sublevel), INSTR(vwatch_stack(vwatch_sublevel), ",") - 1) THEN - vw_address = _OFFSET(localVariables) + LEN(vw_address) * vw_localIndex - vw_address = _MEMGET(vw_m, vw_address, _OFFSET) 'first resolve pass - vw_address = _MEMGET(vw_m, vw_address, _OFFSET) 'second resolve pass - vw_cmd$ = "local var:" + MKL$(vw_tempIndex) + _MK$(_OFFSET, vw_address) - GOSUB SendCommand + IF vw_cmd$ = "global var" THEN + vw_address = _OFFSET(globalVariables) + LEN(vw_address) * vw_localIndex + ELSE + IF vw_scope$ = LEFT$(vwatch_stack(vwatch_sublevel), INSTR(vwatch_stack(vwatch_sublevel), ",") - 1) THEN + vw_address = _OFFSET(localVariables) + LEN(vw_address) * vw_localIndex + ELSE + GOTO cmdProcessingDone + END IF END IF + vw_address = _MEMGET(vw_m, vw_address, _OFFSET) 'first resolve pass + vw_address = _MEMGET(vw_m, vw_address, _OFFSET) 'second resolve pass + vw_cmd$ = vw_cmd$ + ":" + MKL$(vw_tempIndex) + _MK$(_OFFSET, vw_address) + GOSUB SendCommand CASE "get address" vw_tempIndex = CVL(LEFT$(vw_value$, 4)) vw_sequence = CVI(MID$(vw_value$, 5, 2)) @@ -293,6 +291,7 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET) vwatch_skiplines(CVL(vw_value$)) = 0 END SELECT + cmdProcessingDone: GOSUB GetCommand _LIMIT 100 LOOP