Siegfried Pammer
52e2161ea7
Add regression test for duplicate array-element assignment
...
A second store to an already-written array element must prevent
HandleSimpleArrayInitializer from folding the stores into a collection
initializer: the earlier store would be dropped (a visible change when
its value has side effects), and without the nextMinimumIndex guard the
transform crashes on the colliding index. The nextMinimumIndex check
already enforces this; pin it with a Pretty fixture so the boundary
between a foldable initializer and a duplicate-write sequence stays
covered.
Assisted-by: Claude:claude-fable-5:Claude Code
13 hours ago
Siegfried Pammer
169c399f78
Add pretty tests for UTF-8 string literal edge cases
...
Only two plain ASCII u8 literals were covered; the empty literal and
a literal made of escape sequences pin the recovery heuristic
boundaries.
Assisted-by: Claude:claude-fable-5:Claude Code
3 days ago
Siegfried Pammer
a1420dd311
Add pretty test for dictionary index initializers
...
The C# 6 index-initializer syntax was only covered through custom
indexers; a real Dictionary<,> initialized with [key] = value pins
the choice between the index form and the Add form.
Assisted-by: Claude:claude-fable-5:Claude Code
3 days ago
Siegfried Pammer
94050a4aca
Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body.
8 months ago
Siegfried Pammer
588c243929
#3593 : ObjectInitializers: allow castclass instructions wrapping the init instruction to support the pattern used for covariant returns on non-supporting platforms such as .NET 4.x.
8 months ago
ds5678
3a13d5a698
Allow explicit null termination character
1 year ago
ds5678
b0d6fa2276
Add support for array initialization based on RuntimeHelpers.CreateSpan<T>
1 year ago
Siegfried Pammer
202c5e22e3
Fix #3383 : more aggressively transform object initializers on structs
1 year ago
Siegfried Pammer
906d248403
Fix #3392 : uses of init-setters must use object-initializer syntax.
1 year ago
Siegfried Pammer
9e168224dd
Fix #3091 : extension methods named "Add" were skipping some checks in AccessPathElement.IsMethodApplicable.
3 years ago
Daniel Grunwald
f568123704
Add support for UTF8 string literals
3 years ago
Siegfried Pammer
6a3bb2bbf1
Fix #2655 : TranslateArrayInitializer crashes with out of order array init
4 years ago
Siegfried Pammer
44dee6ecc2
Add additional tests for .NET 4.0
4 years ago
Siegfried Pammer
4aa7f5fc38
Fix #2612 decompilation of newarr with int.MaxValue causes OOME in decompiler.
5 years ago
Siegfried Pammer
30f9a82fbe
Add Roslyn 3.11.0 as separate test configuration. Update RoslynLatest to 4.0.0. Use LanguageVersion.CSharp9_0 instead of Preview. Add LanguageVersion.CSharp10_0.
5 years ago
Siegfried Pammer
c22977e1be
Fix #2390 : Extend variable splitting to treat stobj as immediate address use.
5 years ago
Siegfried Pammer
d54016ce8f
#2390 : Add support for generic object initializers.
5 years ago
Siegfried Pammer
cc19e9043e
Fix #603 : Single element arrays should not span multiple lines
...
Fix #1079 : CSharpFormattingOptions.AutoPropertyFormatting has no effect
6 years ago
Siegfried Pammer
3df82cf33b
Add support for 'with' expressions
6 years ago
Siegfried Pammer
be57dc454c
Run tests with different versions of Roslyn
6 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
6 years ago
Siegfried Pammer
fa7c1f574a
Do not convert simple LINQ method calls to LINQ expressions. Closes #1501 .
7 years ago
Siegfried Pammer
14c76d1ba6
Fix failing initializer tests.
7 years ago
Siegfried Pammer
94cd891609
Add support for ReadOnlySpan<T> initialization pattern.
7 years ago
Daniel Grunwald
f6aae1f97d
Fix #1386 : MoveArrayToPointerToPinnedRegionInit: Only consider the pinned variable uses within the PinnedRegion
...
This also makes CleanUpTryFinallyAroundPinnedRegion() redundant as it is no longer necessary to trigger the array-to-pointer transform; so the normal elimination of pinned variable resets is sufficient.
7 years ago
Siegfried Pammer
e9cf52d1d5
Fix #1390 : Extension methods used in collection initializers were not converted correctly.
8 years ago
Siegfried Pammer
3d5b300602
Improve TransformArrayInitializers: allow default entries at the end of a dimension > 0.
8 years ago
Siegfried Pammer
37a8156dab
Fix #1383 : NRE in TransformArrayInitializers.
8 years ago
Siegfried Pammer
859872ba8c
Fix #1377 : Fix IndexOutOfRangeException in TransformArrayInitializers
8 years ago
Siegfried Pammer
eb873e65d0
Update InitializerTests after merge.
8 years ago
Siegfried Pammer
64686b9547
Fix #1336 : multi-dimensional array initializers with custom objects not detected.
8 years ago
Siegfried Pammer
cbd824b07e
Move array initializer tests from correctness to pretty tests, so that misdetections can be spotted.
8 years ago
Siegfried Pammer
640964cb0a
#1314 : do not use special constants, if literal is inside array initializer.
8 years ago
Siegfried Pammer
590558883e
Fix small regression in initializer tests.
8 years ago
Siegfried Pammer
77c1dbab8a
Fix #1345 : Do not construct object initializer, if property or field in access path is not writable.
8 years ago
Siegfried Pammer
6719dacabd
Fix #1279 : Event fields in object initializers
8 years ago
Siegfried Pammer
a9c1b9d515
Fix #1250 : Missing enum to int cast in object initializer
8 years ago
Siegfried Pammer
9e01b3b5e1
Add test case.
8 years ago
Siegfried Pammer
d04155132a
Use overload resolution to add only required casts to collection initializers.
8 years ago
Siegfried Pammer
cf8bee2c01
Fix translation of generic and extension 'Add' methods in collection initializers.
8 years ago
Siegfried Pammer
bd15d69ada
Add test cases for #1138
8 years ago
Siegfried Pammer
5dd7eaf129
Fix #1093 : Remove usage of type or this qualifiers, when possible.
8 years ago
Daniel Grunwald
3fae36dab9
Use mcs for correctness tests.
8 years ago
Siegfried Pammer
9689667515
Fix #1042 : Wrong decompile result for collection initializers
9 years ago
Siegfried Pammer
bacb293db8
Fix #971 : Anonymous method with missing parameter name
9 years ago
Siegfried Pammer
16c900ebfa
Remove sequential values from enum members + display powers of two (- 1) as hex.
9 years ago
Siegfried Pammer
23c7a8a46e
Fix #953 : Missing nullable specifier for array initializer
9 years ago
Siegfried Pammer
bec2f9da2b
Add event test case.
9 years ago
Siegfried Pammer
08dcead162
Fix false positive in struct initializers with default.value init
9 years ago
Siegfried Pammer
20d772ed65
Add more tests
9 years ago