1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-06 00:00:22 +00:00
Commit graph

437 commits

Author SHA1 Message Date
FellippeHeitor 1e679627f4 Make indent level only increase once per line; closes #176 2021-09-30 00:48:38 -03:00
FellippeHeitor 17686ee09c Add temporary error reporting through the console. 2021-09-29 20:11:33 -03:00
FellippeHeitor a5c2b130a5 Fix bad pointer arithmetic on void (macOS). 2021-09-28 04:00:43 -03:00
FellippeHeitor 7413e2fe6f Adapt CLEAR to deal with var-length UDT variables. 2021-09-27 22:55:01 -03:00
FellippeHeitor 5c9cc96ca7 Prevent crash when using CLEAR with var-len string UDTs
Still doesn't fix it, but prevents the crash.
Variables won't be cleared with this temporary patch.
2021-09-26 21:06:44 -03:00
FellippeHeitor 64306e4e10 Remove unnecessary REDIM in SUB increaseUDTArrays
A properly formed Git commit subject line should always be able to
complete the following sentence:

- If applied, this commit will...

Do not end the subject line with a period.

Wrap the body at 72 characters.

One day people learn.

Apologies for years of not following the above.
2021-09-25 23:34:59 -03:00
FellippeHeitor 2e32de2615 Dynamically resizes internal UDT arrays. Closes #180. 2021-09-25 22:27:14 -03:00
FellippeHeitor edb4d40ffa Fixes var=function assignment without parameters (recursion).
As reported at https://www.qb64.org/forum/index.php?topic=704.msg5775#msg5775
2021-09-25 00:34:55 -03:00
FellippeHeitor dd302b0b5f Sends focus to debuggee when function INPUT$() is called. 2021-09-21 01:28:50 -03:00
FellippeHeitor 3e498df414 Fixes watching/sending values for _BIT arrays. 2021-09-20 22:04:24 -03:00
FellippeHeitor e30f7a1691 Fix CONST failing with anything containing a NOT 2021-09-19 21:22:08 -03:00
FellippeHeitor 42208832f5 Fixes evaluation of valid var/flag names for $LET/$IF 2021-09-19 15:25:39 -03:00
FellippeHeitor 34138cead6 Fixes parsing in TYPE blocks (new AS syntax) 2021-09-19 14:56:16 -03:00
Fellippe Heitor 1788a77379
Merge pull request #190 from QB64Team/debug-mode [ci-skip]
Debug mode tweaks
2021-09-11 23:26:14 -03:00
FellippeHeitor 27c84393ec Allows variables up to _BIT * 64 2021-09-11 23:05:26 -03:00
FellippeHeitor 883cfcb525 Display warning when $Checking:Off is used with $Debug 2021-09-11 18:23:31 -03:00
FellippeHeitor 296a46b33c Fixes PUT with variable-length strings in UDTs. Closes #133 2021-09-11 00:52:28 -03:00
FellippeHeitor 908a5b179f Removes fix046$ from variable names before displaying them. 2021-09-09 00:26:51 -03:00
FellippeHeitor 8d479ee8ea Hopefully fixes the mysterious missing vwatchlabel bug. 2021-08-24 23:33:10 -03:00
FellippeHeitor f7e53e9166 Fixes "Add All" adding UDTs in Watch List dialog. 2021-08-24 14:46:57 -03:00
FellippeHeitor 2ccfae416a Sets focus to the debuggee when SLEEP is used.
Properly sizes Watch List dialog when there are "hidden" variables in includes.
2021-08-24 13:23:01 -03:00
FellippeHeitor 28661bbf36 Adds minimal support for watching _BIT variables. 2021-08-24 03:53:39 -03:00
FellippeHeitor 38fe93a6cf Adds support for watching multiple indexes arrays of UDTs.
Not multiple dimensions yet tho.
2021-08-24 02:13:42 -03:00
FellippeHeitor 62f3496c36 Adds ability to fetch data from arrays of UDTs. 2021-08-23 18:02:22 -03:00
FellippeHeitor 9423080f6b Allows watching one element of UDTs (no strings yet). 2021-08-22 00:12:01 -03:00
FellippeHeitor 1049d9db16 Fixes $NOPREFIX mode changing MEM to _MEM as a sub parameter. 2021-08-21 20:09:06 -03:00
FellippeHeitor 82d4de881f Keeps array index selection made before entering Debug mode. 2021-08-21 17:39:41 -03:00
FellippeHeitor 2fc7380fa6 Begins implementing ways to watch UDTs.
Still in a non-working state.
2021-08-20 16:10:28 -03:00
FellippeHeitor 34950c80ea Visual tweaks to dialogs. Show received array data in Watch List box. 2021-08-19 01:09:18 -03:00
FellippeHeitor f279839a7b Reduces number of commands to get a variable's value. 2021-08-17 00:47:13 -03:00
FellippeHeitor eeff3207d6 Preliminary work to watch arrays (native types).
Strings not working yet.
2021-08-16 01:32:07 -03:00
FellippeHeitor 3f80c54e7d Mere fix of case of array name. 2021-08-15 02:32:40 -03:00
FellippeHeitor 38e0ec37d2 Fixes case adjustment of array names in UBOUND/LBOUND calls.
FINALLY! <3
2021-08-15 02:30:26 -03:00
FellippeHeitor 1cbc842a1c Mere spacing. 2021-08-15 02:28:11 -03:00
FellippeHeitor 083648e617 Makes "Name already in use" error more descriptive. 2021-08-15 00:46:12 -03:00
FellippeHeitor 2af2f4e2a1 Improves handling/signaling of INPUT/LINE INPUT in $DEBUG mode. 2021-08-14 21:28:21 -03:00
FellippeHeitor 9c15901b23 Store variables' id in usedVariableList(). 2021-08-13 00:52:09 -03:00
FellippeHeitor 66298347a3 Remove (brackets) from around type names in Warnings box. 2021-08-07 19:26:34 -03:00
FellippeHeitor 05fb2d44a2 Prevents users from creating self-referencing TYPE blocks. 2021-08-07 18:11:57 -03:00
FellippeHeitor 8e69b49304 Fixes string arrays not being added to variable list. 2021-08-06 23:42:14 -03:00
FellippeHeitor 445f192848 Simplifies array range selection (Watch List). 2021-08-06 22:59:08 -03:00
FellippeHeitor 4df2ada743 Adds interface to select which array indexes to watch. 2021-08-05 01:27:57 -03:00
FellippeHeitor 01a3c56685 Allows setting any length string variables from the IDE. 2021-08-03 00:36:21 -03:00
FellippeHeitor cad9e407d8 First attempt at "set address". Nonworking state. 2021-08-01 18:14:14 -03:00
FellippeHeitor 56a61321d1 Adds word-wrapping to status area error messages. 2021-07-31 19:11:53 -03:00
Fellippe Heitor c766fbc989 Update qb64.bas
Keeps IDE errors in log.
2021-07-30 12:04:04 -03:00
Fellippe Heitor 2afe20c5b7 Fixes call to System breaking $DEBUG mode. 2021-07-29 18:32:04 -03:00
Fellippe Heitor 5fe0902c31 Prevents adding debug code into includes. 2021-07-29 15:08:37 -03:00
Fellippe Heitor 7e5710a364 Allows _MK$/_CV to deal with _OFFSET
_UNSIGNED _OFFSET too.
2021-07-28 14:26:32 -03:00
FellippeHeitor 5e2f40c4f1 Ignores local variable requests when out of scope. 2021-07-27 12:18:50 -03:00
FellippeHeitor a2a49cef01 Allows local variables to be watched (still a bit broken). 2021-07-27 00:28:03 -03:00
FellippeHeitor cedff4ef5a Groundwork for variable requesting from the IDE (nonworking state).
The _MEMGET part needs extra work.
m is of type _MEM, but it's never assigned - does that have something to do with it?
Should we have something on the C++ side to access those memory blocks?
2021-07-26 14:52:14 -03:00
FellippeHeitor 62878630b5 Improves on Add Watch dialog prototype.
Can select individual variables (double-click to toggle), add all, remove all.
2021-07-25 00:19:55 -03:00
FellippeHeitor 0ca12c3503 Fixes FUNCTION id2fulltypename$ to recognize _OFFSET types.
Now displays actual type name in Warnings box, instead of the C++ variable name.
2021-07-24 18:01:50 -03:00
FellippeHeitor 8f2e969711 Stores full type name with variable list. 2021-07-24 16:16:18 -03:00
FellippeHeitor ed59d6411e Handles new variables added to main module using SHARED in a SUB. 2021-07-24 15:19:29 -03:00
FellippeHeitor c621917a69 Prevents adding SHARED variables to SUB vWatch() 2021-07-24 12:00:40 -03:00
FellippeHeitor 6436ee76bf Propagates DIM SHARED variables to all SUBs.
`vwatch_local_vars` will make direct reference to SHARED variables, so they can be watched in whatever scope.
2021-07-24 11:51:01 -03:00
FellippeHeitor 53560ec34f Resets internal variable list when compilation starts ($DEBUG). 2021-07-23 12:12:03 -03:00
Fellippe Heitor 8d2d49d7dc Restores Step Out/Step Over functionality. 2021-07-23 00:31:11 -03:00
Fellippe Heitor abfa7cb745 Prevents labels and vWatch calls in $INCLUDEs. 2021-07-23 00:13:11 -03:00
FellippeHeitor 898c0ffedb Begins folder reorganization (internal/support).
For .bas/.bm/.bi files that are required at compilation time, as opposed to `source`, which is not required for normal operation.
2021-07-22 18:39:20 -03:00
FellippeHeitor fd9958f9c7 Resets usedVariableList when compilation starts. 2021-07-22 15:24:24 -03:00
FellippeHeitor d09a7fcb3a Fixes order of elements when dealing with STOP ($DEBUG). 2021-07-22 14:08:26 -03:00
FellippeHeitor 231e28c79b Adds method to allow closing the connection with the IDE.
In order to allow $DEBUG to work with programs that call CLEAR, the connection handle used to connect to the IDE is locked by default and cannot be CLOSEd. With this change, the debuggee itself can now unlock the handle and close the link.
2021-07-22 00:18:34 -03:00
FellippeHeitor 30348dd2db Allows a debuggee to call CLEAR while keeping connected to the IDE. 2021-07-21 23:54:30 -03:00
FellippeHeitor 77daecccbc Gets all used variables to be properly stored.
This time it looks like it's been nailed.
2021-07-21 18:07:21 -03:00
FellippeHeitor abe46ca87e There's a blk of code that never runs in FUNCTION isvalidvariable
This is a commit just to show it's known that it's there.
And that I was a coward to remove it.
Maybe n was supposed to be LEN(a$)? Well, it's not. That breaks compilation.
I'll just leave it there.
2021-07-21 15:04:27 -03:00
FellippeHeitor 0724910a2e Improves detection of used variables; Arrays still to be worked on. 2021-07-21 14:25:21 -03:00
FellippeHeitor b1ddfd06c7 typ is undefined in FUNCTION typ2ctyp$; uses t instead.
Could be causing weird issues; might cause weird issues.
2021-07-21 14:24:35 -03:00
FellippeHeitor 46822028f9 Fixes typos in comments (🤦). 2021-07-21 14:23:21 -03:00
FellippeHeitor dd686b4071 Store variable creation data after regid is called. 2021-07-21 09:48:52 -03:00
FellippeHeitor f09bea827b Refines variable collection code ($DEBUG). 2021-07-21 09:30:48 -03:00
FellippeHeitor 1cad7db996 Prevents adding goto re:undefined vWatch labels. 2021-07-21 00:02:15 -03:00
FellippeHeitor b56ceb924d Fixes vWatch labels not being added. 2021-07-20 20:11:45 -03:00
FellippeHeitor ec807702ce Fixes Next lines not being "steppable". 2021-07-20 17:28:02 -03:00
FellippeHeitor 2ca6cb7c9a Improves vWatch label injection ($DEBUG). 2021-07-20 17:12:00 -03:00
FellippeHeitor dfb33206b4 Fixes duplicate SKIP labels in some scenarios. 2021-07-20 13:16:06 -03:00
FellippeHeitor fe4575a181 Allows empty procedures when $DEBUG is present. 2021-07-20 13:08:09 -03:00
FellippeHeitor 9ade4aea75 Declares *vwatch_local_vars when there are no local vars. 2021-07-20 12:50:17 -03:00
FellippeHeitor 5e53786255 Implements "Skip Line"
Ctrl+P to set line to skip.
Ctrl+Line Click to set line to skip with mouse.
2021-07-20 02:50:54 -03:00
FellippeHeitor aefde3eb55 Implements Set Next Line.
Allows arbitrarily changing the execution order from the IDE.
Ctrl+G in $DEBUG mode to launch the Set Next Line dialog.
2021-07-20 01:06:30 -03:00
FellippeHeitor 4d17873952 Allows END IF and END SELECT to be steppable. 2021-07-19 23:13:00 -03:00
FellippeHeitor d1249d25d5 Send the IDE data when the proram is closing via X button. 2021-07-19 18:08:04 -03:00
FellippeHeitor bfe081b421 Handles STOP as a regular breakpoint in $DEBUG mode. 2021-07-19 02:30:16 -03:00
FellippeHeitor 05d5086682 Prevents "ghost" variables from being added to watch list. 2021-07-19 02:29:13 -03:00
FellippeHeitor de236d4a5f Uses ENVIRON to set send the port number to the debuggee. Also:
- Limits sending "call" info to the IDE (not to hog the communication channel)
- Add $INCLUDE info to call stack.
2021-07-19 00:59:54 -03:00
FellippeHeitor 2f61b9e541 Tweak to previous commit.
`id` can change from the initial line to the last on in this commit. These changes prevent issues with that.
2021-07-18 22:16:16 -03:00
FellippeHeitor 8d35b87fd1 Initial implementation of call stack ($DEBUG). 2021-07-18 22:02:41 -03:00
FellippeHeitor c59cef04d7 Allows sub/functions to be reported in $INCLUDEs.
Reorganizes source/utilities.
2021-07-17 17:25:48 -03:00
FellippeHeitor df691cc3f2 Adds code to send "end signal" even with $CHECKING:OFF. ($DEBUG) 2021-07-17 17:11:02 -03:00
Fellippe Heitor ae887507c2 On error, report back to the IDE. ($DEBUG) 2021-07-16 23:18:46 -03:00
Fellippe Heitor 78fb2ff1b9 Reduces parameters in SUB_VWATCH()
Since `vwatch_linenumber` is a shared variable, it doesn't need to be 
passed to `SUB_VWATCH()`.
2021-07-16 18:51:35 -03:00
Fellippe Heitor 88e2a1fa83 Nooooow it seems proper. 2021-07-16 12:11:41 -03:00
Fellippe Heitor 8d29964587 Reenables detection of undefined arrays. 2021-07-16 12:06:06 -03:00
Fellippe Heitor 4e5c35bb7f Prevents 'fake' variables from showing up.' 2021-07-16 11:59:17 -03:00
Fellippe Heitor af2de0f24e Merge development 2021-07-16 09:25:13 -03:00
Luke Ceddia 809c1fe016
Fix cast of vwatch_local_vars 2021-07-16 16:29:04 +10:00
Fellippe Heitor df56b030f1 Makes sure only vars and arrays are added 2021-07-16 02:26:14 -03:00
Fellippe Heitor e95e8a4825 Adds undeclared variables too 2021-07-16 01:23:46 -03:00