Commit Graph

346 Commits

Author SHA1 Message Date
Ryan Fleury b315bf6811 switch eval debug info symbol name resolution to using async match store 2025-06-27 11:58:04 -07:00
Ryan Fleury 36f5597d8e eliminate unneeded path-renormalization in debug info cache lookup 2025-06-25 10:52:29 -07:00
Ryan Fleury 5de7c06d3b always zero param type keys 2025-06-17 07:26:17 -07:00
Ryan Fleury 4057e00fa1 further memory view fixes / tweaks; rich hover coverage for virtual address ranges in memory views / watch views 2025-06-06 14:57:46 -07:00
Ryan Fleury 60d88ac446 fix missing increment in eval token chunk list -> token array 2025-06-06 09:53:44 -07:00
Ryan Fleury 00fd597658 fix ptr/ref coverage in expansions 2025-06-03 13:55:37 -07:00
Ryan Fleury 94b969f203 copyright year 2025-06-02 14:13:57 -07:00
Ryan Fleury a111c21972 fix constant evaluation 2025-05-29 17:12:44 -07:00
Ryan Fleury 770fbe9459 constant evaluation 2025-05-29 17:04:01 -07:00
Ryan Fleury 3513d6cfb9 first pass at rdi format constant value support 2025-05-29 16:37:36 -07:00
Ryan Fleury 477e2b19da fix preservation of ir tree chain w/ multiple composing type views 2025-05-29 13:40:46 -07:00
Ryan Fleury 14cfd87f68 start sketching out basic unreal type views 2025-05-28 18:00:16 -07:00
Ryan Fleury 7350c2d576 fix trailing wildcard matches 2025-05-28 15:51:15 -07:00
Ryan Fleury f116d88b08 wildcard instance identifier resolution in type views; ?{arg1, arg2, arg3} in type view pattern -> use arg1, arg2, or arg3 in expression 2025-05-28 15:41:48 -07:00
Ryan Fleury 1d72de8c4a pattern parts as strings -> pattern part type, which can include wildcard inst names 2025-05-28 14:52:21 -07:00
Ryan Fleury de3782c974 do not advance wildcard scan position if wildcard match done 2025-05-28 14:42:20 -07:00
Ryan Fleury d0a2c0f22c auto hook list(expr) -> auto hook list(match), where match includes both an expression and a list of comma-delimited wildcard instances 2025-05-28 14:37:44 -07:00
Ryan Fleury 1609c8f948 clean up & fixup pass over type pattern matching, allow closed {}s, ()s, []s, <>s in wildcards 2025-05-28 14:08:53 -07:00
Ryan Fleury 70ccfd2d86 do greedy ? matching in type pattern matching by default 2025-05-28 13:07:18 -07:00
Ryan Fleury 914273d5af hack in quick fix for overambitious type pattern matching - will do a better pass shortly... 2025-05-22 12:29:56 -07:00
Ryan Fleury b94535b20b fix array-indexing in type evaluation mode 2025-05-19 22:22:47 -07:00
Ryan Fleury 5cb2a7bbde fix usage of [] operator on pointer values; fix incorrect interpretation of []s as assembly style derefs in chained cases 2025-05-17 13:05:07 -07:00
Ryan Fleury 5712c2ac07 fix ternary expr tree stringification 2025-05-17 12:56:49 -07:00
Ryan Fleury a67f326f78 eliminate redundant recomputation of ir extensions 2025-05-14 10:27:01 -07:00
Ryan Fleury 258b45a837 eliminate a bit of duplicate font cache lookups in code view build, + eliminate unnecessary per-box color lookups 2025-05-13 15:11:41 -07:00
Ryan Fleury e10f0489da record which irtree-and-type generations were produced via auto-hooks; skip those when doing typeofs 2025-05-13 14:19:30 -07:00
Ryan Fleury 89e93459d7 fix ufcs-style 'raw' lens application 2025-05-13 13:51:56 -07:00
Ryan Fleury 8b8c88f310 preserve whole chain of parent irtrees, do not simply apply only to autohook overrides; straighten out some event consumption weirdness in interaction between autocompletion floating view & query floating view; ensure we mark the cfg space as dirty when modifying strings 2025-05-13 13:44:14 -07:00
Ryan Fleury 97c58e3747 start sketching out pieces for flattened expansions in rows(...) 2025-05-13 11:55:06 -07:00
Ryan Fleury 34304280c9 fix old usage of table in mule_main; resolve to value in (sequence) 2025-05-13 10:55:39 -07:00
Ryan Fleury 11c1b5277e only -> rows; table -> columns 2025-05-13 10:44:06 -07:00
Ryan Fleury 73c91ae2bc eval: adjust array expansion, use parent key of pointer argument, rather than key of pointer argument, to scope count expression evaluation; fix up a few edge cases with $. and implicit $ member accesses; make omit much more powerful, by allowing list of arguments to control all expansion expressions, rather than assuming only member names 2025-05-13 10:19:47 -07:00
Ryan Fleury 4c1585444c be less ambitious about occupying basic type names in debugger; can conflict with common purposes in codebases, and really we should defer to debug info when possible 2025-05-12 17:33:57 -07:00
Ryan Fleury fe3cac7ac3 parameterize irtree generation path with identifier resolution rules; in most cases, we want the usual order: implicit accesses -> locals -> registers -> globals/tlocals/types/procedures -> macros; but if we are specifically evaluating a call expression tree, we want to prefer callables - in this case, macros should be prioritized. 2025-05-12 11:56:57 -07:00
Ryan Fleury 1b7a57914e get linux building again 2025-05-09 13:44:17 -07:00
Ryan Fleury f38da420e9 force hover eval in window on X axis only; store expr strings rather than expr trees in auto hook map 2025-05-09 12:51:02 -07:00
Ryan Fleury e491a76861 prevent mutating nil trees in irtree generation 2025-05-09 09:58:39 -07:00
Ryan Fleury b30e928501 fall back on creating a synthetic symbol name when a chain of leaf-identifier member accesses fail, and produce synthetic leaf-identifier expression to try to resolve it that way. 2025-05-08 14:00:54 -07:00
Ryan Fleury ef974b8dc0 begin sketching out the callee info helper, as an additional mechanism within the autocompletion system - find the call we're in, evaluate the callee, look up schema, show args/docs 2025-05-08 12:03:12 -07:00
Ryan Fleury a95780f2be provide path for explicit cast operator in eval parser; abort trying c-style casts in non-trivial cases (the parse becomes ambiguous, and it is better for us to prefer the usual non-casting path 2025-05-08 11:04:11 -07:00
Ryan Fleury ead193ee3b move enum value by-name lookup onto cached fastpath 2025-05-07 17:08:28 -07:00
Ryan Fleury 80f1a8b7ba enum value filtering / lookup cache 2025-05-07 15:46:59 -07:00
Ryan Fleury e7a4f407bb use 'sufficient suffixes' when generating enum expansions 2025-05-07 15:24:23 -07:00
Ryan Fleury 9c296cb9b2 fixes for arithmetic with bitfields; bitfield -> numeric value path in irtree generation; fix bad stomping / mutation when generating a synthetic UFCS tree 2025-05-07 14:19:39 -07:00
Ryan Fleury 1284c25b9e sketch out better usage of expansion info in text visualizer; notes; naming pass 2025-05-07 08:58:12 -07:00
Ryan Fleury 2919ecb135 more robustness to malformed expressions 2025-05-07 06:25:47 -07:00
Ryan Fleury 8d8e9b3cc5 be more judicious about edit buttons in fancy rows; allow escape-hatch identifier evaluation via grave accents 2025-05-06 15:42:36 -07:00
Ryan Fleury a6eda7db04 fix incorrect parsing / expr-building order of casts vs. other prefix unaries in new parser path 2025-05-06 13:02:48 -07:00
Ryan Fleury cf33470cb1 fix incorrect usage of type byte size for eval memory range sizes 2025-05-05 10:49:52 -07:00
Ryan Fleury c840071bf8 clean up visualizer default sizes, clean up rough edges of various combos of theme setting / config state 2025-05-05 09:54:29 -07:00