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