Siegfried Pammer
849161e362
- Replace DecompilerTextView.CleanUpName with direct uses of WholeProjectDecompiler.CleanUpFileName
...
- Add file extension handling to WholeProjectDecompiler.CleanUpName
- Add WholeProjectDecompiler.SanitizeFileName, which respects file extensions
4 years ago
Daniel Grunwald
787621fb51
Revert "Use Nop instead of InvalidExpression to hold the "goto from catch-block to try-block" comment"
...
This reverts commit 77dcbbee86
.
4 years ago
Daniel Grunwald
77dcbbee86
Use Nop instead of InvalidExpression to hold the "goto from catch-block to try-block" comment
4 years ago
Daniel Grunwald
f104233e78
Fix #2388 : Add support for branch from catch-block to try-block (VB `On Error Resume Next`)
4 years ago
Daniel Grunwald
8fb44414c9
Remove unused GenerateConvHelper
4 years ago
Siegfried Pammer
ec6a9afc57
Fix #2448 : Decompiler shows some enum values as hexdecimal instead of decimal
4 years ago
Daniel Grunwald
9bbb944e97
Avoid crashing on invalid certain forms of invalid metadata (found in obfuscated assemblies)
4 years ago
Daniel Grunwald
47b12a1d9a
Fix #2317 : Crash in ExpressionBuilder.VisitStLoc when storing to a null pointer
4 years ago
Siegfried Pammer
d8bb40b45b
Generate file-scoped namespace declarations, if possible.
4 years ago
Daniel Grunwald
8c508d9bbb
#2445 : Fix `1f/6f` getting printed as `355f / (678f * (float)Math.PI)`
...
Also fix inconsistent float comparisons due to JIT optimizations.
4 years ago
Daniel Grunwald
7f985757a7
Fix #2541 : Add explicit `unchecked()` around non-constant cast of constant to `nint`
4 years ago
Siegfried Pammer
a655e35799
Fix ArgumentNullException in IntroduceUsingDeclarations: ignore unnamed variables for the purpose of conflict resolving.
4 years ago
Siegfried Pammer
210601fcfa
Fix #2495 : VB.NET decimal constants are not supported
4 years ago
Siegfried Pammer
ea1cea96c4
Fix #2547 : decimal const not removed from static constructor.
4 years ago
Siegfried Pammer
4b6fd7aee6
Fix #2545 : LINQ expression has a question operator on the source collection
4 years ago
Siegfried Pammer
65f2c54166
Fix #2544 : do not transform to interpolated string, if the format string is not syntactically correct.
4 years ago
Siegfried Pammer
30f9a82fbe
Add Roslyn 3.11.0 as separate test configuration. Update RoslynLatest to 4.0.0. Use LanguageVersion.CSharp9_0 instead of Preview. Add LanguageVersion.CSharp10_0.
4 years ago
Siegfried Pammer
ee3aabdc51
Fix #2534 : Handle default implementations of properties and events in interfaces.
4 years ago
Siegfried Pammer
e1ca4db851
Fix #2527 : Support skip locals init
4 years ago
Christoph Wille
c68bf60b1b
Wrap DoDecompileEvent(IMethod...)
4 years ago
Christoph Wille
6e5c474dfc
Instrument more DoDecompile methods
4 years ago
Christoph Wille
1b3a73d9e9
Add ETW for event + property decompilation as PoC
4 years ago
Siegfried Pammer
6f032e267e
Fix #2515 : Auto events are not decompiled correctly, if left untouched.
4 years ago
Siegfried Pammer
665c731cfc
Move PatternMatchingTransform after LoopDetection.
4 years ago
SilverFox
1367e7ba95
Add support for `in parameters` in primary ctor of records
4 years ago
SilverFox
11b44e53b7
Add support for attributes of field/property in primary ctor of records
4 years ago
SilverFox
58bed656cd
Fix records support for Roslyn 4.0.0-3.final
4 years ago
Siegfried Pammer
1568aeca3e
Fix #2506 : NamedArgumentTransform loses information, if the original variable is of StackType.Ref
4 years ago
Daniel Grunwald
9a053d5e6c
nullable enable for CSharpOperators.cs
4 years ago
Siegfried Pammer
19d5ea4095
Fix #2505 : Do treat whole resource name as file name without directory at the start of GetFileNameForResource.
4 years ago
Siegfried Pammer
07199e2ecf
Fix #2038 : Add proper support for Long paths on Windows 10 and limit path segments to 255 characters (with long path support) or 30 characters. If a PathTooLongException is thrown display a better error message on project export.
4 years ago
Siegfried Pammer
dbbcbb87fe
Make pattern matching transform a simple ILTransform for both reference and value types. Check that the true branch dominates all uses of the pattern variable.
4 years ago
Siegfried Pammer
ed82bff896
Fix #2497 : NRE in covariant returns check on set-only property
4 years ago
Siegfried Pammer
73c898664f
Fix #2484 : Private modifier incorrectly applied to interface static constructors
4 years ago
SilverFox
89eebc387a
Fix #2475 : Fix support for records with custom copy ctor
4 years ago
SilverFox
d0d70a6496
Fix #2475 : Add support for sealed records and records with interface
4 years ago
Siegfried Pammer
84704a7452
Adds support for C# 9 covariant return types in methods and getter-only properties and indexers.
4 years ago
Siegfried Pammer
84101f804a
Fix #2444 : Ambiguous implicit conversions from null literals in decompiled code
4 years ago
Siegfried Pammer
83727ea4b0
Add support for value type patterns
4 years ago
Daniel Grunwald
c26d9ad6f1
Mark stack slot for aggressive removal in InfeasiblePathTransform
...
This helps with pattern matching in short circuiting operators.
4 years ago
Siegfried Pammer
c641072685
Translate MatchInstruction to BinaryOperatorExpression with BinaryOperatorType.IsPattern.
4 years ago
Daniel Grunwald
040ab41c69
Initial implementation of the pattern matching transform.
4 years ago
Siegfried Pammer
ec1b9a4ccd
Fix #2443 : do not use this()-ctor initializers by accident if base type is unknown.
4 years ago
Siegfried Pammer
8eafbb3d90
Fix #2092 : aggressively inline code in compiler-generated lambdas and expression trees.
4 years ago
Siegfried Pammer
bc5d078feb
Fix #1698 : Readonly auto properties from VB.NET are not properly decompiled
4 years ago
Daniel Grunwald
ffed8ea2c8
#nullable enable for AstNode
4 years ago
Daniel Grunwald
5fb2f7a22f
#nullable enable for ILAst (except for generated code)
4 years ago
Daniel Grunwald
2419c2641a
StatementBuilder.TransformToForeach: allow both `break;` and `return;` within the using body
4 years ago
Siegfried Pammer
1f0f6404e0
Fix #2231 : Add support for ldloca; dup; initobj pattern used by Roslyn.
4 years ago
Daniel Grunwald
685a79dc31
DetectExitPoints: introduce exit points for loops+switch
...
This allows reverting the changes to HighLevelLoopTransform+ReduceNestingTransform from the previous commit, which fixes a bug in loop detection (the previous commit did not handle loops where the loop BlockContainer didn't have a Block as parent).
4 years ago