58 Commits
Author SHA1 Message Date
Siegfried Pammer 202c5e22e3 Fix #3383: more aggressively transform object initializers on structs 2025-02-20 08:51:47 +01:00
Siegfried Pammer 906d248403 Fix #3392: uses of init-setters must use object-initializer syntax. 2025-02-12 22:58:11 +01:00
Siegfried Pammer 9e168224dd Fix #3091: extension methods named "Add" were skipping some checks in AccessPathElement.IsMethodApplicable. 2023-10-01 17:58:44 +02:00
Siegfried Pammer ac6a2e54ca Use IsAccessor again. 2022-10-03 14:56:51 +02:00
Siegfried Pammer 927b46b17d Fix #2787: Enable NRT in TransformCollectionAndObjectInitializers and fix problems. 2022-10-02 22:53:36 +02:00
Siegfried Pammer 1ac1bd6eab Remove context field from TransformCollectionAndObjectInitializers, inline DoTransform. 2022-09-29 21:35:51 +02:00
Siegfried Pammer 874ac9ac0b Fix #2712: TransformCollectionAndObjectInitializers fails to properly detect set-accessors of FakeProperties.
Bug likely introduced due to an oversight in #2677.
2022-06-13 20:50:38 +02:00
Siegfried Pammer d248867302 Add support for C# 10 record structs. 2022-05-26 15:18:22 +02:00
Siegfried Pammer e726ae28a5 Fix type equality check in TransformCollectionAndObjectInitializers 2022-03-07 09:19:25 +01:00
Siegfried Pammer d54016ce8f #2390: Add support for generic object initializers. 2021-05-08 13:51:50 +02:00
Siegfried Pammer 3df82cf33b Add support for 'with' expressions 2021-01-03 20:55:25 +01:00
Siegfried Pammer 3a7c69e5b9 Fix #2192: Add support for VB.NET delegate construction 2020-10-23 21:38:38 +02:00
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 2020-08-28 01:05:38 +02:00
Siegfried Pammer a0d9410f67 Fix build. 2020-08-15 09:33:25 +02:00
Siegfried Pammer 05c988c5df Revert "#2098: CallBuilder: Fix named argument handling in TI"
This partially reverts commit eea4b7701c.
2020-08-15 09:06:40 +02:00
Siegfried Pammer eea4b7701c #2098: CallBuilder: Fix named argument handling in TI 2020-08-12 17:55:08 +02:00
Siegfried Pammer 1c7d9705da Add Validation of delegate target instructions. 2020-05-21 00:03:29 +02:00
Siegfried Pammer 6042819117 Implement Block.CheckInvariant for BlockKind.ArrayInitializer, BlockKind.CollectionInitializer and BlockKind.ObjectInitializer 2020-05-18 23:41:48 +02:00
Siegfried Pammer 53c593af0b Fixed all TDCU related tests. 2020-05-17 09:12:24 +02:00
Siegfried Pammer 61231b7725 Fix #1593: TransformCollectionAndObjectInitializers uses nested indexer call as target of object initializer. 2019-07-24 12:55:10 +02:00
Siegfried Pammer 5a2302089b Refactor TransformDisplayClassUsage into separate transform.
Make display class detection pattern-based instead of name-based. Fixes #1554
2019-06-29 11:18:42 +02:00
Siegfried Pammer 7a976f197f Fix #1500: anonymous type creation expression cannot have an object initializer. 2019-04-28 09:30:53 +02:00
Siegfried Pammer 590558883e Fix small regression in initializer tests. 2018-12-28 10:24:21 +01:00
Siegfried Pammer 77c1dbab8a Fix #1345: Do not construct object initializer, if property or field in access path is not writable. 2018-12-19 19:28:53 +01:00
Siegfried Pammer 6719dacabd Fix #1279: Event fields in object initializers 2018-09-15 10:05:51 +02:00
Daniel Grunwald b396d203bd Merge IDecompilerTypeSystem with ICompilation. 2018-07-14 16:50:36 +02:00
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.
2018-07-13 22:20:49 +02:00
Siegfried Pammer 069e4072de Fix compile errors after merge. 2018-06-28 21:35:12 +02:00
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. 2018-06-23 11:07:50 +02:00
Siegfried Pammer cf8bee2c01 Fix translation of generic and extension 'Add' methods in collection initializers. 2018-06-22 09:20:37 +02:00
Siegfried Pammer b9f14905b2 Fix #1155: DictionaryInitializers setting not working 2018-06-02 22:11:47 +02:00
Siegfried Pammer 2d427cf534 Relax rules for object and collection initializer detection to properly decompile query expressions. 2018-03-26 23:13:42 +02:00
Daniel Grunwald 8a589b2fd2 Add DecompilerSettings constructor that takes a language version. 2018-03-04 17:05:37 +01:00
Siegfried Pammer 7cbcdd9f0e #1049: add back some decompiler settings 2018-01-29 08:32:32 +01:00
Siegfried Pammer 9689667515 Fix #1042: Wrong decompile result for collection initializers 2018-01-24 18:40:51 +01:00
Siegfried Pammer 349183544a Rename BlockType to BlockKind 2017-11-04 22:53:34 +01:00
Siegfried Pammer 461e59bd3f Clean up and documentation 2017-10-18 10:40:20 +02:00
Siegfried Pammer 08dcead162 Fix false positive in struct initializers with default.value init 2017-10-18 09:23:22 +02:00
Siegfried Pammer 0b6987f195 Fix pretty unit tests. 2017-10-16 22:42:15 +02:00
Siegfried Pammer 381bd42599 Fix bug mentioned in #909 2017-10-16 18:55:58 +02:00
Siegfried Pammer 14b6c599c1 Fix object initializers directly accessing struct members + add initializer pretty tests. 2017-10-15 15:47:24 +02:00
LordJZ db7ac3584e Fix crash when decompiling event add call in collection initializer 2017-10-03 21:20:56 +03:00
Daniel Grunwald 7017c6f6e6 Replace LoopingBlockTransform with StatementTransform.
This transform interleaves statement-combining transforms so that nested structures can be detected better.
2017-09-27 21:42:17 +02:00
Siegfried Pammer f267a7875e Fix #855 - ArgumentOutOfRangeException in TransformCollectionAndObjectInitializers.DoTransform 2017-09-19 10:19:34 +02:00
Siegfried Pammer 000f94caad TransformCollectionAndObjectInitializers: only add step right before transforming. 2017-09-17 21:34:13 +02:00
Siegfried Pammer ed6a2db37c Add VariableKind.InitializerTarget to separate stack slots should be renamed from purely generated helper variables in initializer blocks. 2017-09-15 22:18:43 +02:00
Siegfried Pammer 7ea511ef32 Add support for C# 6 dictionary initializer. 2017-09-03 01:46:56 +02:00
Daniel Grunwald a8adc83de4 Decompile object initializers more aggressively when the initialized object is stored in a stack slot. 2017-08-26 11:30:46 +02:00
Siegfried Pammer 934edb6e79 TransformCollectionAndObjectInitializers: Fix problems with unknown types. 2017-08-24 00:25:33 +02:00
Siegfried Pammer c5d3218834 TransformCollectionAndObjectInitializers: Do not transform display class usages 2017-08-23 17:14:10 +02:00