Commit Graph

278 Commits

Author SHA1 Message Date
Ryan Fleury f4e2728e9c full evaluation expression string computation, use for expression drag/drop - resolve parent expression chain in order 2025-04-29 09:16:26 -07:00
Ryan Fleury bc67abe4ca fix block type extraction in row build; the block tree build resolves evals to whatever types it is using for expansion, but sometimes we need to see types which have been stripped for row building (e.g. tables) 2025-04-29 09:01:09 -07:00
Ryan Fleury dc15a4fdc5 fix busted chained dot-access-style views 2025-04-28 16:02:48 -07:00
Ryan Fleury f72c956c9f fix implicit parent/override member accesses 2025-04-28 15:41:32 -07:00
Ryan Fleury 9fdfc7fab9 eval: distinguish irtree 'parents' from 'overrides' - parents are any irtree which some other expression is extending, and overrides are a subset of those, being just the irtrees overridden by auto-hooks. doing this because when we unwind the parent chain, sometimes we do not want to do that for basic expression extensions - we just want to undo the overrides. 2025-04-28 15:37:30 -07:00
Ryan Fleury fff259e113 cache font setting calculations per-frame rather than recomputing all the time, fix some expandability calculations in eval visualization w/ multiple composing views 2025-04-28 14:04:02 -07:00
Ryan Fleury 0cdcb06db8 fix some edge cases in new casting compilation, fix some old usage of cast expr trees 2025-04-28 12:11:38 -07:00
Ryan Fleury c62ad20a9a switch cast expressions from being formally represented in the expression tree - instead use cast-like tree shapes to perform casts in the ir/typechecking phase. this is odd, given C's casting syntax, but it is much more natural given that the parser is not any longer doing identifier resolution, and as such it fixes a bunch of nasty edge cases. 2025-04-28 11:50:23 -07:00
Ryan Fleury 282f6022e1 begin color editing, fix some bugs with meta-type-info disrupting type chain scans 2025-04-26 17:30:34 -07:00
Ryan Fleury 2092f5ca69 eval space generation, to gracefully mark cached evaluations as dirty when desired 2025-04-26 12:33:48 -07:00
Ryan Fleury 09f248de59 cfg evaluation improvements, tab expression editing, window size serialization fix, other small fixes 2025-04-26 10:02:56 -07:00
Ryan Fleury d0cbaee344 prep watch windows for floating query stacks; fix member/array-index generated-expression visualization 2025-04-24 13:39:26 -07:00
Ryan Fleury a9685e6b9d pass through eval msgs appropriately in eval cache evaluations; fix rules for reverting to overridden IR trees on usage of 'raw'; more fixes/improvements 2025-04-24 13:04:32 -07:00
Ryan Fleury a35e483629 switch type expansion hooks to being eval-based, not expr/irtree-based 2025-04-24 09:36:00 -07:00
Ryan Fleury 9bb592786a eliminate all old evaluation bundled helpers, eliminate old fragmented eval caches; move all to unified evaluation cache 2025-04-24 09:07:29 -07:00
Ryan Fleury 2f7e48e5cf first pass at unified evaluation cache 2025-04-23 17:29:31 -07:00
Ryan Fleury ba29350939 parse cache, ir-tree cache 2025-04-23 16:00:23 -07:00
Ryan Fleury c9a05bc76f adjust block tree building from being on expr -> being on eval 2025-04-23 14:45:15 -07:00
Ryan Fleury a27b90a3f9 eliminate separate expr -> type path (this is just done via ir tree generation now), eliminate helper for locating defines & pushing to macro maps 2025-04-23 12:04:50 -07:00
Ryan Fleury c766ffe0a3 kill old code 2025-04-23 11:55:58 -07:00
Ryan Fleury 264dbc8199 deduplication from evaluation ctxs - just have base ctx with deduplicated info, then separate type-state, ir-ctx, and interpretation-ctx 2025-04-23 11:49:44 -07:00
Ryan Fleury 83e59bb0c0 fix incorrect resolution to type-mode evaluation with dereference ops 2025-04-21 16:57:27 -07:00
Ryan Fleury 1c71b89387 eval irgen: allow ,length fastpath for array types as well 2025-04-21 16:55:46 -07:00
Ryan Fleury 4fe602521a fix pointer dereference path in type-mode evaluation; carve out exception for lens visualization with string-pointers - in that case, we just want to apply a string size limitation & go to the regular string path; begin getting off old color slots 2025-04-21 16:49:02 -07:00
Ryan Fleury 0ce9925ba6 pipe through parent expression string info through expr -> string generation path, so we can correctly generate standalone expression strings in the presence of $ (parent shortcuts) 2025-04-21 11:54:55 -07:00
Ryan Fleury 7946e938c0 raw -> walk chain of overridden irtrees, since we want to strip 100% of all overrides/hooks/etc. 2025-04-21 11:46:03 -07:00
Ryan Fleury e30df5122a first half of cell rendering pass 2025-04-18 17:15:57 -07:00
Ryan Fleury ff35db0e16 more eval type operators for metadata decorations; fix target environment string list evaluation / edits 2025-04-18 13:48:31 -07:00
Ryan Fleury ddf0703b02 fix scroll bar size in watch views with changed font size, fix type evaluations 2025-04-18 11:03:40 -07:00
Ryan Fleury f3974b2af7 only/omit; disallow chained fastpaths (vs-style ,x ; ,b; ,count) in nested irtree generations 2025-04-17 15:36:43 -07:00
Ryan Fleury 751f3708e7 interval lens, to generate an expansion of N things, to use w/ tables 2025-04-17 13:46:06 -07:00
Ryan Fleury b9ef453a14 eval visualization - allow chained expressions to cause multiple child expansion blocks; begin work on unified lister watch window 2025-04-15 16:27:44 -07:00
Ryan Fleury 923f55fb2b correctly treat chains of lenses when looking up type hooks; allow type-evaluations when producing per-cell evaluations 2025-04-15 14:18:21 -07:00
Ryan Fleury 85f715f2ba revert to single expression from parse, but keep chains as implicit extension to expressions; use chained expressions to look up shorthands for hex, dec, bin, array counts, etc. 2025-04-15 13:07:59 -07:00
Ryan Fleury e27f31cfa4 adjust meta-expr type visualization; unify 'type unwrapping' paths, instead of nest of various 'scanners', we just have one path which we parameterize via bits to skip what each path needs 2025-04-15 11:35:49 -07:00
Ryan Fleury db381db85d meta-expr type operators, for meta-evaluations, to annotate source expression strings of evaluations 2025-04-14 15:21:46 -07:00
Ryan Fleury b34c70a247 begin merging view state / view parameterizations - unify code for introspecting on each, thus allowing explicit parameterizations of view state via a lens call. also build out the path from an eval -> cfg tree 2025-04-14 12:49:47 -07:00
Ryan Fleury ee0c1b25c3 eval ir generation: adjust autohook-allowance to be a stack, and correctly disable it for all sub-evaluations when using a raw lens, such that autohooks do not apply for evaluation of the parameter (e.g. raw(foo) -> foo, without allowing mapping of foo to something else) 2025-04-14 11:07:18 -07:00
Ryan Fleury b98f2b153e fix call expr stringification 2025-04-13 16:45:27 -07:00
Ryan Fleury d894f7112f array view rule 2025-04-12 07:55:19 -07:00
Ryan Fleury 3f69b028e4 fix ptr-to-ptr expansions 2025-04-12 07:34:27 -07:00
Ryan Fleury 64187e75eb slider extension to built-in cell controls (similar to toggle-switch) 2025-04-11 16:21:47 -07:00
Ryan Fleury e754380caa eval identifier resolution: allow implicitly mapping leaf identifiers to member accesses of overridden irtree 2025-04-11 15:02:54 -07:00
Ryan Fleury 2e8bca21f6 strip out only/omit - i think they are insufficient for long-term filtering stuff... 2025-04-11 14:41:15 -07:00
Ryan Fleury 3e49e92e98 only and omit; notes & dead code deletion 2025-04-11 14:16:48 -07:00
Ryan Fleury abd33f7160 new (and successful :) ) story for 'parent/overridden irtrees'. basically, if we have a rule which maps some eval X's type from A -> B, we preserve the original ir-tree compilation of A in the 'history' when we inevitably produce the ir-tree compilation of B. this can be used for accesses on overridden evaluations, and it allows us to implement $ in auto view rules. 2025-04-11 11:58:43 -07:00
Ryan Fleury 9622bc8808 fix calls to parent tree experiment 2025-04-11 11:26:01 -07:00
Ryan Fleury b60329c817 eliminate view rule column; eliminate 'parent irtree' experiment, need to do something else 2025-04-11 11:25:16 -07:00
Ryan Fleury 59df09b39b re-enable auto view rules in mule 2025-04-10 16:53:36 -07:00
Ryan Fleury 297c576623 irtree parent experiment (failed) 2025-04-10 16:20:52 -07:00