Commit Graph

185 Commits

Author SHA1 Message Date
Martin
0c87fe9174 FpDebug: add intrinsic :obj() 2024-07-31 22:55:30 +02:00
Martin
658e54abc6 FpDebug: Pascal-parser, add mapping to flatten intrinsic. (new separator ":") 2024-07-31 22:11:26 +02:00
Martin
0b109f4e2d FpDebug: fixes for flatten-intrinsic 2024-07-28 21:39:07 +02:00
Martin
1c61ed510e FpDebug: flatten intrinsic, fix a nil pointer, fix array expand 2024-07-26 21:06:43 +02:00
Martin
d7d77c934e FpDebug: flatten intrinsic, add optional info about depth/fields for each element 2024-07-26 20:13:40 +02:00
Martin
a5486f6a71 FpDebug: new intrinsic i2o => show object that implements an interface. 2024-07-25 21:15:24 +02:00
Martin
da812e6d12 FpDebug: flatten intrinsic, fixes for use with slices (no cache) 2024-07-24 22:07:08 +02:00
Martin
9c975dcca8 FpDebug: flatten intrinsic, improve cache. Some values may be computed, the "key" string" does not account for that. 2024-07-24 22:07:08 +02:00
Martin
25c65cfd8b FpDebug: flatten intrinsic, option to handle arrays 2024-07-24 22:07:08 +02:00
Martin
c238c026d1 FpDebug: Change slice-operator. Add "disable" for terms that handle the slice themself (substring) 2024-07-24 22:07:08 +02:00
Martin
f6c415d958 FpDebug: FIX, Array-slices [n..m], check if they are in active part of condition. If not, don't create multiple results. 2024-07-24 19:24:24 +02:00
Martin
64b2dbfaea FpDebug: Array-slices [n..m], check if they are in active part of condition. If not, don't create multiple results. 2024-07-24 13:04:39 +02:00
Martin
c4deaeadcf FpDebug: Conditionals (?IF or Try/N) must flag variant returns in slices 2024-07-24 13:04:38 +02:00
Martin
cbfd80ce39 FpDebug: Add "switch" trinary-operator ... ? ... : ... 2024-07-23 19:40:32 +02:00
Martin
9a1ba57dc4 FpDebug: PascalParser, fix error checking for sub-expressions in brackets 2024-07-23 18:57:04 +02:00
Martin
8bb9d6eece FpDebug: PascalParser, optimize check for finding left-side of operator / clarify description 2024-07-23 18:56:26 +02:00
Martin
bafbb1e6fa FpDebug: fix "override" for GetFullText 2024-07-23 14:20:47 +02:00
Martin
7352ac6ad6 FpDebug: fixes for intrinsic Try/TryN, an invalid address is an error 2024-07-23 14:19:41 +02:00
Martin
f76614452c FpDebug: more intrinsics: Try, TryN, Ord, Log, Pi, Ln, Sqrt, Sin,Cos,Tan (includes part of issue #40839 ) 2024-07-22 23:44:38 +02:00
Martin
e98a5d2b44 FpDebug: Add cache for flatten intrinsic. / Ensure the same TFpDbgSimpleLocationContext object is used for each watch (on the Parser-expression), so it can act as key. 2024-07-22 13:55:55 +02:00
Martin
b61aabee0b FpDebug: add intrinsic :flatten() to walk object chains. 2024-07-22 13:43:43 +02:00
Martin
836e23ff27 FpDebug: fix new registers as watch result / get text, instead of read-int / add unique reg-nums 2024-07-11 12:21:40 +02:00
Martin
71b46c3d5f FpDebug: fix PascalParser, handle coma in sub-expression 2024-06-21 14:11:28 +02:00
Martin
50102fef2b FpDebug: PascalParser, change wrongly named "Context" to "Scope" 2024-05-25 12:51:25 +02:00
Martin
ccdcbb7bcf FpDebug: PascalParser, treat skInterface like skClass 2024-05-23 23:52:22 +02:00
ccrause
c327f03044 Move IsReadableLoc and IsReadableMem to MemModel. 2024-01-14 19:29:13 +01:00
Martin
5a1d892e69 FpDebug: prevent div-by-zero in the debugger (in the IDE) while evaluating watches. 2023-12-30 20:04:08 +01:00
Martin
5c6662f3e7 FpDebug: Add comparing enum-values in watches "enum1 >= enum2" 2023-12-30 20:03:06 +01:00
Martin
53474705c4 FpDebug: check error in expressions, when new dbg-values are created. 2023-12-02 16:33:37 +01:00
Martin
8208144cdf FpDebug: test ".." intrinsic operator / Fix error checking 2023-12-02 01:10:39 +01:00
Martin
81596aa0bf FpDebug: Fix ".." intrinsic, reset error from previous elements (deref nil sets error on Expression, rather than value) 2023-09-03 18:32:06 +02:00
Martin
0cd1374f3c FpDebug: Fix "=" and "<>" work with booleans 2023-07-23 21:06:15 +02:00
Martin
92b6ded394 Fix Compile / missing semicolon 2023-06-18 16:50:21 +02:00
Martin
aa389e7e47 FpDebug: fix constant char 'a' as array index. Amend Precedence for [n..m] 2023-06-18 16:03:12 +02:00
Martin
9a0e268738 FpDebug: fix creating result, when mixing ":cc" intrinsic with "[n..m]" slice. 2023-06-11 11:53:01 +02:00
Martin
ceaec5975a LazDebuggerFp, FpDebug: Add option to support "modeswitch AutoDeref" access of values. 2023-06-08 15:26:01 +02:00
Martin
62e692fc24 LazDebuggerFp, FpDebug: Add option to support "modeswitch AutoDeref" access of values. 2023-06-08 14:57:12 +02:00
Martin
846b00b481 FpDebug: implement shl, shr, <<, >> operators in the pascal parser. 2023-06-08 14:04:11 +02:00
Martin
69564087ab FpDebug: Allow to deref constant numbers, and show a memory-dump. Issue #36836 2023-05-19 18:13:41 +02:00
Martin
0b441dd73b FpDebug: disable peephole opt when using fpc 3.2.2 => otherwise fpc generates wrong code 2023-05-01 17:43:22 +02:00
Martin
f0ce562200 FpDebug: more range check exceptions / fixed missing begin/end 2023-04-02 20:35:34 +02:00
Martin
2df8c6199b FpDebug: clear cache for array slice entries. Fix range check, when operating on addresses in target. 2023-03-31 23:16:30 +02:00
Martin
a0ef09293b FpDebug: add intrinsic "len" as shortcut for "length" 2023-03-23 21:31:11 +01:00
Martin
0d507a4009 FpDebug: fix nil deref crash in pascal parser. 2023-03-22 11:02:10 +01:00
Martin
afe8ba3180 LazDebuggerFp, FpDebug: Improve some error messages / Start on i18n 2023-03-21 16:41:53 +01:00
Martin
2d20810ef6 FpDebug: fixed intrinsic "pos", added: lower, upper, round, trunc 2023-03-13 00:02:39 +01:00
Martin
db27ef882d FpDebug: clean up compile hints 2023-03-12 22:34:28 +01:00
Martin
ca71d82350 FpDebug: Implement substrings via the range-index. MyStr[5..9] now return a substring. 2023-03-12 22:34:27 +01:00
Martin
d331e3ef77 FpDebug: fixes for "substr" intrinsic / optimize using new substring reading 2023-03-12 22:34:27 +01:00
Martin
ea78367138 FpDebug: Improve reading char from "string[index]". Read only the char in question / Do not fail on MemLimit.MaxStringLen 2023-03-12 22:34:27 +01:00