Siegfried Pammer
9f77f8a919
Prevent inlining of call arguments when doing so would change order of evaluation with regards to the implicit ldobj performed by a constrained.callvirt.
1 year ago
Siegfried Pammer
d7d0f82418
Fix #3384 : add special case for null-literal conversions in optional argument handling.
1 year ago
Siegfried Pammer
c6e3752977
Fix #3089 : Add comment regarding .constraint prefix expressed as cast in C#
2 years ago
Siegfried Pammer
7b1f8a305c
Implemented support for string concatenation compound assignments involving ReadOnlySpan<char>.
2 years ago
Siegfried Pammer
1c71f6ad46
Support concatenation involving arguments of type ReadOnlySpan<char>.
2 years ago
Siegfried Pammer
9548a11d37
Use ILSpyHelper_AsRefReadOnly to ensure that overload resolution can pick the correct overload using 'in'.
2 years ago
Siegfried Pammer
03a20f3494
Support ILInlining for in parameters
2 years ago
Siegfried Pammer
e6004e5f26
Handle ReferenceKind.RefReadOnly in a few more cases
2 years ago
Siegfried Pammer
9d22e3ab41
NullableLiftingTransform: Undo new compiler optimization (omitting get_HasValue for comparisions with constants)
2 years ago
Siegfried Pammer
cf5f10067e
CallBuilder: Extract handling of interpolated string pattern into separate method.
2 years ago
Siegfried Pammer
4bf9487ecd
Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind.
2 years ago
Siegfried Pammer
eae54ddf24
Fix #3014 : Missing type information in lambda expressions.
3 years ago
Siegfried Pammer
0fc003459f
Fix #3079 : Replace parameter names that consist of only whitespace
3 years ago
Daniel Grunwald
9abc2b90da
Fix interaction of C# 11 nint==IntPtr with overload resolution.
...
In C# 11+.NET 7 mode, we now always use type nint, never IntPtr, so that overload resolution works as expected.
3 years ago
Siegfried Pammer
bde782e4f5
Fix #2806 : Do not use implicitly typed out variables, if argument and parameter types do not match exactly.
4 years ago
Standa Lukeš
6153f9cf35
Add test for indexer initializers
4 years ago
Siegfried Pammer
fbafc0289b
Fix #2741 : CallBuilder produces invalid invocation target when disambiguating calls to protected methods.
4 years ago
Siegfried Pammer
5078796b17
Add support for string format alignment.
4 years ago
Siegfried Pammer
6a27959cbc
Improve decompilation of delegate references of extension methods.
4 years ago
Siegfried Pammer
0bc11d05d3
Fix #2634 : target expressions of delegate references were not decompiled correctly
4 years ago
Siegfried Pammer
65f2c54166
Fix #2544 : do not transform to interpolated string, if the format string is not syntactically correct.
5 years ago
Siegfried Pammer
84101f804a
Fix #2444 : Ambiguous implicit conversions from null literals in decompiled code
5 years ago
Daniel Grunwald
ffed8ea2c8
#nullable enable for AstNode
5 years ago
Daniel Grunwald
514cf9b03b
Fix #1944 : Add support for implicit conversions with `in` parameters.
6 years ago
Siegfried Pammer
3a7c69e5b9
Fix #2192 : Add support for VB.NET delegate construction
6 years ago
Daniel Grunwald
d13a8bb64d
Support `ldftn` in the context of a function pointer.
6 years ago
Siegfried Pammer
04f9603768
Fix #2140 : ILSpy 6.2p1 no longer respects "use discards" setting
6 years ago
Siegfried Pammer
6d06abae1f
Fix OutOfRangeException in CallBuilder.CanInferTypeArgumentsFromArguments
6 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
6 years ago
Jesse Plamondon-Willard
1391e43d58
Add option to always qualify member references
6 years ago
Siegfried Pammer
a0d9410f67
Fix build.
6 years ago
Siegfried Pammer
05c988c5df
Revert "#2098: CallBuilder: Fix named argument handling in TI"
...
This partially reverts commit eea4b7701c .
6 years ago
Siegfried Pammer
eea4b7701c
#2098 : CallBuilder: Fix named argument handling in TI
6 years ago
Siegfried Pammer
18ace00266
Refactor LocalFunctionDeclarationStatement + LocalFunctionMethod
6 years ago
Siegfried Pammer
4f7ca65408
Fix #1913 : Make sure to declare local variables captured by local functions before the first invocation of the local function.
6 years ago
Daniel Grunwald
0dd75d6852
Add support for slicing using C# 8 ranges.
6 years ago
Daniel Grunwald
aed358b5a0
Use more precise ResolveResult, so that Range/Index operators are hyperlinked.
6 years ago
Daniel Grunwald
4846feb640
Add support for C# 8 range syntax.
...
This initial commit only handles the trivial case where an Index or Range object is constructed.
The TODO portions of the test case show there are plenty of cases where where the C# compiler emits more complex code patterns that will require ILAst transforms.
6 years ago
Siegfried Pammer
5be6be97df
Code review:
...
* rename a few identifiers,
* add comments,
* skip all compiler-generated type-arguments in resolve result,
* and change implementation of LocalFunctionMethod.Specialize: wrap specialized method and not the other way round.
7 years ago
Siegfried Pammer
9e89384916
Make NumberOfCompilerGeneratedGenerics immutable and rename to NumberOfCompilerGeneratedTypeParameters
7 years ago
SilverFox
5e6fecebf5
Rework support for generic local function, and fix tests `LocalFunctions.Generic.Test_CaptureT` and `LocalFunctions.Generic.TestGenericArgs`
7 years ago
SilverFox
f039705704
Add support for generic local function
7 years ago
Siegfried Pammer
645341b860
Fix #1741 : Use __ld(virt)ftn(...) pattern for accessor method group references.
7 years ago
Siegfried Pammer
3b0402b381
Fix assembly resolving and Tester for .NET Core 3.0
7 years ago
Daniel Grunwald
b45f21e714
#1675 : Fix converting static method to method group
7 years ago
Siegfried Pammer
9fff0438c0
Fix #1675 : Emit __ldftn/__ldvirtftn pseudo expressions, if delegate construction is not supported.
7 years ago
Daniel Grunwald
57b725df79
Fix #1655 : Incorrect pointer cast when calling method on integer constant
7 years ago
Siegfried Pammer
6526363cb3
#1349 : Fix exception in HandleDelegateConstruction, if the target of NewObj is not a delegate.
7 years ago
Siegfried Pammer
c148ba6609
Fix build.
7 years ago
Siegfried Pammer
1531302c8d
Fix #1611 : Always remove the initializedObj dummy expression in CallBuilder.BuildDictionaryInitializerExpression
7 years ago