Commit Graph

184 Commits

Author SHA1 Message Date
Ryan Fleury 04c40e8359 expand eval to collecting irtree/type/lookup-rule, base all value string generation on entire root_eval rather than just root_expr; fixes wrong inheritance of tags in single-line visualization 2025-02-20 19:16:27 -08:00
Ryan Fleury 92df402ad1 member filtering 2025-02-20 18:46:22 -08:00
Ryan Fleury 428a3f2536 always prefer explicitly attached tags (view rules); give all tags a chance in sequence; allow 'default' to be explicitly attached, to disable auto-view-rules etc. 2025-02-20 16:38:27 -08:00
Ryan Fleury ec782fa39c correct tag poisoning in lookup-rule tag usage within ir generation, allow lookup-rules to call dependent irgens 2025-02-20 16:26:40 -08:00
Ryan Fleury 13bfa42acf more work on watch-window-driven file lister 2025-02-20 14:49:25 -08:00
Ryan Fleury f61d87e0ce extend command info with query expressions for lister 2025-02-19 17:09:48 -08:00
Ryan Fleury a8f72dd5f1 progress on per-view searching operation - will be specialized & used for replacements for finding text, for going to line/address, and filtering in query views 2025-02-19 11:33:16 -08:00
Ryan Fleury 9805f8cd20 begin work on lister-flavored watch windows; begin on using that for the query ui 2025-02-19 08:37:34 -08:00
Ryan Fleury 2636f296cc simplify stylized watch row building rules; allow buttons to be editable, maintain expr key stability even in different watch row styles 2025-02-17 09:48:26 -08:00
Ryan Fleury 5d8e6dac91 begin working on watch window stylization for file system evaluations 2025-02-16 22:16:59 -08:00
Ryan Fleury c77f2de156 more work on file evaluation; move eval_string <-> eval <-> file_path to formal filesystem/file spaces, rather than inferring from the expression tree; imply '.data' when generating file contents visualizer tabs 2025-02-16 18:36:45 -08:00
Ryan Fleury 5e98e40af7 file/folder evaluation work 2025-02-16 17:57:00 -08:00
Ryan Fleury 7d84ec79c5 formalize file/folder evaluations; use set-types for files/folders so that we can evaluate both file metadata & contents, rather than just assuming the contents; adjust slice view rule to just expand to the contents, rather than achieving the slice with a changed type 2025-02-16 14:13:48 -08:00
Ryan Fleury c603457460 dead code deletion, begin extending eval/eval-viz to work on expr-chains rather than single expressions; fixes / convergence for watch window 2025-02-15 18:11:22 -08:00
Ryan Fleury b7f6b301ec eliminate unnecessary complication for debugger query evaluations; formalize them in the schemas, use set-hook rule to automatically plug in querying functions for them 2025-02-15 14:52:40 -08:00
Ryan Fleury af8f1ff162 frontend cleanups, cmd running from watch 2025-02-13 21:33:40 -08:00
Ryan Fleury f58c13b3a0 plug full data member calculation path & padding member visualization back in 2025-02-13 15:26:21 -08:00
Ryan Fleury 863d98c43e do the same reuse of the computed irtree for array-index expr extensions 2025-02-13 08:13:53 -08:00
Ryan Fleury 50b195deb3 eliminate member-expr-extension irtree/oplist/etc. recomputations; just convert lhs irtree to bytecode and attach that to new expr as a leaf bytecode 2025-02-13 06:51:50 -08:00
Ryan Fleury 6c37db2105 more inline visualization; do not require qualifier if view rule names collide with locals 2025-02-11 16:36:20 -08:00
Ryan Fleury 98ec6ee3bb extend constructed type info with 'pointer depth', to distinguish between inline-depths; use in symbolizing & call stack expression formation 2025-02-11 16:16:44 -08:00
Ryan Fleury 312ddd5899 fix array-index ir tree generation - was incorrectly applying array value rules to address value evaluations; plug in ir-generation hooks for slices, arrays, etc.; eliminate old view rule code 2025-02-11 15:25:42 -08:00
Ryan Fleury ee984877b0 work on multi-topology watch tables; fancy evaluation for cfgs, regardless of where they are spawned 2025-02-11 13:30:07 -08:00
Ryan Fleury 29033fe6cc fix incorrect type usage in default lookup-range eval path; fixes broken pointer/reference expansions to structs/unions/classes 2025-02-10 16:14:11 -08:00
Ryan Fleury d48cd460d1 begin prepping watch window ui for reintroduction of fancy rows; extend target/thread evaluations with .environment & .call_stack sketch; more convergence progress 2025-02-10 12:15:03 -08:00
Ryan Fleury 4b85df0725 fix expr chain parsing; fix panel tree building 2025-02-10 09:44:32 -08:00
Ryan Fleury 3de43b8c74 view params, pulled either from cfg trees or view rule params (tag calls); expr chain parsing; correctly use tags in nested single-line eval visualization 2025-02-07 15:20:19 -08:00
Ryan Fleury 412c55a474 plug in visualizer view ui rules in new eval viz code; cfg-tree/vocab-driven tab titles 2025-02-07 11:40:49 -08:00
Ryan Fleury 31b0772137 eval viz: view rule -> expansion rule; rd: view rule -> view ui rule 2025-02-07 09:21:06 -08:00
Ryan Fleury 295778f1ca eval: prohibit identifier overrides in macro maps; raddbg: correctly mark dirty state & recompute given watch window mutations; do not escape unquoted value eval strings 2025-02-06 11:17:42 -08:00
Ryan Fleury be039496c7 rd: watch window editability progress, implicit root vis rules; eval: fix call args parser 2025-02-06 09:15:13 -08:00
Ryan Fleury 90c86dc812 eval/eval-viz: pull out rules for mapping exprs/irtrees -> lookup/expansion rules; use this path in the single-line value string generator; eliminate old non-view-rulified string generation paths 2025-02-04 13:20:25 -08:00
Ryan Fleury afd113adcc rd: derive schema tree parse on startup rather than recomputing every time 2025-02-04 12:16:28 -08:00
Ryan Fleury b9756d222a eval: sketch out parse/ir cache 2025-02-04 10:29:52 -08:00
Ryan Fleury 657b78c4ef eval: separate ir_ctx -> ir_state & ir_ctx; ir_state for implicit thread-local caching mechanisms for eval, ir_ctx for explicitly supplied user info 2025-02-04 09:57:13 -08:00
Ryan Fleury 9a405bee20 eval: lookup info hook -> just pass irtree, do not recompute; cache for type-key -> auto hook tag exprs; use tags/auto-tags in lookup rule for . operator; fix tag poisoning in ir generation pass; cache for type-key -> unpacked type info; replace all unpacked type info paths with cache usage 2025-02-03 13:21:08 -08:00
Ryan Fleury 59fe6c79cb distinguish root block from non-root blocks; in root case, we do not want to do a lookup-range to generate the block's expression (but in all other cases we do) 2025-02-03 10:07:20 -08:00
Ryan Fleury 6f4533d8f5 rd: new ctrl entity meta evaluation path; ctrl entity meta evaluation cache; eval: auto-view-rules (via 'auto hook map'), + support for 'type patterns', e.g. for templates; ir generation / typechecking hook application + source-tag coloring (to avoid infinite recursion of repeatedly-applied auto view rules 2025-02-02 17:08:14 -08:00
Ryan Fleury eab5c7c971 eval_visualization: eliminate expansion-range hook; move expansions & block tree building completely to new eval hooks for lookups 2025-02-02 14:39:43 -08:00
Ryan Fleury 07c9268941 eval: specify formal way in which tags (view rules) can fit into expression language, both in parsing & in structure; introduce ir-generation hook step in eval pipeline, transfer most of the default non-vbisualization view rule features to that layer 2025-02-01 20:50:31 -08:00
Ryan Fleury aac93b5952 move over all expansion view rules to new eval-system lookup hooks; eliminate most of old hooks 2025-02-01 17:37:24 -08:00
Ryan Fleury 5b82fc2339 eliminate member-filtering hack for cfg views; eliminate deref-space-ptr hack 2025-01-30 15:52:26 -08:00
Ryan Fleury 92e68701d0 eval: lookup rule map building; eval: use general 'set' type-kind to specify custom lookup rule; watch: new table <-> stable-point mappings 2025-01-30 10:57:29 -08:00
Ryan Fleury 394d35287a fix default lookup rule 2025-01-29 17:00:50 -08:00
Ryan Fleury baa19f3de4 begin introducing 'lookup' hook path in eval ir-tree generation, to collapse/universalize all 'access' operations, such that ., ->, and [] operations can be overridden via view rules, for cfg evaluations, and so on 2025-01-29 16:41:14 -08:00
Ryan Fleury 136a6a6d80 eval visualization: vidx <-> num mappings; helpers to move from logical nums -> rows, feed through windowed row production path 2025-01-29 10:38:04 -08:00
Ryan Fleury 2a1ab9b3be fix incorrect bytecode writing for deref-space-ptr 2025-01-28 10:42:41 -08:00
Ryan Fleury 4cc5f636fe cfg tree collection evaluation 2025-01-27 15:33:35 -08:00
Ryan Fleury b085acbc32 strip out collection type - instead we will implement collections via arrays of exprs which map to meta evals 2025-01-27 11:02:49 -08:00
Ryan Fleury 4371d727fb line expressions in eval lang; begin getting off of entities for breakpoints/watch-pins/etc., move -> cfg 2025-01-17 13:34:18 -08:00