1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-06-29 11:40:38 +00:00

Merges "global var" and "local var" blocks in vwatch.bm.

This commit is contained in:
FellippeHeitor 2021-08-03 00:47:37 -03:00
parent 359aa7ab2d
commit 9e6c894edc

View file

@ -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