Siegfried Pammer
8925b4ff7b
Inline variable declarations/modernize parts of our code base.
5 years ago
Siegfried Pammer
91e9573449
Fix #1976 : ProxyCallReplacer should honor selected language version/selected options
5 years ago
Siegfried Pammer
10e3da3d16
Add missing license headers to MIT licensed files in ICSharpCode.Decompiler
5 years ago
Jackson Davis
6ab1f98fa3
Expand the range of sequence points out the closest empty ilstack
...
or implicit sequence point without creating overlapping sequence points.
If such a location cannot be found do, nothing. Fill in the
gaps with hidden sequence points.
Also emit a sequence point for
the prolog to account for seqeunce point there emitted by the C#
compiler. Without this, the debugger can stop there on a step in
using the original pdb, then decompile resulting in a no-code at this
location failure.
5 years ago
Daniel Grunwald
65fe59e393
#1918 : Fix a bunch of issues with pinned region detection.
...
Not every pinned region has a clean `P = null` assignment to mark its end.
If a second pinned region starts with the same variable `P`, consider that to mark the end of the previous pinned region for that variable.
Also, fix a bunch of special cases with empty pinned regions.
5 years ago
Siegfried Pammer
69ac54fbb6
Fix #1879 : Do not remove variables that look like display class variables, but are used in other patterns as well.
5 years ago
Siegfried Pammer
5ee172d4c4
Fix #1900 : RemoveDeadVariableInit.ResetHasInitialValueFlag should handle local functions
5 years ago
Siegfried Pammer
371d732c0a
Fix #1881 : Not properly reusing names from PDB#2
5 years ago
Siegfried Pammer
e748e71b56
Implement workaround for #1961
5 years ago
Siegfried Pammer
413c5b3baf
PortablePdbWriter: Add primitive support for state-machine hoisted local scopes. All variables are visible in the whole MoveNext method.
5 years ago
Siegfried Pammer
bef75321fb
#1913 : Do not destroy control-flow by removing return statements
5 years ago
Siegfried Pammer
73e0f7c3ac
Fix #1936 : TransformDisplayClassUsage should remove copies of display-class references.
5 years ago
Siegfried Pammer
e4fda5c2e4
Rename HasILRange to ILRangeIsEmpty to properly reflect its implementation.
5 years ago
Daniel Grunwald
4b1f0b342c
Fix #1925 : Adjust AsyncAwaitDecompiler to changes in Roslyn 3.5.0-beta2
5 years ago
Siegfried Pammer
0b78a66fdb
Fix #1896 : Remove unreachable blocks
5 years ago
Siegfried Pammer
28391c4864
Fix #1895 : local function not added to the correct parent function.
5 years ago
Siegfried Pammer
92e1d6fe85
Fix #1907 : Discard parameter names containing non-printable or white space characters from set of possible names considered by AssignVariableNames.
5 years ago
Siegfried Pammer
d8a08822b7
Fix #1879 : Incorrectly detected display class.
5 years ago
Siegfried Pammer
2b7b040dd9
Fix BadImageFormatException when accessing standalone signatures.
5 years ago
Siegfried Pammer
f831e4713f
Fix #1867 : Captures of copies of this are not properly handled by the decompiler
5 years ago
Siegfried Pammer
5be6be97df
Code review:
...
* rename a few identifiers,
* add comments,
* skip all compiler-generated type-arguments in resolve result,
* and change implementation of LocalFunctionMethod.Specialize: wrap specialized method and not the other way round.
5 years ago
Siegfried Pammer
9e89384916
Make NumberOfCompilerGeneratedGenerics immutable and rename to NumberOfCompilerGeneratedTypeParameters
5 years ago
Daniel Grunwald
f0292808b3
#1852 : Handle fixed statement with null-safe GetPinnableReference call
5 years ago
Daniel Grunwald
bbb2397083
Fix #1853 : Detect pinning of multi-dimensional array
5 years ago
Siegfried Pammer
e189ad9ca3
Fix #1863 : Invalid decompilation: accessibility level for CompilerGenerated method
5 years ago
Daniel Grunwald
eb2a9e6b94
#1852 : Rename array.to.pointer opcode to get.pinnable.reference.
6 years ago
SilverFox
5914d5b96b
Fix #1854
6 years ago
Siegfried Pammer
407c337168
Add ForStatement, DoWhileStatement and SeparateLocalVariableDeclarations settings.
6 years ago
Shimon Magal
c06299b284
yield return moveNext
6 years ago
Siegfried Pammer
a653b8b566
Fix #1841 : Not properly reusing names from PDB
6 years ago
Daniel Grunwald
832c18f0be
Fix #1809 : Support VB Select on string.
6 years ago
Daniel Grunwald
42f71b56f6
Fix #1811 : Assert in NullCoalescingInstruction.CheckInvariant after expression tree transform
6 years ago
Daniel Grunwald
93806b46fa
Fix compound assignments with type `bool`.
...
This required removing the "Replace bit.and with logic.and" transform, as it interfered with the compound assignment transform.
6 years ago
Siegfried Pammer
270547cb46
Fix release build.
6 years ago
SilverFox
a5d85fea3f
Add an workaround for #1798
6 years ago
SilverFox
22daaa3572
Enable static local functions and update related tests, since roslyn 3.4.0-beta3 is available for tests
6 years ago
SilverFox
33f96fd888
Fix tests `LocalFunctions.NestedCapture1`
6 years ago
SilverFox
5e6fecebf5
Rework support for generic local function, and fix tests `LocalFunctions.Generic.Test_CaptureT` and `LocalFunctions.Generic.TestGenericArgs`
6 years ago
SilverFox
e60f1f5a87
Skip LocalFunctionDecompiler if the top scope is LocalFunction or LocalFunctionDisplayClass
6 years ago
SilverFox
f039705704
Add support for generic local function
6 years ago
Daniel Grunwald
1b505b8c6d
Adjust async-streams decompiler for dotnet/roslyn#39436
6 years ago
Daniel Grunwald
a1c211f326
Fix #1794 : Avoid extra cast to double for ulong -> float conversion
6 years ago
Daniel Grunwald
eaecedd8ea
Fix #1782 : AsyncAwaitDecompiler for methods in struct
6 years ago
Daniel Grunwald
fc95f3056b
Fix #1788 : async/await decompilation fails with custom task type when the builder and/or awaiter is a reference type.
6 years ago
Siegfried Pammer
2e1306ec33
Split AwaitInCatchTransform.cs from AwaitInFinallyTransform.cs
6 years ago
Siegfried Pammer
cefefd0e6d
create AwaitInFinallyTransform.cs from AwaitInCatchTransform.cs
6 years ago
Siegfried Pammer
e211b01595
Fix CA1507:UseNameofInPlaceOfString, adjust formatting of some older source files copied from NRefactory.
6 years ago
Siegfried Pammer
a781e37d98
Fix #1779 : Do not inline compound assignment target, if it is a temporary struct.
6 years ago
Siegfried Pammer
9bb2ea872c
Fix #1773 : Remove copies of parameter values only if the types match exactly.
6 years ago
Siegfried Pammer
413c9eba2c
#1759 : Follow-up: Handle nested generic arguments as well.
6 years ago