Siegfried Pammer
02d2a8c1f8
Add metadata processing for C# 12 'ref readonly' parameters
2024-07-19 18:40:08 +02:00
Siegfried Pammer
539925f259
Fix #2983 : display-class locals should be named uniquely per top-level ILFunction. Add assertion to ResolveCollisions: ensure that colliding/merged variables have the same type.
2023-05-18 14:10:07 +02:00
Siegfried Pammer
47250d670b
Fix #2791 : Ensure that the capture scope used is either a loop or the ILFunction root container.
2022-10-03 16:09:18 +02:00
Daniel Grunwald
b4b070468f
Revert "Performance Optimization: Do no longer collect all lower case type and member names."
...
This reverts commit 6584a2f576 .
2022-07-17 08:37:38 +02:00
Siegfried Pammer
6584a2f576
Performance Optimization: Do no longer collect all lower case type and member names.
2022-07-16 20:35:35 +02:00
Siegfried Pammer
e1ca4db851
Fix #2527 : Support skip locals init
2021-10-29 00:16:33 +02:00
Siegfried Pammer
c641072685
Translate MatchInstruction to BinaryOperatorExpression with BinaryOperatorType.IsPattern.
2021-07-18 20:57:33 +02:00
Siegfried Pammer
669fe6417e
Fix #2280 : Add additional checks to GenerateVariableName
2021-01-22 14:05:14 +01:00
Siegfried Pammer
04f9603768
Fix #2140 : ILSpy 6.2p1 no longer respects "use discards" setting
2020-09-03 09:06:47 +02:00
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
2020-08-28 01:05:38 +02:00
Christoph Wille
6415e9d1d6
Merge pull request #2119 from icsharpcode/deconstruction-pattern-matching-foundation
...
C# 7.0 Deconstruction
2020-08-23 08:58:34 +02:00
Siegfried Pammer
b1b49b5a56
Fix bugs in foreach deconstruction and deconstruction declaration, if the same variable is used multiple times.
2020-08-22 19:47:55 +02:00
Siegfried Pammer
3390d3849d
Added support for var (a, b, _) = ...; syntax in deconstruction.
2020-08-22 19:35:28 +02:00
Siegfried Pammer
00b65453ee
Remove out var _ hack
2020-08-15 10:42:00 +02:00
Daniel Grunwald
ddff831cf0
#1292 : Fix some more problems with pinned locals.
...
Let's distinguish between the original pinned locals and the PinnedRegion locals.
The format need declarations if any are left over after transformations; the latter don't.
2020-08-08 21:59:57 +02:00
Siegfried Pammer
4f7ca65408
Fix #1913 : Make sure to declare local variables captured by local functions before the first invocation of the local function.
2020-05-17 09:07:24 +02:00
Siegfried Pammer
8925b4ff7b
Inline variable declarations/modernize parts of our code base.
2020-04-16 11:22:18 +02:00
Siegfried Pammer
407c337168
Add ForStatement, DoWhileStatement and SeparateLocalVariableDeclarations settings.
2019-12-08 09:29:19 +01:00
Siegfried Pammer
9190515d8b
#1151 : Support for ref readonly locals.
2019-09-28 14:05:59 +02:00
Siegfried Pammer
d2f7258347
Fix #1681 : Use discard assignment, if possible.
2019-09-16 21:59:14 +02:00
Siegfried Pammer
13fa499c35
Fix #1630 : Do not convert while to for statement, if any iterator variables are to be declared in the loop body. This causes problems with ref-typed variables.
2019-08-10 19:19:52 +02:00
Siegfried Pammer
bd77b8301f
Basic implementation of local functions.
2019-06-24 17:51:13 +02:00
Siegfried Pammer
b0cb976357
Fix #1454 : Name collision after converting for-over-array to foreach.
2019-03-17 19:14:23 +01:00
Daniel Grunwald
47ca51a769
Clarify the meaning of ILVariable.Index
2019-02-15 11:42:16 +01:00
Daniel Grunwald
ba8b453b36
Fix #1404 : local variables with init flag are not declared in the correct scope
2019-02-14 14:55:11 +01:00
Daniel Grunwald
796612209d
Fix #1147 : Use C# 7.3 syntax for ref reassignment.
2018-07-14 00:02:51 +02:00
Siegfried Pammer
40659a2283
Add minimal support for C# 7 discards in out var declarations.
2018-03-05 08:44:13 +01:00
Daniel Grunwald
19e840856f
Use out variable declarations where possible.
2018-03-04 17:05:37 +01:00
Daniel Grunwald
3c720b2030
Implement ?. operator when the result of the call is not used
...
For example: "if (x != null) x.M();" -> "x?.M();"
2018-01-14 16:09:23 +01:00
Siegfried Pammer
69c764722c
Fix #989 : Local variable naming conflict
2017-11-26 12:10:00 +01:00
Siegfried Pammer
5814374306
Fix build.
2017-11-11 19:19:07 +01:00
Siegfried Pammer
9d70e6ed09
Fix #893 : Local variable name highlighter sometimes only finds subset of usages
2017-11-11 18:54:14 +01:00
Siegfried Pammer
4d5d4b3d6b
Fix #952 : Issue with discard expressions and variables
2017-11-01 23:14:02 +01:00
Daniel Grunwald
164f9b82a8
Fix DeclareVariables.FindInsertionPoint not treating lambda bodies as capture scopes
2017-10-09 21:05:37 +02:00
Siegfried Pammer
c64ce76047
Remove using-specific code from DeclareVariables.ResolveCollisions
2017-09-24 22:53:24 +02:00
Siegfried Pammer
31469c8ef1
Implement UsingTransform in ILAst.
2017-09-23 21:15:36 +02:00
Siegfried Pammer
d45e3bfb3c
Fix assertion fail in DeclareVariables: Make sure that we do not try to declare variables in non-assignment contexts.
2017-09-23 21:15:36 +02:00
Siegfried Pammer
d33c334f5a
Fix #284 - Ability to disable decompilation of anonymous types to "var"
2017-09-14 14:31:35 +02:00
Daniel Grunwald
e024641a5f
[async] Fix bug when async method uses this pointer.
2017-09-08 23:44:07 +02:00
Daniel Grunwald
b36ae9df7e
Start on new async/await decompiler.
2017-09-02 14:55:10 +02:00
Daniel Grunwald
cad933184a
Don't introduce foreach when doing so would create a conflict with another variable of the same name as the loop variable.
2017-08-26 14:00:14 +02:00
Daniel Grunwald
56a0ca2f13
Remove useless stack variables.
2017-08-20 16:30:16 +02:00
Siegfried Pammer
a5b67ffc0e
Add UsingLocal and ForeachLocal VariableKinds
2016-12-21 00:10:06 +01:00
Daniel Grunwald
4c07ba2448
Fix NullReferenceException in AssemblyTreeNode.get_ToolTip
2016-12-19 20:08:41 +01:00
Siegfried Pammer
41bcf920d3
Improved handling of captured variables.
2016-12-19 10:33:54 +01:00
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.
2016-11-27 15:25:22 +01:00
Siegfried Pammer
fc8825d895
Try to detect while conditions, do-while-loops and for-loops
2016-11-27 10:37:54 +01:00
Siegfried Pammer
840ec04fde
Namespace adjustments for Syntax classes
2016-11-26 12:06:58 +01:00
Christoph Wille
1ce8349dd9
Adjust namespaces
2016-11-26 11:12:53 +01:00
Siegfried Pammer
5bedb80a78
Phase 1: merge parts of ICSharpCode.NRefactory.CSharp into ICSharpCode.Decompiler
2016-11-26 00:26:27 +01:00