Daniel Grunwald
ccdabf2325
Fix a bunch of XmlDoc compiler warnings.
7 years ago
Daniel Grunwald
b32cae412a
Eliminate BlockKind.PostfixOperator.
...
We can now represent all compound assignments using the CompoundAssignInstruction, including those on local variables.
Closes #1583 .
7 years ago
Daniel Grunwald
f2151972a0
Redesign CompoundAssignmentInstruction to support an 'Address' mode where we don't implicitly turn an LdObj into an StObj, but instead directly operate on an address.
...
This means we can get rid of the special case in TransformDisplayClassUsage, as compound.assign can now also be used with the address of a local variable.
7 years ago
Christoph Wille
268d0af4e0
Include documentation XML in NuGet package (similar to PR https://github.com/icsharpcode/ILSpy/pull/1432 but built for v5.0)
7 years ago
Siegfried Pammer
89a50e64fc
Extension method syntax on lambda expressions/delegates is not allowed.
7 years ago
Daniel Grunwald
dec9c83c4c
Fix #1570 : Handle ReflectionNameParseException when decoding invalid attribute arguments
7 years ago
Siegfried Pammer
7d95516e85
Fix #1518 : Missing Detach()-call in AST manipulation.
7 years ago
Siegfried Pammer
6338bd1b85
Partially revert CheckNoNamedOrOptionalArguments.
7 years ago
Siegfried Pammer
d50b8d66d1
Fix #1373 , fix #1541 : add support for instance calls to CallIndirect.
7 years ago
Daniel Grunwald
a6def4cdf5
Fix incorrect type for numeric.compound.assign when the pointer type is incompatible with the store type.
...
Closes #1511 , #1530 , #1533 .
7 years ago
Daniel Grunwald
ed5d71b365
Fix #1537 : KeyNotFoundException in ReduceNestingTransform.ReduceSwitchNesting()
7 years ago
Siegfried Pammer
ab892a603b
Disassembler: Refactor InstructionOutputExtensions.WriteTo: Reduce code duplication; Add support for unmanaged calling conventions
7 years ago
Siegfried Pammer
cd8dd7af9f
Disassembler: Fix output of calling convention and flags in standalone method signature
7 years ago
Daniel Grunwald
e6489d543e
Fix #1574 : When re-introducing an explicit cast for an implicit user-defined conversion; ensure we use a direct cast and don't go through the code path for builtin conversions.
7 years ago
Daniel Grunwald
d841d96406
Fix unnecessary casts when calling user-defined operators on nullable types.
7 years ago
Daniel Grunwald
3314f3f37a
Fix #1571 : Expression transforms not running for values of inline assignments.
7 years ago
Siegfried Pammer
15488acdc7
Fix #1559 : switch on string inside try block.
7 years ago
Siegfried Pammer
01d1e2ef57
Fix #1569 : Look for first non-static field in enum definitions to determine enum underlying type.
7 years ago
Siegfried Pammer
e99bc2b145
Fix #1567 : Do not transform string.Concat method calls to + operators if named arguments are used.
7 years ago
Siegfried Pammer
03e45fc80a
Fix #1568 : Mimic behavior of ILReader.CreateILVariable in case of empty parameter names of anonymous methods.
7 years ago
Siegfried Pammer
0cafc679f2
Do not fold using declarations, if there's only one.
7 years ago
Siegfried Pammer
6d05f36821
Fix #1562 : Do not transform display class initialization to object initializer.
7 years ago
Siegfried Pammer
b4a59ae4dd
Remove obsolete code from DelegateConstruction.cs
7 years ago
Siegfried Pammer
c1ac461c26
Enable MCS yield return pretty tests.
7 years ago
Siegfried Pammer
7f8856b10f
Fix #1026 : Improve support for mcs in TransformDisplayClassUsage
7 years ago
Siegfried Pammer
6a1229028c
Only try to inline stackalloc Span<T> if the next statement is a plain assignment.
7 years ago
Siegfried Pammer
9590cfbf59
Update tests to latest Roslyn implementation.
7 years ago
Siegfried Pammer
5a2302089b
Refactor TransformDisplayClassUsage into separate transform.
...
Make display class detection pattern-based instead of name-based. Fixes #1554
7 years ago
Siegfried Pammer
cf7deca7e1
Fix build.
7 years ago
Siegfried Pammer
34098b16e8
Fix #1548 : Detection of lambdas.
7 years ago
Siegfried Pammer
d965e6aa9e
Fix #1547 : Fully qualify attached properties in styles.
7 years ago
Daniel Grunwald
4e173cc885
Improve error message on decompiler crashes
7 years ago
Daniel Grunwald
fe4a80ec6c
Fix InvalidOperationException in TSAB.MakeFieldReference() when a System.Math field could not be found
7 years ago
Siegfried Pammer
8e7a197c8d
FieldValueSizeDecoder: Use pointer size defined in decompiled module.
...
Use same prefixes for PE sections as ildasm.
7 years ago
Daniel Grunwald
ab4e05f783
Don't perform DetectCatchWhenConditionBlocks transform when catchBlock.Variable.Type setter would throw an exception due to differing stack types.
7 years ago
Siegfried Pammer
db65c49f00
Show full assembly load log in ReferenceFolderTreeNode.
7 years ago
Daniel Grunwald
ef035e6e02
Use ".data cil" if data is in text section.
7 years ago
Daniel Grunwald
f5317b853a
Fix #661 : Emit ".data" IL directives for fields with associated data
7 years ago
Daniel Grunwald
7f2b3a4506
Fix #1529 : Handle exceptions on invalid metadata signatures
7 years ago
Daniel Grunwald
877780beb5
Fix ReduceNestingTransform bug introduced in commit 7f27768ff9
7 years ago
Daniel Grunwald
7f27768ff9
Fix #1391 , #1393 , #1458 : Fix ReduceNestingTransform modifying the Blocks collection while iterating over it.
7 years ago
Siegfried Pammer
bb10f5a6a6
Fix #1528 : Show default value of nullable parameters as null.
7 years ago
Siegfried Pammer
5a692610ff
Fix #1523 : Search throws EnumUnderlyingTypeResolverException
7 years ago
Siegfried Pammer
f7641037a2
Fix #1526 : Roslyn-optimized switch at end of method uses leave instead of br.
7 years ago
Siegfried Pammer
0e638dcb28
Fix #1524 : Adjust expression trees transform to work with async code as well.
7 years ago
DEVB\darius.kucinskas
aeeaa5c149
Fixed crash then type is null in type def matches.
7 years ago
Siegfried Pammer
905081ee37
Fix #1473 : Handle default values for 'Prefer32Bit' correctly.
7 years ago
Siegfried Pammer
c461bb3ccb
WholeProjectDecompiler: store framework version number as padded integer for future use.
7 years ago
Siegfried Pammer
daf90bfe97
Fix #1488 : Ignore errors while decoding security declarations.
7 years ago
Siegfried Pammer
09c6c70879
Ignore empty resources in WholeProjectDecompiler.
7 years ago