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
6 days ago
Siegfried Pammer
fae6f57b1c
Fix #3671 : TransformCollectionAndObjectInitializers mistakenly included trailing variable initialization.
4 months ago
Nikita
9ed96224b8
Update TransformCollectionAndObjectInitializers to check for init-only properties ( #3678 )
4 months ago
Siegfried Pammer
d3e12d0ebf
Migrate from .ruleset to .editorconfig
6 months ago
Siegfried Pammer
588c243929
#3593 : ObjectInitializers: allow castclass instructions wrapping the init instruction to support the pattern used for covariant returns on non-supporting platforms such as .NET 4.x.
8 months ago
ds5678
dc3ed43dd8
Do not create object initializers for tuples
9 months ago
Jeremy Pritts
d1dc7b258a
Copy-propagate the stack slot for collection initializers ( #3554 )
...
* Copy-propagate the stack slot for collection initializers
* Use pattern matching
10 months ago
Peter Crabtree
e1e16b64f5
dev: Strip BOM mark from text files
10 months ago
Siegfried Pammer
d2d9281072
Move CanTransformToExtensionMethodCall to CSharpResolver
11 months ago
Siegfried Pammer
49368caf1c
Rename option to "UseObjectCreationOfGenericTypeParameter"
1 year ago
Siegfried Pammer
9f77f8a919
Prevent inlining of call arguments when doing so would change order of evaluation with regards to the implicit ldobj performed by a constrained.callvirt.
1 year ago
Siegfried Pammer
202c5e22e3
Fix #3383 : more aggressively transform object initializers on structs
1 year ago
Siegfried Pammer
906d248403
Fix #3392 : uses of init-setters must use object-initializer syntax.
1 year ago
Siegfried Pammer
9e168224dd
Fix #3091 : extension methods named "Add" were skipping some checks in AccessPathElement.IsMethodApplicable.
3 years ago
Siegfried Pammer
ac6a2e54ca
Use IsAccessor again.
4 years ago
Siegfried Pammer
927b46b17d
Fix #2787 : Enable NRT in TransformCollectionAndObjectInitializers and fix problems.
4 years ago
Siegfried Pammer
1ac1bd6eab
Remove context field from TransformCollectionAndObjectInitializers, inline DoTransform.
4 years ago
Siegfried Pammer
874ac9ac0b
Fix #2712 : TransformCollectionAndObjectInitializers fails to properly detect set-accessors of FakeProperties.
...
Bug likely introduced due to an oversight in #2677 .
4 years ago
Siegfried Pammer
d248867302
Add support for C# 10 record structs.
4 years ago
Siegfried Pammer
e726ae28a5
Fix type equality check in TransformCollectionAndObjectInitializers
4 years ago
Siegfried Pammer
d54016ce8f
#2390 : Add support for generic object initializers.
5 years ago
Siegfried Pammer
3df82cf33b
Add support for 'with' expressions
6 years ago
Siegfried Pammer
3a7c69e5b9
Fix #2192 : Add support for VB.NET delegate construction
6 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
6 years ago
Siegfried Pammer
a0d9410f67
Fix build.
6 years ago
Siegfried Pammer
05c988c5df
Revert "#2098: CallBuilder: Fix named argument handling in TI"
...
This partially reverts commit eea4b7701c .
6 years ago
Siegfried Pammer
eea4b7701c
#2098 : CallBuilder: Fix named argument handling in TI
6 years ago
Siegfried Pammer
1c7d9705da
Add Validation of delegate target instructions.
6 years ago
Siegfried Pammer
6042819117
Implement Block.CheckInvariant for BlockKind.ArrayInitializer, BlockKind.CollectionInitializer and BlockKind.ObjectInitializer
6 years ago
Siegfried Pammer
53c593af0b
Fixed all TDCU related tests.
6 years ago
Siegfried Pammer
61231b7725
Fix #1593 : TransformCollectionAndObjectInitializers uses nested indexer call as target of object initializer.
7 years ago
Siegfried Pammer
5a2302089b
Refactor TransformDisplayClassUsage into separate transform.
...
Make display class detection pattern-based instead of name-based. Fixes #1554
7 years ago
Siegfried Pammer
7a976f197f
Fix #1500 : anonymous type creation expression cannot have an object initializer.
7 years ago
Siegfried Pammer
590558883e
Fix small regression in initializer tests.
8 years ago
Siegfried Pammer
77c1dbab8a
Fix #1345 : Do not construct object initializer, if property or field in access path is not writable.
8 years ago
Siegfried Pammer
6719dacabd
Fix #1279 : Event fields in object initializers
8 years ago
Daniel Grunwald
b396d203bd
Merge IDecompilerTypeSystem with ICompilation.
8 years ago
Daniel Grunwald
3b46776c5e
Rename IAssembly -> IModule.
...
While support for multi-module assemblies isn't fully working yet; it is clear at this point that we want
to treat each module in a multi-module assembly separately for the purposes of the type system.
8 years ago
Siegfried Pammer
069e4072de
Fix compile errors after merge.
8 years ago
Siegfried Pammer
6096b7df29
#907 : CallBuilder: If type arguments cannot be inferred from the parameter list, add them before asking overload resolution, but remove them again, if it does not reduce the number of casts.
8 years ago
Siegfried Pammer
cf8bee2c01
Fix translation of generic and extension 'Add' methods in collection initializers.
8 years ago
Siegfried Pammer
b9f14905b2
Fix #1155 : DictionaryInitializers setting not working
8 years ago
Siegfried Pammer
2d427cf534
Relax rules for object and collection initializer detection to properly decompile query expressions.
8 years ago
Daniel Grunwald
8a589b2fd2
Add DecompilerSettings constructor that takes a language version.
8 years ago
Siegfried Pammer
7cbcdd9f0e
#1049 : add back some decompiler settings
9 years ago
Siegfried Pammer
9689667515
Fix #1042 : Wrong decompile result for collection initializers
9 years ago
Siegfried Pammer
349183544a
Rename BlockType to BlockKind
9 years ago
Siegfried Pammer
461e59bd3f
Clean up and documentation
9 years ago
Siegfried Pammer
08dcead162
Fix false positive in struct initializers with default.value init
9 years ago
Siegfried Pammer
0b6987f195
Fix pretty unit tests.
9 years ago