mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-06-29 10:30:36 +00:00
Remove previous variables from Watch List if TYPEs change
This commit is contained in:
parent
7c17c987cb
commit
7ab98a5a9e
|
@ -510,6 +510,7 @@ FUNCTION ide2 (ignore)
|
||||||
REDIM IdeSkipLines(iden) AS _BYTE
|
REDIM IdeSkipLines(iden) AS _BYTE
|
||||||
variableWatchList$ = ""
|
variableWatchList$ = ""
|
||||||
backupVariableWatchList$ = "": REDIM backupUsedVariableList(1000) AS usedVarList
|
backupVariableWatchList$ = "": REDIM backupUsedVariableList(1000) AS usedVarList
|
||||||
|
backupTypeDefinitions$ = ""
|
||||||
watchpointList$ = ""
|
watchpointList$ = ""
|
||||||
callstacklist$ = "": callStackLength = 0
|
callstacklist$ = "": callStackLength = 0
|
||||||
ideunsaved = -1
|
ideunsaved = -1
|
||||||
|
@ -608,6 +609,7 @@ FUNCTION ide2 (ignore)
|
||||||
REDIM IdeSkipLines(iden) AS _BYTE
|
REDIM IdeSkipLines(iden) AS _BYTE
|
||||||
variableWatchList$ = ""
|
variableWatchList$ = ""
|
||||||
backupVariableWatchList$ = "": REDIM backupUsedVariableList(1000) AS usedVarList
|
backupVariableWatchList$ = "": REDIM backupUsedVariableList(1000) AS usedVarList
|
||||||
|
backupTypeDefinitions$ = ""
|
||||||
watchpointList$ = ""
|
watchpointList$ = ""
|
||||||
callstacklist$ = "": callStackLength = 0
|
callstacklist$ = "": callStackLength = 0
|
||||||
IF ideStartAtLine > 0 AND ideStartAtLine <= iden THEN
|
IF ideStartAtLine > 0 AND ideStartAtLine <= iden THEN
|
||||||
|
@ -6019,6 +6021,8 @@ FUNCTION ide2 (ignore)
|
||||||
REDIM IdeBreakpoints(1) AS _BYTE
|
REDIM IdeBreakpoints(1) AS _BYTE
|
||||||
REDIM IdeSkipLines(1) AS _BYTE
|
REDIM IdeSkipLines(1) AS _BYTE
|
||||||
variableWatchList$ = ""
|
variableWatchList$ = ""
|
||||||
|
backupVariableWatchList$ = "": REDIM backupUsedVariableList(1000) AS usedVarList
|
||||||
|
backupTypeDefinitions$ = ""
|
||||||
watchpointList$ = ""
|
watchpointList$ = ""
|
||||||
callstacklist$ = "": callStackLength = 0
|
callstacklist$ = "": callStackLength = 0
|
||||||
idet$ = MKL$(0) + MKL$(0): idel = 1: ideli = 1: iden = 1: IdeBmkN = 0
|
idet$ = MKL$(0) + MKL$(0): idel = 1: ideli = 1: iden = 1: IdeBmkN = 0
|
||||||
|
@ -6920,6 +6924,7 @@ SUB DebugMode
|
||||||
IF result = 2 THEN
|
IF result = 2 THEN
|
||||||
variableWatchList$ = ""
|
variableWatchList$ = ""
|
||||||
backupVariableWatchList$ = "": REDIM backupUsedVariableList(1000) AS usedVarList
|
backupVariableWatchList$ = "": REDIM backupUsedVariableList(1000) AS usedVarList
|
||||||
|
backupTypeDefinitions$ = ""
|
||||||
FOR i = 1 TO totalVariablesCreated
|
FOR i = 1 TO totalVariablesCreated
|
||||||
usedVariableList(i).watch = 0
|
usedVariableList(i).watch = 0
|
||||||
NEXT
|
NEXT
|
||||||
|
@ -8684,6 +8689,7 @@ FUNCTION idevariablewatchbox$(currentScope$, filter$, selectVar, returnAction)
|
||||||
(IdeDebugMode > 0 AND focus = 7 AND info <> 0) THEN
|
(IdeDebugMode > 0 AND focus = 7 AND info <> 0) THEN
|
||||||
variableWatchList$ = ""
|
variableWatchList$ = ""
|
||||||
backupVariableWatchList$ = "" 'used in case this program is edited in the same session
|
backupVariableWatchList$ = "" 'used in case this program is edited in the same session
|
||||||
|
backupTypeDefinitions$ = typeDefinitions$ 'store current TYPE definitions for later comparison
|
||||||
longestVarName = 0
|
longestVarName = 0
|
||||||
nextvWatchDataSlot = 0
|
nextvWatchDataSlot = 0
|
||||||
totalVisibleVariables = 0
|
totalVisibleVariables = 0
|
||||||
|
@ -11928,6 +11934,7 @@ FUNCTION idefiledialog$(programname$, mode AS _BYTE)
|
||||||
REDIM IdeSkipLines(iden) AS _BYTE
|
REDIM IdeSkipLines(iden) AS _BYTE
|
||||||
variableWatchList$ = ""
|
variableWatchList$ = ""
|
||||||
backupVariableWatchList$ = "": REDIM backupUsedVariableList(1000) AS usedVarList
|
backupVariableWatchList$ = "": REDIM backupUsedVariableList(1000) AS usedVarList
|
||||||
|
backupTypeDefinitions$ = ""
|
||||||
callstacklist$ = "": callStackLength = 0
|
callstacklist$ = "": callStackLength = 0
|
||||||
|
|
||||||
ideerror = 1
|
ideerror = 1
|
||||||
|
|
|
@ -121,6 +121,7 @@ TYPE usedVarList
|
||||||
END TYPE
|
END TYPE
|
||||||
|
|
||||||
REDIM SHARED backupUsedVariableList(1000) AS usedVarList
|
REDIM SHARED backupUsedVariableList(1000) AS usedVarList
|
||||||
|
DIM SHARED typeDefinitions$, backupTypeDefinitions$
|
||||||
DIM SHARED totalVariablesCreated AS LONG, totalMainVariablesCreated AS LONG
|
DIM SHARED totalVariablesCreated AS LONG, totalMainVariablesCreated AS LONG
|
||||||
DIM SHARED bypassNextVariable AS _BYTE
|
DIM SHARED bypassNextVariable AS _BYTE
|
||||||
DIM SHARED totalWarnings AS LONG, warningListItems AS LONG, lastWarningHeader AS STRING
|
DIM SHARED totalWarnings AS LONG, warningListItems AS LONG, lastWarningHeader AS STRING
|
||||||
|
@ -1464,6 +1465,7 @@ SelectCaseCounter = 0
|
||||||
ExecCounter = 0
|
ExecCounter = 0
|
||||||
UserDefineCount = 7
|
UserDefineCount = 7
|
||||||
totalVariablesCreated = 0
|
totalVariablesCreated = 0
|
||||||
|
typeDefinitions$ = ""
|
||||||
totalMainVariablesCreated = 0
|
totalMainVariablesCreated = 0
|
||||||
REDIM SHARED usedVariableList(1000) AS usedVarList
|
REDIM SHARED usedVariableList(1000) AS usedVarList
|
||||||
totalWarnings = 0
|
totalWarnings = 0
|
||||||
|
@ -1962,9 +1964,9 @@ DO
|
||||||
|
|
||||||
IF validname(n$) = 0 THEN a$ = "Invalid name": GOTO errmes
|
IF validname(n$) = 0 THEN a$ = "Invalid name": GOTO errmes
|
||||||
udtename(i2) = n$
|
udtename(i2) = n$
|
||||||
|
|
||||||
udtecname(i2) = getelement$(ca$, 1)
|
udtecname(i2) = getelement$(ca$, 1)
|
||||||
NormalTypeBlock:
|
NormalTypeBlock:
|
||||||
|
typeDefinitions$ = typeDefinitions$ + MKL$(i2) + MKL$(LEN(n$)) + n$
|
||||||
udtetype(i2) = typ
|
udtetype(i2) = typ
|
||||||
udtetypesize(i2) = typsize
|
udtetypesize(i2) = typsize
|
||||||
|
|
||||||
|
@ -2092,10 +2094,12 @@ DO
|
||||||
IF firstelement$ = "TYPE" THEN
|
IF firstelement$ = "TYPE" THEN
|
||||||
IF n <> 2 THEN a$ = "Expected TYPE typename": GOTO errmes
|
IF n <> 2 THEN a$ = "Expected TYPE typename": GOTO errmes
|
||||||
lasttype = lasttype + 1
|
lasttype = lasttype + 1
|
||||||
|
typeDefinitions$ = typeDefinitions$ + MKL$(-1) + MKL$(lasttype)
|
||||||
definingtype = lasttype
|
definingtype = lasttype
|
||||||
i = definingtype
|
i = definingtype
|
||||||
WHILE i > UBOUND(udtenext): increaseUDTArrays: WEND
|
WHILE i > UBOUND(udtenext): increaseUDTArrays: WEND
|
||||||
IF validname(secondelement$) = 0 THEN a$ = "Invalid name": GOTO errmes
|
IF validname(secondelement$) = 0 THEN a$ = "Invalid name": GOTO errmes
|
||||||
|
typeDefinitions$ = typeDefinitions$ + MKL$(LEN(secondelement$)) + secondelement$
|
||||||
udtxname(i) = secondelement$
|
udtxname(i) = secondelement$
|
||||||
udtxcname(i) = getelement(ca$, 2)
|
udtxcname(i) = getelement(ca$, 2)
|
||||||
udtxnext(i) = 0
|
udtxnext(i) = 0
|
||||||
|
@ -26155,14 +26159,18 @@ SUB manageVariableList (__name$, __cname$, localIndex AS LONG, action AS _BYTE)
|
||||||
'this variable existed in a previous edit of this program
|
'this variable existed in a previous edit of this program
|
||||||
'in this same session; let's preselect it.
|
'in this same session; let's preselect it.
|
||||||
j = CVL(MID$(backupVariableWatchList$, found + LEN(temp$), 4))
|
j = CVL(MID$(backupVariableWatchList$, found + LEN(temp$), 4))
|
||||||
usedVariableList(i).watch = backupUsedVariableList(j).watch
|
|
||||||
usedVariableList(i).watchRange = backupUsedVariableList(j).watchRange
|
|
||||||
usedVariableList(i).indexes = backupUsedVariableList(j).indexes
|
|
||||||
usedVariableList(i).elements = backupUsedVariableList(j).elements
|
|
||||||
usedVariableList(i).elementTypes = backupUsedVariableList(j).elementTypes
|
|
||||||
usedVariableList(i).elementOffset = backupUsedVariableList(j).elementOffset
|
|
||||||
END IF
|
|
||||||
|
|
||||||
|
'if there have been changes in TYPEs, this variable won't be preselected
|
||||||
|
IF (LEN(backupUsedVariableList(j).elements) > 0 AND backupTypeDefinitions$ = typeDefinitions$) OR _
|
||||||
|
(LEN(backupUsedVariableList(j).elements) = 0) THEN
|
||||||
|
usedVariableList(i).watch = backupUsedVariableList(j).watch
|
||||||
|
usedVariableList(i).watchRange = backupUsedVariableList(j).watchRange
|
||||||
|
usedVariableList(i).indexes = backupUsedVariableList(j).indexes
|
||||||
|
usedVariableList(i).elements = backupUsedVariableList(j).elements
|
||||||
|
usedVariableList(i).elementTypes = backupUsedVariableList(j).elementTypes
|
||||||
|
usedVariableList(i).elementOffset = backupUsedVariableList(j).elementOffset
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
END IF
|
END IF
|
||||||
CASE ELSE 'find and mark as used
|
CASE ELSE 'find and mark as used
|
||||||
IF found THEN
|
IF found THEN
|
||||||
|
|
Loading…
Reference in a new issue