Siegfried Pammer
400481418c
Disable CS8981 in ICSharpCode.Decompiler.Tests: The type name '<identifier>' only contains lower-cased ascii characters. Such names may become reserved for the language. If our test-cases break when Roslyn is introducing new keywords, that's no problem.
1 year ago
Daniel Grunwald
38e7ab4373
Fix #3110 : Add support for MCS 2.6.4 pinned region with array variable
...
* Added additional code to remove the conv instruction present in the initialization part of the pinned region.
* Extended the code responsible for removing the unpin stloc to correctly match the inverted condition found in MCS 2.6.4 compiled code.
* Enabled already present correctness test to run for MCS 2.6.4.
This is a more generalized version of the fix on PR #3110 proposed by @ElektroKill .
1 year ago
Siegfried Pammer
963ff7cb3d
Fix #3151 : Make IProjectFileWriter API public
1 year ago
Christoph Wille
3564ab1030
Fix Wpf slnf (missing BamlDecompiler project), update NuGet packages for Installer (WiX), update NuGet packages ILSpy
1 year ago
Christoph Wille
fba0dbae8d
Migrate to NUnit 4 ( #3132 )
...
* Migrate to NUnit 4 based on https://docs.nunit.org/articles/nunit/release-notes/Nunit4.0-MigrationGuide.html . Needed fix for https://github.com/nunit/nunit/issues/4564
* Test 4.1.0-adev.1 from NUnit MyGet feed (works locally in VS)
* Update to bugfix version adev.2 (works on GH)
* NUnit 4.0.1 final
2 years ago
Christoph Wille
084d02a447
Apply Central package management (requires package source mapping) ( #3124 )
...
* Apply Central package management https://learn.microsoft.com/en-us/nuget/consume-packages/central-package-management (requires package source mapping https://learn.microsoft.com/en-us/nuget/consume-packages/package-source-mapping )
* Microsoft.DiaSymReader.Converter.Xml from dotnet-tools, Microsoft.DiaSymReader.Native from nuget.org feed
* Trying to sort what is on which feed for previews of Diasymreader packages
* Parse the Roslyn version from Directory.packages.props
* Use specific versions for Diasymreader from nuget.org to allow VS2022 addin to restore properly
* Tests needs also locked references
2 years ago
Christoph Wille
a49bd2de5b
Remove EnableUnsafeBinaryFormatterSerialization for ics.d.Tests ( #3126 )
2 years ago
Siegfried Pammer
a94d66561a
Move to .NET 8.0 ( #3119 )
...
* Basics of net8.0. Breaking unit tests expected.
* Missed that TestRunner project was already upgraded to net7.0 (search and replace fail)
* Use Preview 6 locally
* Use .NET 8.0 RTM
* Final fixups
---------
Co-authored-by: Christoph Wille <christoph.wille@gmail.com>
2 years ago
Siegfried Pammer
95108c967a
Fix #3108 : illegal nested classes in enums throw off EnumValueDisplayMode handling.
2 years ago
Siegfried Pammer
eae54ddf24
Fix #3014 : Missing type information in lambda expressions.
2 years ago
Daniel Grunwald
a99eed0503
Add test case for explicit interface implementation involving nullable types
2 years ago
Siegfried Pammer
09691bd27e
#3075 : Add NextSetBit operation to BitSet to avoid looking at every store bit individually in ReachingDefinitionsVisitor.GetStores()
2 years ago
Siegfried Pammer
9e168224dd
Fix #3091 : extension methods named "Add" were skipping some checks in AccessPathElement.IsMethodApplicable.
2 years ago
Siegfried Pammer
70616b301c
Implement support for C# 11 switch on (ReadOnly)Span<char>.
2 years ago
Daniel Grunwald
03bceed0c1
Fix #2397 : Introduced calls to Unsafe.Read or Unsafe.Write when we would otherwise cause "Cannot declare a pointer to a managed type T" errors.
2 years ago
Siegfried Pammer
591ab6b75d
Implement support for explicit interface implementation of operators and operator uses.
2 years ago
Siegfried Pammer
6172d63ff3
Support virtual modifier on static abstract interface members.
2 years ago
Siegfried Pammer
97b6a2fe67
Add test case for empty string pattern
2 years ago
Siegfried Pammer
bf96482d56
Support decimal constants in pattern matching
2 years ago
Siegfried Pammer
8e63d92886
Add null and not null patterns for nullable value types
2 years ago
Siegfried Pammer
800067e488
Pattern Matching: Ensure that we always return a non-null instruction after successfully matching a pattern.
2 years ago
Siegfried Pammer
cb62cac9d3
Add support for nullable int const patterns
2 years ago
Siegfried Pammer
a93731ad3a
Add support for nullable structs
2 years ago
Siegfried Pammer
1cb4e77f06
Refactor sub pattern detection into loop to allow continuations of outer patterns.
2 years ago
Siegfried Pammer
8cb3a67c0c
Support recursive pattern for value types
2 years ago
Siegfried Pammer
e475af7822
Support null check without type check in sub patterns.
2 years ago
Siegfried Pammer
51a8eb28f1
Add support for var sub patterns.
2 years ago
Siegfried Pammer
4e62fea07a
Fix pattern matching with fields and value types.
2 years ago
Siegfried Pammer
3218a06396
Add support for string constant patterns.
2 years ago
Siegfried Pammer
65b4c928c0
Add support for simple constant patterns.
2 years ago
Siegfried Pammer
f7343c75d0
Add support for simple recursive patterns where the sub pattern is a simple type pattern.
2 years ago
Siegfried Pammer
3d8cda5f88
Fix #2613 : Detect pattern matching on variables of generic type with value types.
2 years ago
Daniel Grunwald
cda7ddff48
Fix test case to actually check the ToString() results.
2 years ago
Daniel Grunwald
99d5e94a62
Allow inlining value type temporaries into constrained call.
2 years ago
Kirill Osenkov
5f2b8e6098
Add a disabled test for sequence points in all members
2 years ago
Siegfried Pammer
d57b08c79d
Fix #3010 : Remove compiler-generated attributes for required members with custom ctors.
2 years ago
ElektroKill
4601481dec
Add ILPretty test for MCS 2.6.4 fixed string
2 years ago
Siegfried Pammer
e83af524f7
Add test cases.
2 years ago
Siegfried Pammer
c6400ca073
Move FileUtilityTests to correct namespace.
2 years ago
dependabot[bot]
002c8c53f7
Bump NuGet.Protocol from 6.2.2 to 6.2.4 in /ICSharpCode.Decompiler.Tests
...
Bumps [NuGet.Protocol](https://github.com/NuGet/NuGet.Client ) from 6.2.2 to 6.2.4.
- [Release notes](https://github.com/NuGet/NuGet.Client/releases )
- [Commits](https://github.com/NuGet/NuGet.Client/commits )
---
updated-dependencies:
- dependency-name: NuGet.Protocol
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Siegfried Pammer
13227e433e
Fix compound assignments with local variables.
2 years ago
Daniel Grunwald
b80d20b15d
Add support for calling `operator checked`.
2 years ago
Daniel Grunwald
32fafeb9a1
Add support for user-defined checked operators.
2 years ago
Daniel Grunwald
a2019c5d78
Avoid using `>>>` operator when the context expects a cast to unsigned anyway.
2 years ago
Daniel Grunwald
8b9ba20847
Builtin unsigned right shift operator.
2 years ago
Daniel Grunwald
3c46271a11
Add support for unsigned right shift.
...
Only for user-defined operators so far; builtin right shifts still cast to the appropriate type.
2 years ago
Daniel Grunwald
eab2534563
Add test case for user defined operators
2 years ago
Daniel Grunwald
768cb02f0b
Fix #2964 : Better error message when a method only contains a single ret instruction.
2 years ago
Daniel Grunwald
94d2ce0fcf
Fix crash when control flow reaches end of method.
2 years ago
Daniel Grunwald
b93e65cdad
Fix #901 : Refactor ILReader: only read reachable code + support reimports
...
This makes our logic more similar to that used by the dotnet runtime. This lets us infer correct stack types in edge cases such as #2401 . It also improves support for obfuscated control flow such as #2878 .
2 years ago