Daniel Grunwald
fe3bee36ad
Use tabs, not spaces.
10 years ago
Daniel Grunwald
02a500e762
ICSharpCode.Decompiler: Merge changes from SharpDevelop to ILSpy.
10 years ago
Siegfried Pammer
4a4cc2e689
fix #524 - Mistake ILSpy decompile: delegate instantiation is only removed if an implicit conversion exists.
11 years ago
LordJZ
b75f217167
Enhanced DivideBySize
...
This fixes some redundant IntPtr casts. Some tests are still failing.
Partially fixes #271
11 years ago
krauthaufen
e10e42681f
added fix for unsigned comparison with signed integral types;
11 years ago
Daniel Grunwald
6ba013d9dd
Fix bugs in async/await decompiler.
12 years ago
Daniel Grunwald
2edcaa2c44
Initial implementation of async/await decompiler.
14 years ago
Daniel Grunwald
5d3a812ac0
Fix NullReferenceException in AstMethodBodyBuilder introduced by the bugfix for #282 .
...
Improvement coding style of generated switch statements.
14 years ago
Daniel Grunwald
4906f3e26b
#282 - Fix the casts in the other direction (from concrete type to type parameter).
14 years ago
Daniel Grunwald
134c4515e4
Fix #282 : (T)(object)DateTime.Now; decompiles as (T)DateTime.Now;, which does not compile
14 years ago
Daniel Grunwald
63a55fa5b0
Fixed NullReferenceException when decompiling a switch over a boolean variable that includes a default case.
14 years ago
Daniel Grunwald
0010be6add
Fixed decompiling "new byte[length]" where length is a long.
14 years ago
Daniel Grunwald
e883fdc5c9
Adjust ILSpy to NRefactory API changes.
14 years ago
Jb Evain
51430bccb2
Annotate struct creations with the Cecil constructor reference
14 years ago
Daniel Grunwald
49c92cfba8
Adjust ILSpy to new NRefactory version.
14 years ago
David Srbecký
774e3cd8ca
If switch cases contain values other then 0 and 1, force the condition to be non-boolean
14 years ago
Daniel Grunwald
b6ba673a2d
Implemented Expression Tree decompilation. Closes #175 .
14 years ago
Daniel Grunwald
2e387958db
Add support for more language constructs to the ExpressionTreeConverter.
14 years ago
Daniel Grunwald
7e35c705b6
Initial implementation of Expression Tree Decompilation ( #175 )
14 years ago
Eusebiu Marcu
ab9a80cadd
Modify code-mappings API and icon margin.
14 years ago
Daniel Grunwald
c28f6455d8
Anonymous type create expressions: when all names can be inferred from the initializers, don't create NamedExpressions.
14 years ago
Daniel Grunwald
56c75e09b2
Refactored handling of debug mapping in the decompiler: we now avoid using a side-channel for the debug info and instead return it via the ITextOutput.
14 years ago
Daniel Grunwald
9db07b54c5
Adjust decompiler to NRefactory changes.
14 years ago
Daniel Grunwald
81bb822fdb
Adjust ILSpy to NRefactory changes.
14 years ago
Daniel Grunwald
eba7aa2ca2
Normalize line endings to LF.
14 years ago
Daniel Grunwald
0cdaf3bec4
Ensure the value parameter of a property setter is called 'value'.
14 years ago
Pent Ploompuu
7c3fd3afda
Use annotations to mark lifted operators that can't be transformed by PushNegation
14 years ago
jbevain
96c7204789
Annotate VariableInitializers with ILVariable when possible
14 years ago
jbevain
d55a61772a
Annotate properties and events with the original method reference too
14 years ago
Daniel Grunwald
f39f7c3d63
Use 'ref', not 'out', for passing arguments to a method parameter declared as "[In, Out] ref".
14 years ago
Pent Ploompuu
66fde6d0ee
Compound assignment support for overloaded operators
14 years ago
Pent Ploompuu
0e993afe58
Add an annotation to redundant ParenthesizedExpressions for PushNegation transform
14 years ago
Siegfried Pammer
f4d29b2f2b
add AlwaysGenerateExceptionVariableForCatchBlocks setting to avoid Catch clauses without a variable; disable C#'s query expression translation
14 years ago
Siegfried Pammer
beff26761e
fix #167 - Incorrect decompilation of null as extension method this parameter
14 years ago
Pent Ploompuu
26d903efd5
Test case for operator "is" on reference types with result used as a boolean.
14 years ago
Pent Ploompuu
3d7d36f360
Fixed "is" operator regression caused by SimplifyLogicNot
14 years ago
Daniel Grunwald
3fad5cb76b
Fix #249 : Object Initializer not detected for value types
14 years ago
Pent Ploompuu
587c36bea2
Type analysis support for the remaining lifted operators
14 years ago
Siegfried Pammer
2a45819408
implement ArrayCreateExpression and CastExpression
14 years ago
Alex Lyman
9faee0ad8d
- Modified the InitializerPeepholeTransforms' Array Initializers to do a forward scan of the block instead of just checking the next instruction. The next-instruction thing breaks down under the case where you have an array-of-arrays (int[][])
...
- Added to the InitializerPeepholeTransforms' Array Initializers to detect the creation of a multi-dimensional array (int[,])
- Modified the ILCode.InitArray contract to take an ArrayType instead of just the element type, and passing with the ArrayType.Dimensions set accordingly.
- AstMethodBodyBuilder now used the ArrayType.Dimensions info to build a tree of ArrayInitializerExpressions from the raw, element-by-element list.
- Fixed OutputVisitor not calling StartNode for EmptyExpressions
Known issues:
- ArrayCreateExpression outputs extra space in the array specifier when using EmptyExpressions, ala: "new int[][, ]"
- The tree of ArrayInitializerExpressions outputs with blank lines before and after each block.
14 years ago
Artur Zgodziński
c42bf520b8
Highlighting references to clicked variable or parameter.
14 years ago
Daniel Grunwald
e0c7bebfe8
Add license headers to the files that were missing them.
14 years ago
Pent Ploompuu
af155c788e
Type analysis support for operators on nullable values
14 years ago
Pent Ploompuu
cb174caab3
Negation of operators on nullable values is not allowed for correct decompilation
14 years ago
Pent Ploompuu
fec24cf171
Improved decompilation correctness for operators on nullable values
14 years ago
Daniel Grunwald
3779381796
Add support for type forwarding declarations ([TypeForwardedToAttribute]). Closes #190 .
14 years ago
Daniel Grunwald
b01fe1b427
Fixed NullReferenceException when decompiling "typeof(List<int>[])".
14 years ago
Siegfried Pammer
439de223bf
implement proper fix for #179 + add unit test
14 years ago
Daniel Grunwald
4ec92d9a55
Handle cpobj instruction as stobj(ldobj).
14 years ago
Daniel Grunwald
8c927f199b
Fixed issues introduced by #139 (Improved local variable inlining)
15 years ago