Daniel Grunwald
e6489d543e
Fix #1574 : When re-introducing an explicit cast for an implicit user-defined conversion; ensure we use a direct cast and don't go through the code path for builtin conversions.
7 years ago
Daniel Grunwald
d841d96406
Fix unnecessary casts when calling user-defined operators on nullable types.
7 years ago
Siegfried Pammer
e99bc2b145
Fix #1567 : Do not transform string.Concat method calls to + operators if named arguments are used.
7 years ago
Siegfried Pammer
03e45fc80a
Fix #1568 : Mimic behavior of ILReader.CreateILVariable in case of empty parameter names of anonymous methods.
7 years ago
Siegfried Pammer
5a2302089b
Refactor TransformDisplayClassUsage into separate transform.
...
Make display class detection pattern-based instead of name-based. Fixes #1554
7 years ago
Daniel Grunwald
4e173cc885
Improve error message on decompiler crashes
7 years ago
Daniel Grunwald
fe4a80ec6c
Fix InvalidOperationException in TSAB.MakeFieldReference() when a System.Math field could not be found
7 years ago
Daniel Grunwald
ef035e6e02
Use ".data cil" if data is in text section.
7 years ago
Siegfried Pammer
bb10f5a6a6
Fix #1528 : Show default value of nullable parameters as null.
7 years ago
Siegfried Pammer
5a692610ff
Fix #1523 : Search throws EnumUnderlyingTypeResolverException
7 years ago
DEVB\darius.kucinskas
aeeaa5c149
Fixed crash then type is null in type def matches.
7 years ago
Siegfried Pammer
905081ee37
Fix #1473 : Handle default values for 'Prefer32Bit' correctly.
7 years ago
Siegfried Pammer
c461bb3ccb
WholeProjectDecompiler: store framework version number as padded integer for future use.
7 years ago
Siegfried Pammer
09c6c70879
Ignore empty resources in WholeProjectDecompiler.
7 years ago
Siegfried Pammer
4ccfc39444
Fix #1491 : Exception on empty resource
7 years ago
Daniel Grunwald
04ffdb6da4
Fix 'ref readonly' delegates
7 years ago
Siegfried Pammer
2e00285666
Display type information of fixed fields as "Type[Length]" in tree view.
7 years ago
Siegfried Pammer
09ea089d8a
Fix #1499 , fix #1502
7 years ago
Siegfried Pammer
983b7e5280
Add test-case for #1462
7 years ago
Siegfried Pammer
59b7e0c986
Include namespaces of all known types used by the decompiler in the required namespaces super-set.
7 years ago
Siegfried Pammer
d6144af26d
Fix regression introduced by 7553c120a5
7 years ago
Daniel Grunwald
961923f4fd
#1499 , #1240 : Translate pointer arithmetic on managed pointers (ref T) using the System.Runtime.CompilerServices.Unsafe intrinsics
7 years ago
Siegfried Pammer
906f69fd45
#1499 : Add missing required parentheses around ref expressions.
7 years ago
Siegfried Pammer
7553c120a5
Fix #1497 : do not insert newlines inside string interpolation expressions.
7 years ago
Siegfried Pammer
d0f42fb178
CombineQueryExpressions: Add missing transparent-identifier pattern.
7 years ago
Siegfried Pammer
c2b55869cd
#1501 : IntroduceQueryExpressions.MatchSimpleLambda: Remove hack from the early days of newdecompiler.
7 years ago
Siegfried Pammer
1e3b3090e0
Make RequiredNamespaceCollector an instance
7 years ago
Siegfried Pammer
bf72999f36
Fix #1487 : Include base types in namespace-set approximation.
7 years ago
Siegfried Pammer
ceefac6ddc
Fix #1490 : NRE in MemberLookup.AddMembers
7 years ago
Siegfried Pammer
65dfeb03f7
#1485 : Fix indentation bug if member reference expression is not wrapped in invocation expression.
7 years ago
Siegfried Pammer
3abb548e1e
Fix #1479 : Unable to cast object of type 'System.Int32' to type 'System.Single'
7 years ago
MCpiroman
5b41cc2b60
Fix TryUniteEqualityOperandType
7 years ago
MCpiroman
ff4812dda8
Fix #1462 : Inconsistent enum flag check
7 years ago
Siegfried Pammer
6f5284c4ae
WholeProjectDecompiler: Add <Prefer32Bit>True</Prefer32Bit>, if CorFlags.Prefers32Bit is set.
7 years ago
Siegfried Pammer
6c8a55a0af
Fix #1467 : Update WholeProjectDecompiler.GetPlatformName to match Language.GetPlatformDisplayName
7 years ago
Daniel Grunwald
8d99af14c5
Add support for 'ref readonly' return type.
7 years ago
Siegfried Pammer
b0cb976357
Fix #1454 : Name collision after converting for-over-array to foreach.
7 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.
7 years ago
Daniel Grunwald
ae2824af99
Fix #617 : Incorrect C# translation when `callvirt` is used to invoke base constructor
7 years ago
Daniel Grunwald
f7f657204e
Fix #1447 : Assertion on `numeric.compound.add.old(..., ldc.i8 1)`
7 years ago
Siegfried Pammer
d9fba190ce
Add missing documentation to Annotations.cs.
7 years ago
Siegfried Pammer
d83f6e6ec0
Remove unused code.
7 years ago
Siegfried Pammer
a23c192324
Add missing documentation in CSharpDecompiler.
7 years ago
Siegfried Pammer
b0309ca9e3
Fix #1180 : Fix generation of Windows Forms InitializeComponent.
7 years ago
Siegfried Pammer
859eb623b8
Fix #1439 : Add DecompilerSettings.UseLambdaSyntax
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
Daniel Grunwald
3fac3c07a2
Upgrade Roslyn for tests to 3.0.0-beta3.
...
Remove the committed .il files: these were originally intended to prevent test failures due to differences in the C# compiler on the system.
But legacy csc stopped changing long ago; and roslyn is tested via NuGet package, so everyone is using the same version.
Interestingly enough, avoiding the roundtrip through ildasm/ilasm caused some test failures due to changes in the order of top-level types.
So I've started sorting the types by name to ensure consistency in the tests. This required adjusting some existing tests.
7 years ago
Daniel Grunwald
113acd48c1
Improve decompiler behavior is System.ValueTuple exists in multiple referenced assemblies.
...
This can happen if an application is compiled for .NET 4.6.2 and references
System.ValueTuple.dll; but ILSpy loads the latest mscorlib (e.g. .NET 4.7)
which also contains struct System.ValueTuple.
7 years ago
Siegfried Pammer
f05c1bb466
Fix build break; only escape _ if it is a type name. Add basic Discards tests.
7 years ago