Daniel Grunwald
de33e79384
Add tests for 'async IAsyncEnumerable'.
...
Remove [AsyncIteratorStateMachine] attribute and left-over ldc.i4 instructions.
6 years ago
Siegfried Pammer
15fe9118dc
Add CompilerOptions.ReferenceCore
6 years ago
Siegfried Pammer
d45311f65e
Enable tests for await using and DIM.
6 years ago
Siegfried Pammer
d2f7258347
Fix #1681 : Use discard assignment, if possible.
6 years ago
Siegfried Pammer
4db22c87e1
Implement detection of custom task implementations + tests.
6 years ago
Siegfried Pammer
047f119e99
Add RemoveDeadStores option
6 years ago
Siegfried Pammer
4a0ca21bbf
Add (failing) test case for throw expressions.
6 years ago
Daniel Grunwald
18ee984ade
Add support for "definitely assigned if true/false" to data flow analysis.
6 years ago
Siegfried Pammer
b83cb41f2e
Add pretty tests for local functions.
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
Siegfried Pammer
c1ac461c26
Enable MCS yield return pretty tests.
6 years ago
Siegfried Pammer
7f8856b10f
Fix #1026 : Improve support for mcs in TransformDisplayClassUsage
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
7671ac6fe4
Fix switch on nullable for Roslyn. Ignore switch on bool because it is indistinguishable from if (bool).
6 years ago
Siegfried Pammer
d42cf99a8c
Fix dynamic transforms because https://github.com/dotnet/roslyn/issues/27800 was fixed.
6 years ago
Daniel Grunwald
72508b5777
Add test for C# 8 nullable reference types; and fix some bugs.
6 years ago
Daniel Grunwald
af69c03442
Enable ValueTypes.cs pretty test
6 years ago
Daniel Grunwald
482da77893
Reenable LiftedOperators tests.
6 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.
6 years ago
Siegfried Pammer
f05c1bb466
Fix build break; only escape _ if it is a type name. Add basic Discards tests.
6 years ago
Siegfried Pammer
545be6d133
Fix CSharpDecompiler.SetNewModifier: follow rules stated in the language specification.
6 years ago
Siegfried Pammer
9437c6e4ad
Add basic interface tests.
6 years ago
Siegfried Pammer
ccfd3cb789
Add ValueTypes tests from old decompiler.
6 years ago
Siegfried Pammer
72be265c5b
Add disabled TypeMembers tests from old decompiler.
6 years ago
Siegfried Pammer
488348e798
Add old MultidimensionalArrays test to pretty test runner.
6 years ago
Siegfried Pammer
2edfac8f99
Rename TypeTests to EnumTests and merge old EnumTests into new pretty tests.
6 years ago
Siegfried Pammer
6f3230af48
Add ununsed CustomAttributes test.
...
Fix CalculatedGetterOnlyPropertyPattern for properties with attributes.
6 years ago
Daniel Grunwald
0c0ac6ea44
Add RunVB() for VB correctness tests
6 years ago
Siegfried Pammer
17f42066a0
Fix #1378 : Missing unsafe modifier for static fields
6 years ago
Siegfried Pammer
7919ce8dd7
TSAB: Add option to display integral literals as hexadecimal numbers.
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
Chicken-Bones
ab9397d099
Add ReduceNestingTransform
7 years ago
Chicken-Bones
7017d998d0
Improve switch decompilation in loops via early detection of continue blocks.
7 years ago
Siegfried Pammer
8d028b57ec
Add test cases.
7 years ago
Daniel Grunwald
9479e8af13
Support overloaded operator &&/||.
7 years ago
Siegfried Pammer
f956e16f58
Add basic support for C# 4 optional arguments.
7 years ago
Siegfried Pammer
f1f70d0ded
Fix #1148 : Do not use hexadecimal display in enums if the value is negative.
7 years ago
Daniel Grunwald
0f8c310de2
Started work on new resolved TS implementation that directly uses SRM.
...
This is a work-in-progress; ILSpy is not functional with this commit.
The old code path still exists but is broken because some classes were modified for the new system.
The new system is still highly incomplete (types only have fields, but no methods).
7 years ago
Siegfried Pammer
58f7296986
Add CustomAttributeConflicts test
7 years ago
Siegfried Pammer
8cbf724901
Move CustomAttributeTests to PrettyTestRunner
7 years ago
Daniel Grunwald
98d00415d1
Fix tuple types.
7 years ago
Daniel Grunwald
4b96f48d87
Cosmetic changes during review of PR #1176
7 years ago
Chicken-Bones
9937302313
Improve control flow decompilation with some compilers
...
Add a ControlFlowSimplification step after SplitVariables
Enable dead code removal in some unit tests
7 years ago
Daniel Grunwald
52e33a60c0
Disable tuple tests on SRM branch for now.
7 years ago
Daniel Grunwald
dd92499ade
Add test case for named arguments.
7 years ago
Andreas Weizel
16b00bfabc
Added DynamicTests.
7 years ago
Daniel Grunwald
469501210c
Add support for C# 7 tuple types:
...
* Use tuple literals instead of calling 'new ValueTuple<..>' constructor
* Where available, use element names for field access
* Make CallBuilder aware of tuple-name/dynamic type erasure, to avoid introducing casts when the types differ only in the tuple element names.
* Make CallBuilder provide a ResolveResult with the correct C# return type for the resulting expression.
Previously we were using the type-erased return type from the IL.
* Fix a bug that caused us to introduce returning casts when accessing an indexer.
7 years ago
Daniel Grunwald
395bc185a3
Decompile TupleElementNamesAttribute into tuple type syntax.
7 years ago
Siegfried Pammer
4d22f3fcd3
Add pretty tests for anonymous types for mcs.
7 years ago
Daniel Grunwald
f386d0b9d1
Filter out a bunch of non-determinism from the generated pretty test IL files.
7 years ago