Siegfried Pammer
89a50e64fc
Extension method syntax on lambda expressions/delegates is not allowed.
6 years ago
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.
6 years ago
Daniel Grunwald
3314f3f37a
Fix #1571 : Expression transforms not running for values of inline assignments.
6 years ago
Siegfried Pammer
e99bc2b145
Fix #1567 : Do not transform string.Concat method calls to + operators if named arguments are used.
6 years ago
Siegfried Pammer
0e638dcb28
Fix #1524 : Adjust expression trees transform to work with async code as well.
6 years ago
Daniel Grunwald
04ffdb6da4
Fix 'ref readonly' delegates
6 years ago
Siegfried Pammer
09ea089d8a
Fix #1499 , fix #1502
6 years ago
Siegfried Pammer
983b7e5280
Add test-case for #1462
6 years ago
Siegfried Pammer
7553c120a5
Fix #1497 : do not insert newlines inside string interpolation expressions.
6 years ago
Siegfried Pammer
8dc80583ec
#1485 : Fix decompilation of TypeAs with Nullable<T> in expression trees
6 years ago
Siegfried Pammer
63646b0ace
Fix #1472 : Apply ExpressionTransforms after CombineExitsTransform to "canonicalize logic and/or"
6 years ago
Daniel Grunwald
b7a3c8d640
Fix #1442 : Allow "dynamic?" in the type system.
6 years ago
Daniel Grunwald
8d99af14c5
Add support for 'ref readonly' return type.
6 years ago
Daniel Grunwald
416425b681
Readonly struct method calls on readonly lvalues don't generate temporaries.
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
b0309ca9e3
Fix #1180 : Fix generation of Windows Forms InitializeComponent.
6 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
6 years ago
Siegfried Pammer
5dfc6132d9
Fix #1443 : ProxyCallReplacer replacing non-proxy-calls with arbitrary calls.
6 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
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
af69c03442
Enable ValueTypes.cs pretty test
7 years ago
Daniel Grunwald
482da77893
Reenable LiftedOperators tests.
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
be1ef7dca2
Re-generate the IL for test cases with Roslyn 2.10.0.
...
The changes to our test runner infrastructure and some cosmetic changes to the test cases caused some minor differences here.
7 years ago
Siegfried Pammer
f05c1bb466
Fix build break; only escape _ if it is a type name. Add basic Discards tests.
7 years ago
Daniel Grunwald
d677ee6254
Escape identifier "_" to avoid ambiguities with discard patterns.
7 years ago
Daniel Grunwald
2f35374d7d
Support "where T : unmanaged" constraints.
7 years ago
Siegfried Pammer
94cd891609
Add support for ReadOnlySpan<T> initialization pattern.
7 years ago
Siegfried Pammer
545be6d133
Fix CSharpDecompiler.SetNewModifier: follow rules stated in the language specification.
7 years ago
Siegfried Pammer
d9b7df637b
Apply expression-body transform to indexers as well.
7 years ago
Siegfried Pammer
54ff546221
Fix deactivated Generics pretty tests: remove redundant boxing conversion from is-expressions.
7 years ago
Siegfried Pammer
9437c6e4ad
Add basic interface tests.
7 years ago
Siegfried Pammer
ccfd3cb789
Add ValueTypes tests from old decompiler.
7 years ago
Siegfried Pammer
72be265c5b
Add disabled TypeMembers tests from old decompiler.
7 years ago
Siegfried Pammer
cf77457afa
Merge IncrementDecrement.cs into CompoundAssignmentTest
7 years ago
Siegfried Pammer
488348e798
Add old MultidimensionalArrays test to pretty test runner.
7 years ago
Siegfried Pammer
2edfac8f99
Rename TypeTests to EnumTests and merge old EnumTests into new pretty tests.
7 years ago
Siegfried Pammer
ae8065b1c0
Merge PropertiesAndEvents tests.
7 years ago
Siegfried Pammer
6f3230af48
Add ununsed CustomAttributes test.
...
Fix CalculatedGetterOnlyPropertyPattern for properties with attributes.
7 years ago
Siegfried Pammer
1eb1c0ba67
Add old Generics tests as pretty test. Note that a few test cases are deactivated because we're emitting extra casts.
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
da5693e605
Fix #1339 : fixed statement not decompiled correctly when pinned variable is reset in finally block
7 years ago
Siegfried Pammer
e075a5239c
Add ShowTypeParametersForUnboundTypes to TSAB.
7 years ago
Siegfried Pammer
deeb603fd7
Fix #1395 : do-while loop missing entry-point label.
7 years ago
Siegfried Pammer
2c0f26ca3e
Add unit tests
7 years ago
Siegfried Pammer
e9cf52d1d5
Fix #1390 : Extension methods used in collection initializers were not converted correctly.
7 years ago
Siegfried Pammer
3d5b300602
Improve TransformArrayInitializers: allow default entries at the end of a dimension > 0.
7 years ago
Siegfried Pammer
37a8156dab
Fix #1383 : NRE in TransformArrayInitializers.
7 years ago