Siegfried Pammer
7fb3c51326
Suppress warnings in release mode as well, to speed up build process.
6 years ago
Daniel Grunwald
539e3a906d
Fix #1552 : user-defined and decimal increments
...
For user-defined increments, there were problems with Roslyn was optimizing out one of the stores.
The new transform FixRemainingIncrements now takes increments/decrements that were not detected by TransformAssignment and introduces a temporary variable that can be incremented.
This sometimes requires un-inlining via the new ILInstruction.Extract() operation.
Extract() is not supported in all possible contexts, so it is possible but unlikely that some op_Increment calls remain.
For decimals, the situation is different: legacy csc actually was optimizing "d + 1m" to "op_Increment(d)", so we can get rid of any left-over increments by undoing this optimization. This now happens in ReplaceMethodCallsWithOperators.
6 years ago
Siegfried Pammer
a63e94e5b4
Refactor Solution decompilation to use Language instead of AssemblyTreeNode.
6 years ago
Siegfried Pammer
37e14f43e3
Refactor/Clean up local functions representation in type system.
6 years ago
Daniel Grunwald
fb2cbf3d62
Use <GenerateDocumentationFile> instead of specifying the file name.
6 years ago
Daniel Grunwald
ccdabf2325
Fix a bunch of XmlDoc compiler warnings.
6 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)
6 years ago
Siegfried Pammer
8d1522f387
Transform display classes used in local functions.
6 years ago
Siegfried Pammer
5a2302089b
Refactor TransformDisplayClassUsage into separate transform.
...
Make display class detection pattern-based instead of name-based. Fixes #1554
6 years ago
Siegfried Pammer
bd77b8301f
Basic implementation of local functions.
6 years ago
dymanoid
5e6a261b86
Implement Visual Studio solution generation for icsharpcode#972
6 years ago
Siegfried Pammer
2e68ec6c68
Move all resources to ILSpy: We do not want to ship resources inside the decompiler engine assembly.
6 years ago
MysticBoy
04686b2ada
Translated the ICSharpCode.Decompiler‘s options and other
6 years ago
Siegfried Pammer
d83f6e6ec0
Remove unused code.
6 years ago
Siegfried Pammer
d42cf99a8c
Fix dynamic transforms because https://github.com/dotnet/roslyn/issues/27800 was fixed.
6 years ago
Siegfried Pammer
c1fca21e8a
Make ILRange field private - introduce public API for IL range manipulation.
6 years ago
Daniel Grunwald
f1c8142ce2
PDB generator now can emit "method stepping information" for async functions.
6 years ago
Daniel Grunwald
7a058f6262
First attempt at integrating C# nullable reference types into the type system.
6 years ago
Christoph Wille
29e05778c6
See #1416 . Also upgraded Cecil to .3 (from .1)
6 years ago
Siegfried Pammer
008a3c71e5
DelegateConstruction:
...
- add support for unknown delegate construction pattern. The method is compiler-generated, but has no compiler-generated name, we should be able to infer lambda usage from anonymous types used in the signature (i. e., the method can only be used as lambda, because that's where type names are optional).
- Add CombineExitsTransform in DelegateConstruction: this allows combining lambdas with multiple return statements into a single expression (as it is expected by query expressions).
6 years ago
Daniel Grunwald
ef866040b4
Update to SRM 1.6.0 and Roslyn 2.9. Adjust decompiler to new code pattern used for lifted nullable comparisons.
7 years ago
Chicken-Bones
ab9397d099
Add ReduceNestingTransform
7 years ago
Siegfried Pammer
cf1d05042f
Add detection of local functions, so we do not hide the methods/display classes.
7 years ago
Siegfried Pammer
23907c8d7d
Use IAmbience API in CSharpLanguage.
7 years ago
Siegfried Pammer
b58c356222
Extend StackAllocExpression: Add support for initializers.
7 years ago
Siegfried Pammer
0fc5c8b988
Add support for FormattableString patterns.
7 years ago
Andrey Shchekin
d677f0dcf1
Fixed thread safety issues as per code review comments.
7 years ago
Andrey Shchekin
d15fe0f254
Fixed bug with decimal optional parameters not being resolved correctly.
...
Added option to uglify presentation of decimal constants (show `[DecimalConstant(...)]`).
7 years ago
Daniel Grunwald
9479e8af13
Support overloaded operator &&/||.
7 years ago
Siegfried Pammer
6926651791
First draft of support for ImportScope and LocalScope tables.
7 years ago
Siegfried Pammer
420ecb5906
Move ILParser to separate file.
7 years ago
Siegfried Pammer
f634710570
Closes #943 ; Use official EmbedAllSources parameter; remove workaround
7 years ago
Daniel Grunwald
107fe5eb1c
Eliminate SpecializingDecompilerTypeSystem and use GenericContext instead.
7 years ago
Daniel Grunwald
fdc109eebd
Fix NullReferenceException in TypeSystemAstBuilder when attribute argument decoding fails.
7 years ago
Daniel Grunwald
3b46776c5e
Rename IAssembly -> IModule.
...
While support for multi-module assemblies isn't fully working yet; it is clear at this point that we want
to treat each module in a multi-module assembly separately for the purposes of the type system.
7 years ago
Daniel Grunwald
b149238777
Introduce IType.IsByRefLike.
7 years ago
Siegfried Pammer
27cf62d710
Move CodeMappingInfo to Decompiler.
7 years ago
Siegfried Pammer
01e374fd4f
Add EnumUnderlyingTypeResolveException and clean up exceptions in ReflectionDisassembler: use BadImageFormatException for any unexpected values.
7 years ago
Siegfried Pammer
bc97127d9d
Reorganize extension methods + remove unused/obsolete.
7 years ago
Siegfried Pammer
4f1c6e3509
Remove more dead code.
7 years ago
Daniel Grunwald
ee3a76bc67
Remove more dead code.
7 years ago
Daniel Grunwald
0f71b65b53
Remove unresolved TS interfaces.
7 years ago
Daniel Grunwald
2fa2eb9d18
Remove some of the old TS implementations.
7 years ago
Siegfried Pammer
49127f96ed
Remove dead UnresolvedSecurityDeclarationBlob.cs
7 years ago
Daniel Grunwald
8f588208b9
Fix tuple type in 'new List<(int, string)>'.
7 years ago
Siegfried Pammer
bcfb3742eb
Clean up PEFile, move Pdb related types to DebugInfo namespace
7 years ago
Daniel Grunwald
22f7e34761
Add Mono's ResXResourceWriter, so that we can write serialized objects in resources back out.
7 years ago
Daniel Grunwald
c17c3c739f
Fix #1192 : Use custom ResourcesFile implementation
...
This avoids deserializing objects embedded in .resources files within the ILSpy process.
7 years ago
Siegfried Pammer
9acc372a68
Use TypeSystem for ILSpy UI:
...
Most important tree nodes and search ported,
Currently only ILLanguage is active
7 years ago
Siegfried Pammer
e6e03a40d4
Move PEFile and other classes to different files, cleanup
7 years ago