Siegfried Pammer
cc19e9043e
Fix #603 : Single element arrays should not span multiple lines
...
Fix #1079 : CSharpFormattingOptions.AutoPropertyFormatting has no effect
5 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
5 years ago
Siegfried Pammer
b114734128
Add Mode.UnconstrainedType and implement TransformNullPropagationOnUnconstrainedGenericExpression using TryNullPropagation.
6 years ago
Siegfried Pammer
199d38b85a
Add more test cases
6 years ago
Siegfried Pammer
a7d1d8fad7
TransformNullPropagationOnUnconstrainedGenericExpression: handle pattern that uses leave instructions instead of stloc into a temporary.
6 years ago
Daniel Grunwald
d65b109fbc
Fix #1689 : Add support for null propagation on array access: `arr?[i]`
6 years ago
Daniel Grunwald
80cb24d180
Fix #1709 : NullPropagationTransform.IsGetter on generic types
6 years ago
Daniel Grunwald
0e0179edff
Improve NullPropagation (?.) when fields of value-type are involved.
6 years ago
Siegfried Pammer
d9b7df637b
Apply expression-body transform to indexers as well.
7 years ago
Daniel Grunwald
7ee686cb67
Allow splitting a variable even if it has its address taken and stored in a ref-local.
...
The currently implementation is somewhat minimal and only works in a very limited set of circumstances:
* the ref local is single-assignment
* the ref local is initialized directly with 'ldloca target; stloc ref_local',
not a derived pointer (e.g. 'ldloca target; ldflda F; stloc ref_local').
* all uses of the ref_local are immediately consuming the address
This improves variable splitting cases where the compiler re-uses a stack slot containing a reference,
e.g. in some cases of '?.' on Nullable<T>.
7 years ago
Daniel Grunwald
6886d2f753
Add support for ?. operator on dynamic.
8 years ago
Daniel Grunwald
dd92499ade
Add test case for named arguments.
8 years ago
Siegfried Pammer
5dd7eaf129
Fix #1093 : Remove usage of type or this qualifiers, when possible.
8 years ago
Siegfried Pammer
a957163aa3
Fix unit tests
8 years ago
Daniel Grunwald
4177e182fe
#1050 : Add support for ?. operator applied to ref-parameters, and other cases where the compiler uses a generated ref local for the ?. operator.
...
Still not supported: ?. operator applied to a ref to unconstrained generic type.
8 years ago
Daniel Grunwald
36035de5fa
Improve decompilation of ?. in generic code.
8 years ago
Daniel Grunwald
3c720b2030
Implement ?. operator when the result of the call is not used
...
For example: "if (x != null) x.M();" -> "x?.M();"
8 years ago
Daniel Grunwald
80a717c090
Fix some bugs in decompilation of ?. operator.
8 years ago
Daniel Grunwald
ca0fa55af8
Implement null propagation transform.
8 years ago
Daniel Grunwald
a8a852b742
Add instructions for modeling the "?." operator in the ILAst.
8 years ago