466 Commits (04ffdb6da456ad4549e316216e7360ade421e7c1)

Author SHA1 Message Date
Eugene a80672ba42 Change rules for VisitUnboxAny & fix issue https://github.com/icsharpcode/ILSpy/issues/1256 7 years ago
Chicken-Bones 481e05eabb Better shortcircuit detection to avoid single condition switch statements 7 years ago
Chicken-Bones d8244e347b Select outer-loop continue branches as break targets for switches in nested loops 7 years ago
Chicken-Bones d86f4b4132 Prefer simple if statements over switch with single case block 7 years ago
Chicken-Bones 52a279f861 Restore HighLevelLoopTransform pattern match for loop contents within if body 7 years ago
Chicken-Bones 7017d998d0 Improve switch decompilation in loops via early detection of continue blocks. 7 years ago
Chicken-Bones 1a021635cc Fix detection of switch statements with cases containing a single break; 7 years ago
Chicken-Bones cb4fa90545 Add IL ordering based hint to UseCSharpSwitch 7 years ago
Chicken-Bones 62b2ad4f8d Improve UseCSharpSwitch to reduce over-aggressive use of switch producing poor quality code. 7 years ago
Chicken-Bones 9a3914fca9 Handle roslyn generated sub instructions in partitioned C# switch statements 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 a9c1b9d515 Fix #1250: Missing enum to int cast in object initializer 7 years ago
Siegfried Pammer 9e01b3b5e1 Add test case. 7 years ago
Siegfried Pammer 4fab913bf6 Fix #1249: Bug in detection of multiple nested expression trees in query expressions. 7 years ago
Siegfried Pammer 8d028b57ec Add test cases. 7 years ago
Siegfried Pammer 4047c5c159 Add test case for #1224 7 years ago
Siegfried Pammer 0fc5c8b988 Add support for FormattableString patterns. 7 years ago
Siegfried Pammer 9ed65dc780 Add more tests, fix typo. 7 years ago
Siegfried Pammer e6fa143ef1 Fix #888: [3.0 Preview 1] F# code decompiles to ... unoptimal C# 7 years ago
Andrey Shchekin d15fe0f254 Fixed bug with decimal optional parameters not being resolved correctly. 7 years ago
Daniel Grunwald dd5845e83d Support short-circuiting operators with dynamic. (e.g. "if (x.A && x.B)" where "x" is dynamic) 7 years ago
Siegfried Pammer 82dcc09acf #1083: Add support for optional arguments to constructors and refactor CallBuilder a bit. 7 years ago
Chicken-Bones 5ed5ea0e0f Improve block ordering in ConditionDetection using the ILOffsets of Leave instruction arguments 7 years ago
Daniel Grunwald 9479e8af13 Support overloaded operator &&/||. 7 years ago
Siegfried Pammer 080506bcbe Add more tests. 7 years ago
Siegfried Pammer f956e16f58 Add basic support for C# 4 optional arguments. 7 years ago
Siegfried Pammer f1f70d0ded Fix #1148: Do not use hexadecimal display in enums if the value is negative. 7 years ago
Siegfried Pammer 39a9efde29 Fix #1220: Auto Property named 'Item' decompiled as an invalid indexer 7 years ago
Siegfried Pammer 7df1ff3f93 Add more test cases to PropertiesAndEvents. 7 years ago
Siegfried Pammer 99f9ecadd3 Fix #1221: Private setter-only properties are not decompiled correctly 7 years ago
Chicken-Bones fe6a85fa68 Reverse Roslyn optimisation to favour && over & on boolean operands. 7 years ago
Daniel Grunwald bafb6d1d49 Fix #1194: empty if statements are decompiled into goto statements 7 years ago
Daniel Grunwald d8c8a75c2e Fix #1154: Decompilation of fixed statement when pointer variable is unused 7 years ago
Daniel Grunwald 4580eab7ab Disable ref inline assignments. 7 years ago
Daniel Grunwald 7ee686cb67 Allow splitting a variable even if it has its address taken and stored in a ref-local. 7 years ago
Daniel Grunwald 33ef82f75c Fix #1082: Add support for compound assignment with string.Concat(). 7 years ago
Daniel Grunwald d166101387 Allow splitting variables that have their address taken. 7 years ago
Daniel Grunwald b149238777 Introduce IType.IsByRefLike. 7 years ago
Siegfried Pammer ce855885b1 Implement new declsec parser in ReflectionDisassembler + added unit tests. 7 years ago
Siegfried Pammer bf8bd6b597 Add missing ApplyAttributesToType in MetadataAssembly.ResolveMethodSpecification. 7 years ago
Daniel Grunwald 8f588208b9 Fix tuple type in 'new List<(int, string)>'. 7 years ago
Daniel Grunwald 64547de4a0 foreach loops now use "var" if the element type is a tuple and can be inferred from the collection type. 7 years ago
Daniel Grunwald 078b638149 Adjust Issue982.cs to [IndexerName] 7 years ago
Daniel Grunwald c85927b579 Add support for IndexerNameAttribute. 7 years ago
Siegfried Pammer 4cca07aeb3 TransformExpressionTrees: Fix bug in Expression.Quote handling 7 years ago
Daniel Grunwald 0f8c310de2 Started work on new resolved TS implementation that directly uses SRM. 7 years ago
Daniel Grunwald 96e3b23ab3 Fix crash in ProxyCallReplacer 7 years ago
Siegfried Pammer 6096b7df29 #907: CallBuilder: If type arguments cannot be inferred from the parameter list, add them before asking overload resolution, but remove them again, if it does not reduce the number of casts. 7 years ago
Siegfried Pammer d04155132a Use overload resolution to add only required casts to collection initializers. 7 years ago
Siegfried Pammer a823d74004 Use overload resolution to ensure we call the correct indexer + added tests. 7 years ago