Peter Crabtree
e7a64f3114
dev: Correct typo in ReportExcludedTypes (ilspycmd)
4 months ago
Peter Crabtree
31e83fd9bb
dev: Clean up .editorconfig
4 months ago
Siegfried Pammer
ff247168ec
Reduce code duplication in Metadata tables by introducing a LoadTable method.
4 months ago
Siegfried Pammer
26fdc39c56
Fix #3476 : Scroll position not restored when navigating back
4 months ago
Daniel Grunwald
bd9ee28552
Fix #1789 : missing hyperlink for `MethodGroupResolveResult`.
4 months ago
Daniel Grunwald
587a359e8c
Fix #1873 : Clear ILRange in CopyPropagation
...
We are copying an expression from far away, reusing the ILRange would result in incorrect sequence points.
4 months ago
Daniel Grunwald
02d9dc3e85
Fix #3323 : Simplify cleanup in AwaitInFinallyTransform, ensuring that we do not miss any containers.
4 months ago
Daniel Grunwald
c84605a610
Fix #3468 : Try harder to avoid ref locals if `UseRefLocalsForAccurateOrderOfEvaluation` is not enabled.
...
CopyPropagation will replace `ref StructWithStringField reference = ref array[0];` with:
```
var x = array;
var y = 0;
```
and then every use of `reference` is replaced with `x[y]`.
This lets us avoid rough locals while preserving the semantics in every case except that we re-order when a NullReferenceException/IndexOutOfRangeException occurs.
4 months ago
Daniel Grunwald
317b4e8add
Merge branch 'fix/3465'
4 months ago
Daniel Grunwald
ec58d57875
#3465 : Fix bugs in `comp.o` handling.
4 months ago
Daniel Grunwald
89083eaf48
Fix #3344 : Add support for the `ckfinite` opcode.
4 months ago
Daniel Grunwald
f826037acc
Protect IsInst against multi-step inlining -- we can only allow `Box` as the top-level argument, not anywhere within the argument tree.
4 months ago
Daniel Grunwald
8ad33f1e13
Fix #3479 : If YieldReturnDecompiler.ConvertBody fails, abort transforming the state machine instead of continuing with invalid code.
4 months ago
Daniel Grunwald
dd4bf7d8a4
Fix #3518 by replacing `FixLoneIsInst` with an inlining restriction.
...
This way we avoid having to extract later, as we will never inline if the `isinst` argument if this could result in it being unrepresentable in C#.
This commit also refactors inlining restrictions to avoid requiring special cases in ILInlining itself.
But when making this change, I discovered that this broke our pattern-matching tests, and that the weird IL with double `isinst` is indeed generated by the C# compiler for `if (genericParam is StringComparison.Ordinal)` style code. So instead we also allow `isinst` with a `box(expr-without-side-effects)` argument to be represented with the `expr is T ? (T)expr : null` emulation.
4 months ago
Daniel Grunwald
32cb515f9a
Add VSCode launch config.
4 months ago
Daniel Grunwald
83298210e4
#3518 : Add tests that try unboxing to the wrong type in a number of different ways.
4 months ago
Daniel Grunwald
5fb2385671
Fix compiler warnings.
4 months ago
Siegfried Pammer
f4d746eba6
Merge pull request #3472 from ds5678/preincrement-attempt
...
Preincrement improvements
5 months ago
Siegfried Pammer
0c2b001a95
Merge pull request #3540 from miloush/AlwaysMoveInitializer
...
Always move initializer decompilation setting
5 months ago
Jan Kučera
9d11f523b1
Always move initializer decompilation setting
5 months ago
ds5678
f860777206
Add preprocessor directive
5 months ago
ds5678
15223daabd
WIP preincrement improvements
5 months ago
Siegfried Pammer
052466fce7
Add test case
5 months ago
Siegfried Pammer
6c00c138eb
Fix #3465 : Translate comp.o(a op b) if op not in (==, !=) into Unsafe.As<object, UIntPtr>(ref a) op Unsafe.As<object, UIntPtr>(ref b)
5 months ago
Siegfried Pammer
582e847951
Merge pull request #3538 from tom-englert/issue#3462
...
Update TomsToolbox to fix #3462
5 months ago
tom-englert
9176278aac
Update TomsToolbox to fix #3462
5 months ago
Christoph Wille
66c054a620
Fix up clean.bat as well to use dotnet
5 months ago
Christoph Wille
afcdcec146
Update for .NET 10 Preview 7 packages ( #3537 )
...
* Update NUnit (was: 4.3.2) to 4.4 and MTP (was: 1.7.3) to 1.8.1 (had to add VSTestBridge explicitly to override ref complaints by compiler)
* Update to .NET 10 Preview 7 NuGet packages
* Update dotnet-format
5 months ago
dependabot[bot]
9e0828f836
Bump actions/checkout from 4 to 5 ( #3536 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5 months ago
Siegfried Pammer
0b61062c5b
Merge pull request #3535 from CreateAndInject/WordBreak
...
WordBreak
5 months ago
Siegfried Pammer
6400b32c2b
Merge pull request #3533 from MSchmoecker/fix-disabled-optional-arguments
...
Fix incorrect argument removal if OptionalArguments is false
5 months ago
Christoph Wille
99165b7ce2
Update Humanizer ( #3532 )
5 months ago
Daniel Grunwald
7f584900c2
Merge pull request #3534 from MSchmoecker/feat-expand-params-option
...
Add ExpandParamsArguments DecompilerSettings
5 months ago
CreateAndInject
7ad382a8bd
WordBreak
5 months ago
Maximilian Schmöcker
43bfaba7e0
Add ExpandParamsArguments DecompilerSettings
5 months ago
Maximilian Schmöcker
850ffe593d
Fix methods with mandatory arguments ignore disabled OptionalArguments setting
5 months ago
Siegfried Pammer
e3b1eb8a97
Merge pull request #3530 from icsharpcode/csharp14/extensions
...
C# 14 extension members: Add initial support
5 months ago
Siegfried Pammer
f8dcd95b31
Add support for extensions in CSharpDecompiler
5 months ago
Siegfried Pammer
9157122462
Add ExtensionDeclaration syntax node
5 months ago
Siegfried Pammer
3b0939d99c
Add ExtensionInfo: mapping of extension members to extension implementations and more.
5 months ago
Siegfried Pammer
29bd78a9c9
Add DecompilerSettings.ExtensionMembers and Language version 14
5 months ago
Siegfried Pammer
68ae8ae833
Rename ITypeDefinition.HasExtensionMethods to ITypeDefinition.HasExtensions
5 months ago
Siegfried Pammer
9b576532c7
Update dotnet-format to 10.0.100-preview.6.25358.103
5 months ago
Siegfried Pammer
685f21edb5
C# 14 extensions: Add initial test case
5 months ago
Siegfried Pammer
864ed63175
Merge pull request #3529 from lordmilko/master
...
Allow specifying an IDecompilerTypeSystem rather than a DecompilerTypeSystem to CSharpDecompiler
5 months ago
Siegfried Pammer
7ea2c8f32f
Remove dead code
5 months ago
Siegfried Pammer
c642678f7f
Remove ToTypeReference: Implement ParseReflectionName with SRM TypeName.
5 months ago
Siegfried Pammer
33e497eb80
Refactor ParseReflectionName to return IType instead of ITypeReference
5 months ago
lordmilko
9498c8d3d9
Allow specifying an IDecompilerTypeSystem rather than a DecompilerTypeSystem to CSharpDecompiler
5 months ago
Siegfried Pammer
9dde97414a
Rename ResolvedUsingScope to UsingScope
5 months ago