Daniel Grunwald
52e6717faf
Fix #1452 : Avoid NullReferenceException when accessing SlotInfo property on the root node
6 years ago
Daniel Grunwald
f18ed5a418
Fix #1453 : Incorrect assert in IL Conv for R4 -> R8
6 years ago
Siegfried Pammer
d4d647bbad
Fix #1455 : NRE in MatchRoslynSwitchOnNullable
6 years ago
Daniel Grunwald
4ad4f6a232
Fix #882 : Don't inline value-type temporaries for setter calls.
6 years ago
Daniel Grunwald
a5505ab00d
Expose IMethod.AccessorKind. This makes it easier to determine if a method is a setter, particular in generic classes where "m.AccessorOwner?.Setter == m" ended up being wrong.
6 years ago
Siegfried Pammer
eed690a0fc
Fix #1449 : Fix error message typo.
6 years ago
Siegfried Pammer
d83f6e6ec0
Remove unused code.
6 years ago
Daniel Grunwald
40b6f0c7bf
Use appropriate type for helper variables introduced for named arguments.
7 years ago
Siegfried Pammer
b0309ca9e3
Fix #1180 : Fix generation of Windows Forms InitializeComponent.
7 years ago
Daniel Grunwald
4987f78d21
Limit the number of instructions validated for the $"{transform.GetType().Name} modified an instruction before pos" assertion; this makes debug-mode performance less horrible.
7 years ago
Daniel Grunwald
eb942b4a21
Fix #1430 : Improve performance in ILInlining.
7 years ago
Siegfried Pammer
1c261c6170
Optimize ProxyCallReplacer: ignore calls to static methods as those can never be a call to a proxy.
...
Enable FixProxyCalls test for rosyln+opt
7 years ago
Siegfried Pammer
5dfc6132d9
Fix #1443 : ProxyCallReplacer replacing non-proxy-calls with arbitrary calls.
7 years ago
Siegfried Pammer
7671ac6fe4
Fix switch on nullable for Roslyn. Ignore switch on bool because it is indistinguishable from if (bool).
7 years ago
Siegfried Pammer
6e49efd5aa
Extend ILInlining to work with StringToInt instructions inside Switch instruction.
7 years ago
Siegfried Pammer
9c62f11e51
Add new switch(string) pattern for Roslyn.
7 years ago
Siegfried Pammer
80bc89f606
Fix SwitchOnStringTransform.SimplifyCascadingIfStatements to handle newer Roslyn code-gen correctly.
7 years ago
Siegfried Pammer
d42cf99a8c
Fix dynamic transforms because https://github.com/dotnet/roslyn/issues/27800 was fixed.
7 years ago
Daniel Grunwald
72508b5777
Add test for C# 8 nullable reference types; and fix some bugs.
7 years ago
Siegfried Pammer
94cd891609
Add support for ReadOnlySpan<T> initialization pattern.
7 years ago
Siegfried Pammer
0758c7ea32
Fix #1424 : Complex from/where contains compiler generated names
7 years ago
Siegfried Pammer
00d6c6175a
#1049 : Check decompiler settings in TransformAssignment.HandleCompoundAssign as well.
7 years ago
Siegfried Pammer
087cb2489d
Fix #1049 : Unimplemented decompiler settings
7 years ago
Siegfried Pammer
29527b804e
Fix #1392 : LoopDetection should take switch block containers into account in IncludeNestedContainers.
7 years ago
Siegfried Pammer
ab55086cd7
Use ILRange API in AsyncAwaitDecompiler.
7 years ago
Siegfried Pammer
c1fca21e8a
Make ILRange field private - introduce public API for IL range manipulation.
7 years ago
Daniel Grunwald
f1c8142ce2
PDB generator now can emit "method stepping information" for async functions.
7 years ago
Siegfried Pammer
4e290b545a
Merge ILRanges of DelegateConstruction newobj + ldftn into ILFunction.
7 years ago
Daniel Grunwald
763683748b
Emit debug info for display class locals, so that the debugger can show the values of captured variables.
7 years ago
Siegfried Pammer
84cf4ea6a1
Cleanup and fix ILRanges in DelegateConstruction.
7 years ago
Daniel Grunwald
9188a682e7
Add some steps to DelegateConstruction
7 years ago
Daniel Grunwald
f6aae1f97d
Fix #1386 : MoveArrayToPointerToPinnedRegionInit: Only consider the pinned variable uses within the PinnedRegion
...
This also makes CleanUpTryFinallyAroundPinnedRegion() redundant as it is no longer necessary to trigger the array-to-pointer transform; so the normal elimination of pinned variable resets is sufficient.
7 years ago
Daniel Grunwald
1ab11ba7ce
DetectPinnedRegions: also add debug step for failed CreatePinnedRegion() calls
7 years ago
Daniel Grunwald
bb3b50d1af
Allow recombining of captured variables.
7 years ago
Daniel Grunwald
da5693e605
Fix #1339 : fixed statement not decompiled correctly when pinned variable is reset in finally block
7 years ago
Siegfried Pammer
d9952a7e10
#1388 : Fix ArgumentOutOfRangeException in AsyncAwaitDecompiler.AnalyzeAwaitBlock.
7 years ago
Daniel Grunwald
47ca51a769
Clarify the meaning of ILVariable.Index
7 years ago
Siegfried Pammer
40bbb24675
CombineExitsTransform: Remove unnecessary checks, add both ILRanges to combinedLeave instruction.
7 years ago
Siegfried Pammer
d22e2ac677
Add header and comments describing transformation.
...
Add missing ILRanges.
7 years ago
Siegfried Pammer
deeb603fd7
Fix #1395 : do-while loop missing entry-point label.
7 years ago
Siegfried Pammer
ecde53969c
Add IsInConstructorInitializer case to ILInlining.OptionsForBlock.
7 years ago
Siegfried Pammer
99fc57c6be
CachedDelegateInitialization: Do not lose IL range by creating a new store instruction, reuse existing instruction instead.
7 years ago
Siegfried Pammer
238b5ac092
Fix CombineExitsTransform
7 years ago
Siegfried Pammer
17d19cd04a
Fix #1379 : Missing ILRange from yield return FSM.
7 years ago
Siegfried Pammer
3d5b300602
Improve TransformArrayInitializers: allow default entries at the end of a dimension > 0.
7 years ago
Siegfried Pammer
46b56f8482
Fix #1382 : Do not reuse index instructions in TransformArrayInitializers
7 years ago
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