Siegfried Pammer
cd787c5549
Fix DecompilerSettings.PatternMatching should only be active in case >= CS70.
4 years ago
Siegfried Pammer
2b26e5013b
Add Roslyn 2.x pattern for value type pattern matching.
4 years ago
Siegfried Pammer
cd0c76d7b1
Support leave instructions in RemoveInfeasiblePathTransform and transform match(x) ? true : false to match(x).
4 years ago
Siegfried Pammer
5fa8201533
Added support for isinst-unbox.any pattern with generic reference types and simplified value types pattern detection.
4 years ago
Siegfried Pammer
83727ea4b0
Add support for value type patterns
4 years ago
Siegfried Pammer
357d55d2ad
Add support for old roslyn pattern matching pattern.
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
Christoph Wille
9b6d8f4d68
Merge pull request #2447 from icsharpcode/christophwille/vs2022addin
Modifications for VS2022
4 years ago
Christoph Wille
d1678d1547
Modifications for testing for VS2022
4 years ago
Siegfried Pammer
6d4a888999
Update Roslyn to 3.11.0-1.final.
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
164c8880af
#2092 : Make TransformExpressionTrees.MatchGetTypeFromHandle and TransformExpressionTrees.MatchGetContructorFromHandle use IType.FullName instead of actual IType instances, so we can better handle assemblies processed by tools like ILMerge, where there might be used multiple versions of mscorlib in one assembly.
4 years ago
Siegfried Pammer
353ce88266
Fix NRE in ExtractPackageEntryContextMenuEntry
4 years ago
Siegfried Pammer
bc5d078feb
Fix #1698 : Readonly auto properties from VB.NET are not properly decompiled
4 years ago
Siegfried Pammer
aa1906b8f5
Merge pull request #2427 from icsharpcode/net50-buildtools
Net50 buildtools
4 years ago
Siegfried Pammer
15395df457
Remove mention of .NET Core 2.1 SDK for Mac/Unix
4 years ago
Siegfried Pammer
39404d9ea1
Fix unit tests.
4 years ago
Siegfried Pammer
35ad7f3074
Update build tools used by ILSpy to use .NET 5.0 instead of .NET Core 3.1
4 years ago
Siegfried Pammer
7af9d36354
Fix ILSpy.BamlDecompiler.Tests.csproj
4 years ago
Daniel Grunwald
197b26eb69
Merge pull request #2426 from icsharpcode/issue2410
Fix #2410 : Add "Extract package entry" context menu entry for binarie…
4 years ago
Siegfried Pammer
eec79d5a5d
Fix #2410 : Add "Extract package entry" context menu entry for binaries inside bundles/packages.
4 years ago
Daniel Grunwald
544d9bb217
Merge branch 'nullable'
4 years ago
Daniel Grunwald
ffed8ea2c8
#nullable enable for AstNode
4 years ago
Daniel Grunwald
245261a1e5
#nullable enable for Instructions.tt
4 years ago
Daniel Grunwald
bd29ed5981
Revert CSharpPrimitiveCast.cs: its used in Conversions.cs test case and thus must be compatible with old C# compiler versions
4 years ago
Daniel Grunwald
0414e7f8e9
Fix potential NRE in ILFunction.RegisterVariable()
4 years ago
Siegfried Pammer
c22977e1be
Fix #2390 : Extend variable splitting to treat stobj as immediate address use.
4 years ago
Daniel Grunwald
5fb2f7a22f
#nullable enable for ILAst (except for generated code)
4 years ago
Daniel Grunwald
b9eee606af
#nullable enable for most files in ICSharpCode.Decompiler/Util
4 years ago
Daniel Grunwald
4045d7e338
Merge PR #2425 : Keep return statements around in original form for ConditionDetection
4 years ago
Daniel Grunwald
109b6d073a
Allow detecting exit points across multiple levels of containers.
4 years ago
Daniel Grunwald
2419c2641a
StatementBuilder.TransformToForeach: allow both `break;` and `return;` within the using body
4 years ago
Daniel Grunwald
a716828065
Remove redundant code from RemoveRedundantReturn.cs
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
Daniel Grunwald
bbaddf84cc
Fix #2424 : Suppress the string==null special-case within the string class itself.
4 years ago
Siegfried Pammer
62fc4bc1a3
Fix #1858 , Fix #2188 : Remove variables that contain copies of display-class variables.
4 years ago
Siegfried Pammer
a78b592bf6
Fix #2052 : resolve XML namespaces of properties
4 years ago
Daniel Grunwald
6757295b3b
Fix #2379 : Keep `return` statements around in original form for ConditionDetection, only transform to fall-through block-exit at the end of the transform pipeline.
This fixes an issue where `return` statements within try-blocks could turn into `goto` statements.
4 years ago
Siegfried Pammer
3c6961a944
Set version to final 7.1.
4 years ago
Marcel Wiessler
6a34df5cd0
fix string <> int convertion error
4 years ago
Siegfried Pammer
2048273881
Merge pull request #2386 from DarkOoze/master
Fix invalid il from identifiers containing repeating dots
4 years ago
Anders Hörnfeldt
9747a2b359
Escape identifiers containing repeating dots
4 years ago
Anders Hörnfeldt
b45c0099ef
Refactor for readability
4 years ago
Siegfried Pammer
584d1847df
Fix #2405 : Assertion fail in TDCU
4 years ago
Siegfried Pammer
e886e390fa
Merge pull request #2423 from icsharpcode/christophwille/wappler
Add <SkipImportNetSdk>
4 years ago
Christoph Wille
f9dea6baa5
Add <SkipImportNetSdk>True</SkipImportNetSdk> as per https://developercommunity2.visualstudio.com/t/Desktop-Bridge-wapproj-wont-deploy-with/1400477
4 years ago