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
.
6 years ago
Siegfried Pammer
d051e3aca4
Fix #1923 : Add progress reporting to PowerShell GetDecompiledProjectCmdlet
6 years ago
Siegfried Pammer
b953d6e8d0
Fix potential NRE in StatementBuilder.TryCatch
6 years ago
Siegfried Pammer
92e1d6fe85
Fix #1907 : Discard parameter names containing non-printable or white space characters from set of possible names considered by AssignVariableNames.
6 years ago
Siegfried Pammer
1043924366
Fix #1908 : Add option to AddXmlDocumentationTransform to remove newlines in comments
6 years ago
Siegfried Pammer
6973dec0ef
Fix #1906 : RRs for default expressions of primitive types should use the correct constant value.
...
VB's `New Long()` is emitted as `initobj` whereas C#'s `default(long)` is emitted as `ldc.i4.0; conv.i8`.
6 years ago
Siegfried Pammer
5be6be97df
Code review:
...
* rename a few identifiers,
* add comments,
* skip all compiler-generated type-arguments in resolve result,
* and change implementation of LocalFunctionMethod.Specialize: wrap specialized method and not the other way round.
6 years ago
Siegfried Pammer
9e89384916
Make NumberOfCompilerGeneratedGenerics immutable and rename to NumberOfCompilerGeneratedTypeParameters
6 years ago
Siegfried Pammer
aef5fc1bce
Fix #1785 : Only use System.MathF, if it is available in the used framework.
6 years ago
Daniel Grunwald
b9675f58b3
Fix #1865 : At least one of the first two operands in string concatenation needs to be of type `string`, so we can't always drop `ToString()` calls.
6 years ago
Siegfried Pammer
e189ad9ca3
Fix #1863 : Invalid decompilation: accessibility level for CompilerGenerated method
6 years ago
Daniel Grunwald
eb2a9e6b94
#1852 : Rename array.to.pointer opcode to get.pinnable.reference.
6 years ago
Siegfried Pammer
407c337168
Add ForStatement, DoWhileStatement and SeparateLocalVariableDeclarations settings.
6 years ago
Daniel Grunwald
703d21bafa
Support C# 7.3 pattern-based fixed statement.
6 years ago
Siegfried Pammer
b836f0b859
Fix #1837 : auto events with tuples are not recognized.
6 years ago
SilverFox
4575ef65d3
Display System.Void as struct
6 years ago
Siegfried Pammer
d3d5d9e15d
Fix #1807 : Add MemberResolveResult to ldlen if System.Array.Length/LongLength is available
6 years ago
Daniel Grunwald
be28469ea3
Add back replacing `a & b` with `a && b` for booleans.
...
Now as part of ExpressionBuilder, not as a transform, because doing this too early interferes with `a &= b` compound assignments.
6 years ago
Siegfried Pammer
e146f8a492
Fix #1829 : Fix decompilation of optional `in` parameters.
6 years ago
Siegfried Pammer
8706fe284a
Fix #1818 : Assembly-level TypeForwardedTo not displaying unresolved generics properly
6 years ago
SilverFox
5e6fecebf5
Rework support for generic local function, and fix tests `LocalFunctions.Generic.Test_CaptureT` and `LocalFunctions.Generic.TestGenericArgs`
6 years ago
SilverFox
6409fe945c
Add support for static local function
6 years ago