Ryan Fleury
|
f754b4c2db
|
fix pointer/array comparison paths not being enabled for not-equal; fix value arithmetic paths applying in type comparisons
|
2025-08-15 11:31:50 -07:00 |
|
Ryan Fleury
|
83650a5fe0
|
support unsigned -> unsigned int; support as-style casts in expressions; pack int alias in pdb-produced rdis
|
2025-08-15 10:56:42 -07:00 |
|
Ryan Fleury
|
a8f6142e63
|
eval/ir: do not strip enum types off when doing address operations
|
2025-08-11 16:18:39 -07:00 |
|
Ryan Fleury
|
9cff2bc7dd
|
symbolof operation in eval
|
2025-08-05 10:21:42 -07:00 |
|
Ryan Fleury
|
163b79e4c0
|
decay bitfield types in casting path, allow casting to integer types
|
2025-07-25 15:29:34 -07:00 |
|
Ryan Fleury
|
393c291f63
|
reflect casting changes to call-cast style
|
2025-07-25 15:19:35 -07:00 |
|
Ryan Fleury
|
1c2855a314
|
unwrap decorative type operators on casts when building ops for casting, to allow for graceful enum casting; gracefully skip struct/enum symbol name prefixes
|
2025-07-25 15:17:39 -07:00 |
|
Ryan Fleury
|
c43697fb18
|
fix type debug info table evaluations; fix preference for auto-hook-applied lhs evaluation when doing member/array accesses
|
2025-07-25 13:29:08 -07:00 |
|
Ryan Fleury
|
051bacf124
|
reflect cast changes in cast-calls
|
2025-07-23 16:05:30 -07:00 |
|
Ryan Fleury
|
3ae3f94db0
|
split unsigned => signed casting case from shrinking conversion truncation cast path
|
2025-07-23 16:04:59 -07:00 |
|
Ryan Fleury
|
38f769c00d
|
only apply truncation to integer types, oops
|
2025-07-23 14:36:20 -07:00 |
|
Ryan Fleury
|
cd64d959ef
|
apply integer truncation operations on both sign/size changes, rather than just size
|
2025-07-23 14:31:51 -07:00 |
|
Ryan Fleury
|
dc79c06031
|
adjust implicit accessing rules with nested auto hooks (slice-of-slices case); prefer to not show address value with string prefix content in single-line eval stringification
|
2025-06-30 09:33:23 -07:00 |
|
Ryan Fleury
|
0018147b95
|
bounds-check di matches
|
2025-06-27 14:40:13 -07:00 |
|
Ryan Fleury
|
d4c15d9089
|
pull out type-only identifier resolution and switch to match store; eliminate synchronous matching work
|
2025-06-27 13:55:18 -07:00 |
|
Ryan Fleury
|
5750c17c80
|
eliminate old slow identifier resolution path
|
2025-06-27 12:34:46 -07:00 |
|
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
|
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
|
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
|
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
|
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
|
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
|
a67f326f78
|
eliminate redundant recomputation of ir extensions
|
2025-05-14 10:27:01 -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
|
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
|
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
|
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
|
ead193ee3b
|
move enum value by-name lookup onto cached fastpath
|
2025-05-07 17:08:28 -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
|
3a46e66efa
|
expand eval expression tree location info to being based on textual range, rather than just offset
|
2025-05-01 09:05:42 -07:00 |
|
Ryan Fleury
|
ed4fe5e3d1
|
fix auto-downcasting to work in all cases
|
2025-05-01 08:27:03 -07:00 |
|
Ryan Fleury
|
b0dd7700d7
|
apply autocasting below the ir-tree generation level of lens calls, so that we don't accidentally strip away lenses
|
2025-04-30 17:04:10 -07:00 |
|
Ryan Fleury
|
78928974cb
|
implicit member access path
|
2025-04-30 16:38:25 -07:00 |
|
Ryan Fleury
|
b1d63cd130
|
unattached process evaluation / lister
|
2025-04-30 13:34:05 -07:00 |
|
Ryan Fleury
|
10ff98faa8
|
fix type pattern matching for auto hooks, improve slice array indexing operations to rely less on the full irtree path (it composes poorly when using combining type views
|
2025-04-30 10:15:32 -07:00 |
|
Ryan Fleury
|
f521e01d6e
|
dynamic ternaries in ir tree evaluation, fixes to over-ambitious parsing of identifier qualifiers
|
2025-04-29 15:26:40 -07:00 |
|
Ryan Fleury
|
0a214fda3c
|
dynamic type resolution in ir tree / type generation pass
|
2025-04-29 15:06:06 -07:00 |
|
Ryan Fleury
|
4cccc9cb42
|
proper cast parsing, elimninate chained casts entirely
|
2025-04-29 14:53:35 -07:00 |
|
Ryan Fleury
|
d41b414f2a
|
eliminate very-poorly-thought-through idea of 'chained casts' - we need to recognize cast operators in the parser somehow, otherwise we are using the expr chain for way too many things in many cases...
|
2025-04-29 14:29:42 -07:00 |
|