Daniel Grunwald
5a8cfc25ba
Add some tests for native integers.
...
The conversion roundtrip tests are disabled due to https://github.com/dotnet/roslyn/issues/45929
5 years ago
Daniel Grunwald
156b1d0e75
Fix void*->IntPtr conversion in checked context. Also fix a stack overflow for certain forms of conversions involving `nint`.
5 years ago
Daniel Grunwald
2c9b84a1e1
If possible, use nint/nuint for conversions to/from IntPtr.
5 years ago
Daniel Grunwald
c9e41d0582
Add support for decoding `NativeIntegerAttribute`.
5 years ago
Daniel Grunwald
450fae49e3
Introduce nint/nuint types and their conversions in the type system
5 years ago
Daniel Grunwald
12094a8376
Support extraction out of control-flow IfInstruction even if it isn't using a Block as TrueInst/FalseInst.
5 years ago
Daniel Grunwald
417a2c3391
Revert the InvertIf change; it causes too many issues for the following transforms.
5 years ago
Daniel Grunwald
e083d43fb9
Fix ReduceNestingTransform
5 years ago
Daniel Grunwald
016d9f8f4d
Fix #1903 : un-inline argument of unsupported `isinst` instructions.
5 years ago
Daniel Grunwald
696fdca923
Always create a block when inverting an if.
...
This keeps the ILAst more uniform and ensures extraction is possible for the code in the then statement.
5 years ago
Daniel Grunwald
b18ed89b67
#2050 : Add assertion to check that no transform uses StObj.TargetSlot incorrectly.
5 years ago
Daniel Grunwald
ef3a9672a5
Merge remote-tracking branch 'origin/fix-2050'
5 years ago
Daniel Grunwald
5b3b5e7454
Merge remote-tracking branch 'origin/srm181'
5 years ago
Daniel Grunwald
81d9eda332
I just discovered that we do have un-inlining implemented... let's mention it where it's more likely to be found in the future.
5 years ago
Daniel Grunwald
ef47a8bdf6
#2058 : Avoid NullReferenceException when DecompileRun is not provided.
5 years ago
Daniel Grunwald
b9866f6048
Simplify our issue templates a bit.
5 years ago
Christoph Wille
004ea1bfc3
Frontends for v6 final
5 years ago
Siegfried Pammer
79f2c19a10
Fix bugs ExportedTypeTableTreeNode
5 years ago
Christoph Wille
b70ea6f93e
Merge pull request #2055 from icsharpcode/v6-rtm
...
v6 RTM RevisionClass
5 years ago
Christoph Wille
c3f61327cd
v6 RTM RevisionClass
5 years ago
Daniel Grunwald
62fcab8d99
#2050 : Allow inlining into the StObj target slot when this is possible without changing the program semantics.
5 years ago
Siegfried Pammer
74101ff0dc
Fix #2053 : Assert and NRE in LocalFunctionDecompiler
5 years ago
Daniel Grunwald
6d70978b26
Update bug report URL to use issue templates
5 years ago
Christoph Wille
184a7b1a49
Frontends for RC1
5 years ago
Daniel Grunwald
d8e837ef47
Fix #1772 : Support EnumeratorCancellationAttribute
...
With this change, the async decompiler no longer gets confused by the logic disposing `this.<>x__combinedTokens`.
5 years ago
Daniel Grunwald
c0b1119fab
Use C# 8.0 to build ILSpy.
5 years ago
Daniel Grunwald
345b65511c
Update to Roslyn 3.7.0-2.final for tests.
5 years ago
Siegfried Pammer
761c3fef14
Adapt TransformExpressionTrees to ILAst changes.
5 years ago
Siegfried Pammer
68e4d7dfa6
Adapt TransformArrayInitializers to ILAst changes.
5 years ago
Daniel Grunwald
925a4e1e65
#2050 : Don't put ldflda/ldelema with immediate exceptions into StObj.TargetSlot.
...
The C# translation of StObj will always apply delayed exceptions in these two cases, so putting an instruction with delayed exceptions in that slot would change program semantics.
5 years ago
Daniel Grunwald
94a8190861
#2049 : Delete old NRefactory node types that were never supported for output.
5 years ago
Daniel Grunwald
f2f73d349e
Add issue templates.
5 years ago
Daniel Grunwald
1f8a67a7db
Merge pull request #2045 from icsharpcode/unsafe
...
Improved decompilation of unsafe code
5 years ago
Siegfried Pammer
6582c545a8
Fix build.
5 years ago
Siegfried Pammer
eeba91fba5
Use nameof in RaisePropertyChanged calls.
5 years ago
Siegfried Pammer
789b4e35e5
Reduce number of possible hiccups during MEF initialization by reducing the number of Task.GetAwaiter().GetResult() calls.
5 years ago
Daniel Grunwald
a0b144d332
Use `Unsafe.AsPointer()` for `ConversionKind.StopGCTracking`.
5 years ago
Daniel Grunwald
35c405b973
Translate the initializer of a `fixed` statement as managed reference and only apply the ref-to-pointer conversion at the end.
...
This way we create compilable code when the pinned variable type does not match the initializer type.
5 years ago
Daniel Grunwald
a9d643b208
Emit a call to `ref Unsafe.As<TFrom, TTo>(ref TFrom)` when the IL code contains a mismatch of managed reference types.
...
The previously emitted `ref *(TTo*)(&source)` only compiles when `source` is a local variable; otherwise C# complains about the memory not being pinned.
Note that we special-case local variables to keep the previous behavior around; this avoids pulling in `System.Runtime.CompilerServices.Unsafe.dll` when it's unnecessary.
5 years ago
Siegfried Pammer
428cc1bc52
Set VersionName = "rc1"
5 years ago
Siegfried Pammer
c0ce62e2d1
Merge pull request #2043 from edkazcarlson/master
...
Added UnwindInfo as an optional printout
5 years ago
Siegfried Pammer
79b24e26fa
Clean up XAML of ReadyToRunOptionPage and use Margin="3" everywhere.
5 years ago
Edward Kazuya Carlson
9af5a34991
Update ILSpy.ReadyToRun/ReadyToRunLanguage.cs
...
Co-authored-by: Andrew Au <cshung@gmail.com>
5 years ago
plupiman
1afac33a00
fixing debugInfo
5 years ago
plupiman
06519b5cb0
fixing double dictionary entry bug
5 years ago
Daniel Grunwald
2c0554f129
Fix #1963 : Support decompiling `calli` instructions into C# 9 function pointer syntax.
5 years ago
Daniel Grunwald
1f2d1660c8
#2023 : If blocks are reachable both from within the pinned region and from outside it, clone those blocks.
...
This removes an error condition where pinned variables could remain after DetectPinnedRegions, resulting in invalid C#.
The downside is that it's possible for the code size to increase exponentially when given sufficiently evil IL code.
5 years ago
Daniel Grunwald
15f638af9a
Fix decompilation of switch where default section is a leave instruction.
5 years ago
Daniel Grunwald
a6e23d1f98
Fix "case null" handling in switch(string) with current Roslyn version (3.7.0-2.final).
5 years ago
Daniel Grunwald
30da0b7525
Add some missing checks to MatchRoslynSwitchOnString
5 years ago