Peter Crabtree
1d082e7128
dev: Standardize on utf-8 (no bom) in .editorconfig
10 months ago
Siegfried Pammer
9a1ebfe3f0
Merge pull request #3544 from petercrabtree/dev/dev-env-clean
...
Minor Dev Environment Fixes (.editorconfig cleanup, typo fix, .gitignore tweak)
11 months ago
Peter Crabtree
471130a83a
dev: expand .vscode/ exclusion in .gitignore
...
Updates the .gitignore file to recursively exclude all .vscode/ directories instead of just the first level
11 months ago
Peter Crabtree
e7a64f3114
dev: Correct typo in ReportExcludedTypes (ilspycmd)
11 months ago
Peter Crabtree
31e83fd9bb
dev: Clean up .editorconfig
11 months ago
Siegfried Pammer
ff247168ec
Reduce code duplication in Metadata tables by introducing a LoadTable method.
11 months ago
Siegfried Pammer
26fdc39c56
Fix #3476 : Scroll position not restored when navigating back
11 months ago
Daniel Grunwald
bd9ee28552
Fix #1789 : missing hyperlink for `MethodGroupResolveResult`.
11 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.
11 months ago
Daniel Grunwald
02d9dc3e85
Fix #3323 : Simplify cleanup in AwaitInFinallyTransform, ensuring that we do not miss any containers.
11 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.
11 months ago
Daniel Grunwald
317b4e8add
Merge branch 'fix/3465'
11 months ago
Daniel Grunwald
ec58d57875
#3465 : Fix bugs in `comp.o` handling.
11 months ago
Daniel Grunwald
89083eaf48
Fix #3344 : Add support for the `ckfinite` opcode.
11 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.
11 months ago
Daniel Grunwald
8ad33f1e13
Fix #3479 : If YieldReturnDecompiler.ConvertBody fails, abort transforming the state machine instead of continuing with invalid code.
11 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.
11 months ago
Daniel Grunwald
32cb515f9a
Add VSCode launch config.
11 months ago
Daniel Grunwald
83298210e4
#3518 : Add tests that try unboxing to the wrong type in a number of different ways.
11 months ago
Daniel Grunwald
5fb2385671
Fix compiler warnings.
11 months ago
Siegfried Pammer
f4d746eba6
Merge pull request #3472 from ds5678/preincrement-attempt
...
Preincrement improvements
11 months ago
Siegfried Pammer
0c2b001a95
Merge pull request #3540 from miloush/AlwaysMoveInitializer
...
Always move initializer decompilation setting
11 months ago
Jan Kučera
9d11f523b1
Always move initializer decompilation setting
11 months ago
ds5678
f860777206
Add preprocessor directive
11 months ago
ds5678
15223daabd
WIP preincrement improvements
11 months ago
Siegfried Pammer
052466fce7
Add test case
11 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)
11 months ago
Siegfried Pammer
582e847951
Merge pull request #3538 from tom-englert/issue#3462
...
Update TomsToolbox to fix #3462
11 months ago
tom-englert
9176278aac
Update TomsToolbox to fix #3462
11 months ago
Christoph Wille
66c054a620
Fix up clean.bat as well to use dotnet
11 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
11 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>
11 months ago
Siegfried Pammer
0b61062c5b
Merge pull request #3535 from CreateAndInject/WordBreak
...
WordBreak
11 months ago
Siegfried Pammer
6400b32c2b
Merge pull request #3533 from MSchmoecker/fix-disabled-optional-arguments
...
Fix incorrect argument removal if OptionalArguments is false
11 months ago
Christoph Wille
99165b7ce2
Update Humanizer ( #3532 )
11 months ago
Daniel Grunwald
7f584900c2
Merge pull request #3534 from MSchmoecker/feat-expand-params-option
...
Add ExpandParamsArguments DecompilerSettings
11 months ago
CreateAndInject
7ad382a8bd
WordBreak
11 months ago
Maximilian Schmöcker
43bfaba7e0
Add ExpandParamsArguments DecompilerSettings
11 months ago
Maximilian Schmöcker
850ffe593d
Fix methods with mandatory arguments ignore disabled OptionalArguments setting
11 months ago
Siegfried Pammer
e3b1eb8a97
Merge pull request #3530 from icsharpcode/csharp14/extensions
...
C# 14 extension members: Add initial support
11 months ago
Siegfried Pammer
f8dcd95b31
Add support for extensions in CSharpDecompiler
11 months ago
Siegfried Pammer
9157122462
Add ExtensionDeclaration syntax node
11 months ago
Siegfried Pammer
3b0939d99c
Add ExtensionInfo: mapping of extension members to extension implementations and more.
11 months ago
Siegfried Pammer
29bd78a9c9
Add DecompilerSettings.ExtensionMembers and Language version 14
11 months ago
Siegfried Pammer
68ae8ae833
Rename ITypeDefinition.HasExtensionMethods to ITypeDefinition.HasExtensions
11 months ago
Siegfried Pammer
9b576532c7
Update dotnet-format to 10.0.100-preview.6.25358.103
11 months ago
Siegfried Pammer
685f21edb5
C# 14 extensions: Add initial test case
11 months ago
Siegfried Pammer
864ed63175
Merge pull request #3529 from lordmilko/master
...
Allow specifying an IDecompilerTypeSystem rather than a DecompilerTypeSystem to CSharpDecompiler
11 months ago
Siegfried Pammer
7ea2c8f32f
Remove dead code
11 months ago
Siegfried Pammer
c642678f7f
Remove ToTypeReference: Implement ParseReflectionName with SRM TypeName.
11 months ago