dymanoid
a952cda502
Create dedicated namespace for project decompiler
5 years ago
dymanoid
48be6267f3
Replace tuples with value tuples
5 years ago
Siegfried Pammer
a49577ce2d
Fix #2020 : Mark Modifier Letter (Lm category) characters as printable
5 years ago
Siegfried Pammer
30c8a22ded
Fix #1765 : Add another pattern of FSM initialization to ReadCodeMappingInfo
5 years ago
Siegfried Pammer
d27c0226b4
Fix #2010 : NullReferenceException in SequencePointBuilder.VisitCatchClause()
5 years ago
Siegfried Pammer
4f7ca65408
Fix #1913 : Make sure to declare local variables captured by local functions before the first invocation of the local function.
5 years ago
Siegfried Pammer
0df7e1e4a5
Fix #1999 : Compiler generated variables with weird names; by supporting a newer naming-convention used by mcs for anonymous delegates: See c2795c9cb5/mcs/mcs/delegate.cs (L808)
5 years ago
Siegfried Pammer
2f51f31257
PDBGen: avoid assertion failure, if there are instructions that are not supported in C# (e.g. calli)
5 years ago
Siegfried Pammer
794be9a5b4
Fix SequencePointBuilder.VisitCatchClause: do not create a sequence point from the catch-token to the closing brace.
5 years ago
Siegfried Pammer
6382f8c41d
Fix #1990 : Empty default ctor with XML comment discarded from decompilation
5 years ago
Daniel Grunwald
b7754cdf5c
Workaround dotnet/roslyn#43659 in decompiled code.
5 years ago
Daniel Grunwald
cd04e80f5e
Use IsKnownType() when checking for System.Object
5 years ago
Siegfried Pammer
60e9c204cc
Fix #1940 : Make sure that we use the correct .NET Core version, when there are multiple frameworks loaded in the current assembly list.
5 years ago
Daniel Grunwald
0dd75d6852
Add support for slicing using C# 8 ranges.
5 years ago
Daniel Grunwald
aed358b5a0
Use more precise ResolveResult, so that Range/Index operators are hyperlinked.
5 years ago
Daniel Grunwald
12226c5f90
Add support for indexing a container with a System.Index instance.
5 years ago
Daniel Grunwald
748c54a1c1
Support array slicing.
5 years ago
Daniel Grunwald
dc6e094a30
Add support for indexing arrays using System.Index
5 years ago
Daniel Grunwald
4846feb640
Add support for C# 8 range syntax.
...
This initial commit only handles the trivial case where an Index or Range object is constructed.
The TODO portions of the test case show there are plenty of cases where where the C# compiler emits more complex code patterns that will require ILAst transforms.
5 years ago
Siegfried Pammer
24810cb2e8
use ILInstruction.StartILOffset instead of ILRanges.First().Start
...
Co-Authored-By: Daniel Grunwald <daniel@danielgrunwald.de>
5 years ago
Siegfried Pammer
8925b4ff7b
Inline variable declarations/modernize parts of our code base.
5 years ago
Siegfried Pammer
d09190533a
Fix #1980 : IndexOutOfRangeException when choose `IL with C#` with System.Runtime.CompilerServices.Unsafe.Copy/InitBlock
5 years ago
Siegfried Pammer
4db41f69db
Fix #1919 : Use unmapped IL offsets at the start of a catch-block for the 'exception specifier' sequence point.
5 years ago
Siegfried Pammer
ba5c645257
Add TryCatchHandler annotation to CatchClause
5 years ago
Siegfried Pammer
e029266d40
Fix tokens used for catch-when clause.
5 years ago
Jackson Davis
6ab1f98fa3
Expand the range of sequence points out the closest empty ilstack
...
or implicit sequence point without creating overlapping sequence points.
If such a location cannot be found do, nothing. Fill in the
gaps with hidden sequence points.
Also emit a sequence point for
the prolog to account for seqeunce point there emitted by the C#
compiler. Without this, the debugger can stop there on a step in
using the original pdb, then decompile resulting in a no-code at this
location failure.
5 years ago
Daniel Grunwald
ff40fbd984
Fix #1958 : Emit ProjectTypeGuids when generating .csproj
...
For portable class libraries, the type GUID is required so that Visual Studio for Mac can open the project.
5 years ago
Daniel Grunwald
fb5ab19bfd
SolutionCreator: Store project type GUID in .sln
5 years ago
Daniel Grunwald
0cf50aa827
Fix #1959 : Resolve the "F(G<A,B>(7));" grammar ambiguity by inserting parentheses when necessary.
5 years ago
Siegfried Pammer
e748e71b56
Implement workaround for #1961
5 years ago
Siegfried Pammer
7c7328df32
Fix #1955 : struct 'base' access to ValueType mis-decompiles
5 years ago
Siegfried Pammer
7d1d7b2563
Fix EndLocation of double-typed PrimitiveExpression
5 years ago
Siegfried Pammer
c2a2cf43f2
Fix #1482 : SequencePointBuilder fails with an assertion when trying to create sequence points for LINQ expressions
5 years ago
Siegfried Pammer
95beaddc80
IntroduceQueryExpressions: Inline variable declarations and use pattern matching syntax where possible.
5 years ago
Siegfried Pammer
69cad7527e
Fix #1945 , fix #1851 : NRE when generating sequence points for a method containing a stackalloc expression.
5 years ago
Siegfried Pammer
3f108cea37
#1482 : Fix sequence points of LINQ select and where.
5 years ago
Daniel Grunwald
3bf9f7c301
Fix #1943 : "ref readonly" returns from properties/indexers
5 years ago
Siegfried Pammer
70b087bf8d
#1942 : WholeProjectDecompiler: Do not use filenames that collide with names of special devices. Note: this changes the PDB structure from multi-level folders per namespace to "dotted name" folders.
5 years ago
Siegfried Pammer
df84ab8f6b
Fix #1882 : Provide a setting to desugar X? into Nullable<X> for value types
5 years ago
Siegfried Pammer
67b7ad362a
Started documenting SequencePointBuilder
5 years ago
Siegfried Pammer
e4fda5c2e4
Rename HasILRange to ILRangeIsEmpty to properly reflect its implementation.
5 years ago
Siegfried Pammer
5d622056a1
Add TranslatedStatement: require that C# statements must be annotated with their corresponding ILInstructions.
5 years ago
Siegfried Pammer
e2b10adc72
Fix #1927 : NRE in ExpressionBuilder when trying to decompile catch-when blocks consisting of multiple statements.
5 years ago
Daniel Grunwald
9e82b95373
Fix hexadecimal format of flags enum member initializers.
5 years ago
Daniel Grunwald
ad5ba9295e
Fix #1924 : preserve hexadecimal format when converting literal to wider type
5 years ago
Daniel Grunwald
a7446cfddf
#1922 : Refactor PrimitiveExpression to store the literal format in the AST
5 years ago
Daniel Grunwald
8d780cc921
#1922 : Fix hexadecimal integer literals missing the `uL` suffix.
5 years ago
Siegfried Pammer
e0ee8bf286
Revert "Fix #1908 : Add option to AddXmlDocumentationTransform to remove newlines in comments"
...
This reverts commit 1043924366
.
5 years ago
Siegfried Pammer
d051e3aca4
Fix #1923 : Add progress reporting to PowerShell GetDecompiledProjectCmdlet
5 years ago
Siegfried Pammer
b953d6e8d0
Fix potential NRE in StatementBuilder.TryCatch
5 years ago