Daniel Grunwald
|
5620e448b3
|
Move the second DetectExitPoints run directly after LoopDetection.
This eliminates a bunch of gotos when then/else-blocks end with a loop.
|
8 years ago |
Daniel Grunwald
|
90059f956e
|
Detect foreach loops even if the address of the loop variable is taken for a method call.
|
8 years ago |
Daniel Grunwald
|
56a0ca2f13
|
Remove useless stack variables.
|
8 years ago |
Daniel Grunwald
|
d8e8171b3c
|
Re-enable foreach pattern
|
8 years ago |
Daniel Grunwald
|
173c8d353f
|
Support 'state + c1 < c2' in state-range-analysis.
|
8 years ago |
Daniel Grunwald
|
b9b510d225
|
yield return decompiler: fix yield return in structs; fix local variables in finally block
|
8 years ago |
Daniel Grunwald
|
904b4e768b
|
Fix decompiling iterator method that consists only of "yield break;".
|
8 years ago |
Daniel Grunwald
|
7277de6c08
|
More fixes for yield return decompilation.
|
8 years ago |
Daniel Grunwald
|
9fa6009c44
|
Remove dead compiler-generated 'V = null;' assignments.
|
8 years ago |
Daniel Grunwald
|
bddda342a1
|
Improve yield-return-decompiler.
|
8 years ago |
Siegfried Pammer
|
d36550c0ac
|
Implement PropertyArrayStart/PropertyArrayEnd in BamlDecompiler
|
9 years ago |
Siegfried Pammer
|
4b4b915e7b
|
Replace flawed GetHashCode implementation in XmlNamespace
|
9 years ago |
Siegfried Pammer
|
57c8346ce8
|
Improve search strategies: use full name matching only if search term contains '.'
|
9 years ago |
Daniel Grunwald
|
f0e230ae91
|
Run a second pass of DetectExitPoints to use 'return;' as exit point if no previous transform picked another exit point.
This eliminates redundant 'return;' and 'yield break;' instructions.
|
9 years ago |
Daniel Grunwald
|
1001ff5721
|
Fix 'yield break;' in try-catch blocks.
|
9 years ago |
Daniel Grunwald
|
5621101436
|
Reconstruct try-finally blocks in yield return decompiler
|
9 years ago |
Siegfried Pammer
|
54a48b520e
|
Add instruction<->variable mapping to ILVariable
|
9 years ago |
Siegfried Pammer
|
a5b67ffc0e
|
Add UsingLocal and ForeachLocal VariableKinds
|
9 years ago |
Siegfried Pammer
|
610f0a922f
|
Remove AST-helper-methods
|
9 years ago |
Daniel Grunwald
|
38a81d1edf
|
Fix indentation
|
9 years ago |
Daniel Grunwald
|
fe84ea9730
|
WIP: yield return decompiler
|
9 years ago |
Daniel Grunwald
|
4c07ba2448
|
Fix NullReferenceException in AssemblyTreeNode.get_ToolTip
|
9 years ago |
Siegfried Pammer
|
76bd40ccf0
|
Remove leading label and trailing continue from do-while loop.
|
9 years ago |
Siegfried Pammer
|
41bcf920d3
|
Improved handling of captured variables.
|
9 years ago |
Siegfried Pammer
|
8765bda8ad
|
Fix ICSharpCode.Decompiler.csproj
|
9 years ago |
Siegfried Pammer
|
0970b95d5f
|
Rename ILVariable.Scope to Function and introduce BlockContainer CaptureScope
|
9 years ago |
Siegfried Pammer
|
f24f1e007e
|
Move correctness tests to single namespace
|
9 years ago |
Siegfried Pammer
|
1dddb96e91
|
reactivate do-while-loop detection
|
9 years ago |
Siegfried Pammer
|
f555ec7704
|
Implement detection of for loops in StatementBuilder
|
9 years ago |
Siegfried Pammer
|
48c514ba12
|
fix #745 - Possible defect in source code: comparing with itself
|
9 years ago |
Siegfried Pammer
|
1604952c3b
|
fix #775 - Invalid BAML namespace decompilation
|
9 years ago |
Siegfried Pammer
|
4df6c53419
|
Fix BamlTestRunner
|
9 years ago |
Siegfried Pammer
|
d1fbe5815a
|
Reenabled BAML decompiler tests
|
9 years ago |
Siegfried Pammer
|
337764c26f
|
Move all pretty-tests to the same namespace
|
9 years ago |
Siegfried Pammer
|
081528ab52
|
fix #772 - Creation of an anonymous array doesn't decompile properly
|
9 years ago |
Daniel Grunwald
|
f0a0ba8ac0
|
Fix some issues with missing casts for overload resolution and for boxing in attributes.
|
9 years ago |
Daniel Grunwald
|
681641948b
|
Fix build.
|
9 years ago |
Daniel Grunwald
|
d0f9b56738
|
#250: add test case that we box as the correct type
|
9 years ago |
Daniel Grunwald
|
64bd447db4
|
Fix #217: cast both sides of reference comparison to object if necessary
|
9 years ago |
Daniel Grunwald
|
d39045981a
|
Add test case for #180.
|
9 years ago |
Daniel Grunwald
|
6343ab7c15
|
Improve debug UI
|
9 years ago |
Daniel Grunwald
|
66dee6c6f9
|
LoopDetection: find appropriate exit points
|
9 years ago |
Daniel Grunwald
|
e871f7c05a
|
Convert LoopDetection into a block transform.
|
9 years ago |
Daniel Grunwald
|
ed3d4aba9d
|
Run IntroduceExitPoints before loop detection, and let loop detection introduce its own exit points.
Warning: this commit creates broken branches that enter blocks.
|
9 years ago |
Siegfried Pammer
|
6702488af5
|
Add Loops tests (ignored); commit loop transform WIP
|
9 years ago |
Siegfried Pammer
|
fc8825d895
|
Try to detect while conditions, do-while-loops and for-loops
|
9 years ago |
Daniel Grunwald
|
c0582cf3d3
|
Fix cecil version in app.config.template
|
9 years ago |
Daniel Grunwald
|
b254ff667f
|
Remove special case always adding 'using System;'
|
9 years ago |
Daniel Grunwald
|
5530f7ec2e
|
Distinguish between PreOrderTransforms and PostOrderTransforms in BlockILTransform.
|
9 years ago |
Daniel Grunwald
|
b3590ec292
|
Update cecil.
|
9 years ago |