Daniel Grunwald
0010be6add
Fixed decompiling "new byte[length]" where length is a long.
14 years ago
Daniel Grunwald
59db5876ee
Decompile 'volatile' modifier.
14 years ago
Daniel Grunwald
c542648d87
Store debugger member mappings in a simple list in the text output; copy the entries into the DebugInformation only when the output gets displayed.
...
MemberBookmark: Re-use the GetIcon methods from the TreeNodes.
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
Zohar Kelrich
470caaa6bb
Fix #278 : Decompiling generic multidimensional array access throws exception
14 years ago
Daniel Grunwald
70d1693e91
Fix #255 InvalidOperationException: The new node 'CheckedExpression' is not valid in the role Initializer
14 years ago
lumi
deaff2a0ce
Add failing test for Checked/initializer interaction
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
81bb822fdb
Adjust ILSpy to NRefactory changes.
14 years ago
Pent Ploompuu
92c892577d
Use consistent terminology for lifted operators
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
ee0f43ad38
Compound assignment support for lifted operators
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
85fbaf8255
Test both with and without optimizations
14 years ago
Pent Ploompuu
e5c8b06e1c
Fixed TernaryOp and NullCoalescing type analysis.
14 years ago
Pent Ploompuu
26734a68d3
Test cases for all lifted operators
14 years ago
Daniel Grunwald
3fad5cb76b
Fix #249 : Object Initializer not detected for value types
14 years ago
Daniel Grunwald
3020bc9ce8
Fixed type analysis for right shift operator.
14 years ago
Daniel Grunwald
8beed6aa70
Fixed type inference for shift operators. Closes #239 .
14 years ago
Daniel Grunwald
2783b02007
Fix #241 : type analysis causes truncation of integer literals when calculating with types smaller than int32.
14 years ago
Alex Lyman
ed6380077f
- Reverted changes to display decimal.MinValue and decimal.MaxValue
...
- Altered InitializerTests to use constant literals instead of decimal.MinValue and decimal.MaxValue
14 years ago
Alex Lyman
e484d35fe2
- Altered the InitializerPeepholeTransforms' ArrayInitializer forward-scan to only look at the next instruction: in practice, CSC does not seem to generate code that needs anything more, and there are some questions as to the validity of the looping itself (i.e. what if there is a branch between them?
...
- Added another test to the InitializerTests, to validate that it handles deeper multi-dimensional arrays (I went 3x3x3 for simplicity)
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
Alex Lyman
8dcea0b27b
- Made the InitializerTests pass, through three changes:
...
* Added new-lines as needed to make the source formatting match what the actual output was.
* Added code to CodeAssert to make it ignore #regions
* Added code to output decimal.MinValue and decimal.MaxValue as appropriate
14 years ago
Daniel Grunwald
4f5fb6c140
Fixed references to enum values nested within generic types.
14 years ago
Daniel Grunwald
320b6d96c2
Fix some compiler warnings.
14 years ago
Daniel Grunwald
9376ece056
Fixed references to enum values nested within generic types.
14 years ago
Daniel Grunwald
6daf7cb6bc
Fix some compiler warnings.
14 years ago
Pent Ploompuu
f7811e69ab
Added some comments and simplified the pattern matching
14 years ago
Pent Ploompuu
1e34ba6b1a
Added test cases for operators on nullable values
14 years ago
Pent Ploompuu
4de59aa15b
64bit support for test cases
14 years ago
Daniel Grunwald
f1a34c6a31
Fix #202 : Decompilation of multiple catch clauses sharing the same variable name
14 years ago
Daniel Grunwald
e0c7bebfe8
Add license headers to the files that were missing them.
14 years ago
Siegfried Pammer
f86fa5d1dd
implement support for op_True and extend unit test
14 years ago
Siegfried Pammer
a929decdeb
implement basic support for custom short circuit operators + unit test; fixes #193
14 years ago
Daniel Grunwald
229218174f
Inlining: remove the arg_-Variable in catch blocks.
14 years ago
Daniel Grunwald
7d24f683d1
Decompile AssemblyVersion attribute. Closes #188 .
14 years ago
Daniel Grunwald
2d42dd5c57
Fixed several issues related to [MarshalAs] attributes.
14 years ago
Daniel Grunwald
5c08e10a07
Fixed incorrect detection of the 'using' statement pattern when the code was assigning to the using variable. Closes #121 .
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
Ivan Hamilton
b408acccea
Fix local variable post-increment recognition for split local variables.
14 years ago
Artur Zgodziński
d900a171fa
Improved decompilation of new modifier.
14 years ago
Daniel Grunwald
6885af6437
Add test case for previous commit.
14 years ago
Daniel Grunwald
8c927f199b
Fixed issues introduced by #139 (Improved local variable inlining)
14 years ago
Daniel Grunwald
57db57670c
Fix bug when decompiling lambdas that are nested 3 or more levels (and have a closure on each level).
14 years ago
Daniel Grunwald
207bb984aa
Implemented support for nested object/collection initializers.
14 years ago
Daniel Grunwald
600c07388e
Implemented object initializers.
14 years ago