Daniel Grunwald
4b040c1bb2
First round of bugfixes.
2 weeks ago
Daniel Grunwald
c4e181505c
Prepare for a split of StackType.O into StackType.Obj and StackType.VT: the easy cases
2 weeks ago
Siegfried Pammer
04505bbdf2
Highlight and scroll to the changed instruction in the ILAst view
...
The C# debug-steps view highlights and centers the exact AST node a
transform changed; the ILAst view already had the step tree and
replay-at-step but produced no highlight. Bring it to parity.
IL rendering has no token-writer seam like the C# output visitor, so
per-instruction text spans are recorded by bracketing
ILInstruction.WriteTo via a new INodeTrackingOutput. The dominant
inst.ReplaceWith(newInst) transform pattern detaches the instruction
passed to Step, so ILTransformContext gains EndStep to record the
produced instruction; Stepper additionally records the position's
ancestor chain as fallback candidates before the step-limit throw, so
the "show state before" view -- which halts at the selected step --
still resolves to a surviving ancestor (ultimately the ILFunction).
The highlight-range resolver is shared with the C# language.
Assisted-by: Claude:claude-opus-4-8:Claude Code
3 months ago
Peter Crabtree
e1e16b64f5
dev: Strip BOM mark from text files
1 year ago
Siegfried Pammer
688474facd
Add missing DecompilerSettings for new language features
3 years ago
Siegfried Pammer
8e63d92886
Add null and not null patterns for nullable value types
3 years ago
Siegfried Pammer
800067e488
Pattern Matching: Ensure that we always return a non-null instruction after successfully matching a pattern.
3 years ago
Siegfried Pammer
cb62cac9d3
Add support for nullable int const patterns
3 years ago
Siegfried Pammer
a93731ad3a
Add support for nullable structs
3 years ago
Siegfried Pammer
1cb4e77f06
Refactor sub pattern detection into loop to allow continuations of outer patterns.
3 years ago
Siegfried Pammer
8cb3a67c0c
Support recursive pattern for value types
3 years ago
Siegfried Pammer
e475af7822
Support null check without type check in sub patterns.
3 years ago
Siegfried Pammer
51a8eb28f1
Add support for var sub patterns.
3 years ago
Siegfried Pammer
4e62fea07a
Fix pattern matching with fields and value types.
3 years ago
Siegfried Pammer
65b4c928c0
Add support for simple constant patterns.
3 years ago
Siegfried Pammer
f7343c75d0
Add support for simple recursive patterns where the sub pattern is a simple type pattern.
3 years ago
Siegfried Pammer
3d8cda5f88
Fix #2613 : Detect pattern matching on variables of generic type with value types.
3 years ago
Siegfried Pammer
22c98016a9
Fix #2530 : ArgumentOutOfRangeException in PatternMatchRefTypes
5 years ago
Siegfried Pammer
665c731cfc
Move PatternMatchingTransform after LoopDetection.
5 years ago
Siegfried Pammer
55f1125f94
Ensure that pattern locals get distinct variable names.
5 years ago
Siegfried Pammer
dbbcbb87fe
Make pattern matching transform a simple ILTransform for both reference and value types. Check that the true branch dominates all uses of the pattern variable.
5 years ago
Siegfried Pammer
2b26e5013b
Add Roslyn 2.x pattern for value type pattern matching.
5 years ago
Siegfried Pammer
5fa8201533
Added support for isinst-unbox.any pattern with generic reference types and simplified value types pattern detection.
5 years ago
Siegfried Pammer
83727ea4b0
Add support for value type patterns
5 years ago
Siegfried Pammer
357d55d2ad
Add support for old roslyn pattern matching pattern.
5 years ago
Siegfried Pammer
c641072685
Translate MatchInstruction to BinaryOperatorExpression with BinaryOperatorType.IsPattern.
5 years ago
Daniel Grunwald
040ab41c69
Initial implementation of the pattern matching transform.
5 years ago