Siegfried Pammer
37a8156dab
Fix #1383 : NRE in TransformArrayInitializers.
7 years ago
Siegfried Pammer
008a3c71e5
DelegateConstruction:
...
- add support for unknown delegate construction pattern. The method is compiler-generated, but has no compiler-generated name, we should be able to infer lambda usage from anonymous types used in the signature (i. e., the method can only be used as lambda, because that's where type names are optional).
- Add CombineExitsTransform in DelegateConstruction: this allows combining lambdas with multiple return statements into a single expression (as it is expected by query expressions).
7 years ago
Siegfried Pammer
859872ba8c
Fix #1377 : Fix IndexOutOfRangeException in TransformArrayInitializers
7 years ago
Siegfried Pammer
64686b9547
Fix #1336 : multi-dimensional array initializers with custom objects not detected.
7 years ago
Siegfried Pammer
3f4ffd64f8
Set DelayExceptions = true in ILReader for get/set operations on multi-dim arrays.
7 years ago
Siegfried Pammer
ab8c73b2f7
#1336 : Add limit in HandleSimpleArrayInitializer.
7 years ago
Daniel Grunwald
70138fa63d
#1336 : Use delayed exceptions for Array.Get/Set.
...
We use this flag for the ldelem/stelem representation, so we need to also use
it for Get/Set on multi-dimensional arrays.
7 years ago
Siegfried Pammer
dd2a2af31d
Extend UsingTransform.CheckResourceType to support non-generic System.Collections.IDictionaryEnumerator.
7 years ago
Siegfried Pammer
0c1134f5ed
Fix #1356 : ExpressionTrees: ref parameter usage not transformed correctly.
7 years ago
Siegfried Pammer
590558883e
Fix small regression in initializer tests.
7 years ago
Siegfried Pammer
cb5960b8e0
Fix #1355 : System.ArgumentException: An item with the same key has already been added in Decompiler.IL.Transforms.TransformExpressionTrees.ConvertLambda
7 years ago
Siegfried Pammer
875af13934
Fix #750 : Missing recognizer for ?? when rhs is an assignment expression
7 years ago
Siegfried Pammer
455d55dc46
Fix #1343 : Extend AwaitInCatchTransform to support catch blocks that leave the block container.
7 years ago
Siegfried Pammer
77c1dbab8a
Fix #1345 : Do not construct object initializer, if property or field in access path is not writable.
7 years ago
Siegfried Pammer
00a54a278a
Fix #1344 : Fix GetCodeMappingInfo for nested async FSMs
7 years ago
Daniel Grunwald
deb2ceebd8
Fix #970 : 'await' decompilation when the awaiter does not implement ICriticalNotifyCompletion
7 years ago
Siegfried Pammer
c34a36b3ec
Fix #1326 : Another case of missing ILRanges in
...
- TryFinally/TryFault instructions
- blocks, that are skipped when leaving nested containers
7 years ago
Siegfried Pammer
8740e2413d
Remove redundant namespace usage.
7 years ago
Siegfried Pammer
5b7e1b844f
Fix #1327 : BlockBuilder: ILRange was not set on last block of outer containers, if there were nested containers, such as try/finally.
7 years ago
Siegfried Pammer
667e04462a
Fix #1325 : Do not perform inline assignment transform on setter calls, that belong to parameterized properties.
7 years ago
Siegfried Pammer
091dc25a82
Fix #1340 : Update local function check to match latest version of Roslyn.
7 years ago
Siegfried Pammer
1854a33749
Fix #1340 : infinite recursion in DelegateConstruction due to recursive local function being mistreated as delegate construction.
7 years ago
Daniel Grunwald
b5ab8a4622
Fix #1338 : KeyNotFoundException in SwitchDetection.AnalyzeControlFlow()
7 years ago
Siegfried Pammer
b9f179465d
Fix part 1 of #1292 : switch on string inside try-block not recognized.
7 years ago
Siegfried Pammer
112719efaf
Extend safety-checks in TransformSpanTCtorContainingStackAlloc.
7 years ago
Siegfried Pammer
0dac55d584
Add transformation for stackalloc to Span<T>.
7 years ago
Daniel Grunwald
4a3185c823
#907 : Add tests
7 years ago
Daniel Grunwald
0a9df3d373
Fix #1252 : Incorrect comparison type for lifted comparisons in expression trees.
7 years ago
Daniel Grunwald
e041454987
Add pretty tests for "yield return" and fix some minor bugs:
...
* remove redundant casts on yield-return-expression
* keep variable name from metadata for foreach loops
* fix 'yield break;' in nested try-finally sometimes causing a decompiler error
7 years ago
Daniel Grunwald
ed631cc7d3
Fix #1307 : some of the blocks made unreachable by the yield-return-transform were not deleted
...
This had the effect of leaving behind error comments despite the yield-return transform being successful.
7 years ago
Daniel Grunwald
5d394b7786
Refactor PR #1303 to make the ConvertBranchAfterYieldReturn logic easier to understand
7 years ago
Wenxuan Zhao
3e937cf7cb
Fix delegate in yield return issue for assembly compiled with Mono
7 years ago
Wenxuan Zhao
9228e0102c
Fix yield return for assembly compiled with Mono
7 years ago
Daniel Grunwald
ef866040b4
Update to SRM 1.6.0 and Roslyn 2.9. Adjust decompiler to new code pattern used for lifted nullable comparisons.
7 years ago
Daniel Grunwald
12e74daf48
Handle Comp in InferType().
7 years ago
Chicken-Bones
ab9397d099
Add ReduceNestingTransform
7 years ago
Chicken-Bones
e9b766d708
Improve persistence of IL offsets through various transforms.
7 years ago
Chicken-Bones
bf17423618
Abort SwitchAnalysis on duplicate condition (redundant code)
7 years ago
Daniel Grunwald
f4613de2ba
Don't match sub.ovf in SwitchAnalysis.
7 years ago
Siegfried Pammer
6719dacabd
Fix #1279 : Event fields in object initializers
7 years ago
Siegfried Pammer
65cf13ce27
Fix #1270 : Bad decompilation of mcs switch-on-string
7 years ago
Chicken-Bones
481e05eabb
Better shortcircuit detection to avoid single condition switch statements
7 years ago
Chicken-Bones
d8244e347b
Select outer-loop continue branches as break targets for switches in nested loops
7 years ago
Chicken-Bones
9f21e6a2b2
Increase max values per switch section
7 years ago
Chicken-Bones
eed337c12e
Remove dead code when unreachable condition blocks are consumed by SwitchDetection
7 years ago
Chicken-Bones
d86f4b4132
Prefer simple if statements over switch with single case block
7 years ago
Chicken-Bones
52a279f861
Restore HighLevelLoopTransform pattern match for loop contents within if body
7 years ago
Chicken-Bones
7017d998d0
Improve switch decompilation in loops via early detection of continue blocks.
7 years ago
Chicken-Bones
1a021635cc
Fix detection of switch statements with cases containing a single break;
...
Remedy incorrect assumption that the default case was special.
7 years ago
Chicken-Bones
cb4fa90545
Add IL ordering based hint to UseCSharpSwitch
7 years ago