Daniel Grunwald
113acd48c1
Improve decompiler behavior is System.ValueTuple exists in multiple referenced assemblies.
...
This can happen if an application is compiled for .NET 4.6.2 and references
System.ValueTuple.dll; but ILSpy loads the latest mscorlib (e.g. .NET 4.7)
which also contains struct System.ValueTuple.
7 years ago
Siegfried Pammer
343315d2b4
#1407 : Set CSharpInvocationResolveResult.IsDelegateInvocation = true, if the Invoke call was removed.
7 years ago
Siegfried Pammer
e9cf52d1d5
Fix #1390 : Extension methods used in collection initializers were not converted correctly.
7 years ago
Daniel Grunwald
72d755037b
Fix #1283 : handle invalid metadata when decoding constants
7 years ago
Siegfried Pammer
2c00afcccb
Fix CallBuilder.IsPrimitiveValueThatShouldBeNamedArgument
7 years ago
Daniel Grunwald
b455286ad3
Fix #1333 : Ensure we convert to the correct type when calling instance methods on value types
7 years ago
Daniel Grunwald
b307fc0a81
Fix VisitLdcI4 when HintType=bool.
7 years ago
Siegfried Pammer
982c71efb2
Fix implementation of CallBuilder.IsOptionalArgument by converting the ResolveResult to the parameter type.
7 years ago
Siegfried Pammer
44aa391a85
Fix bug in CallBuilder.
7 years ago
Siegfried Pammer
ee584f3260
Fix bug in string interpolation handling.
7 years ago
Siegfried Pammer
c9b74865fc
Fix #1281 : Fix CallBuilder: use expanded form only if overload resolution allows it.
7 years ago
Siegfried Pammer
a9c1b9d515
Fix #1250 : Missing enum to int cast in object initializer
8 years ago
Siegfried Pammer
0fc5c8b988
Add support for FormattableString patterns.
8 years ago
Siegfried Pammer
e2a62d92e6
Add missing assignment in CallBuilder
8 years ago
Siegfried Pammer
77f4edfba8
Clean up CallBuilder.
8 years ago
Siegfried Pammer
9aca25ae4d
Refactor CallBuilder to reduce code duplication.
8 years ago
Siegfried Pammer
c8921dfee6
Fix capacity and size of collections used in BuildArgumentList.
8 years ago
Siegfried Pammer
00a0850978
Refactor CallBuilder, add support for non-trailing named arguments
8 years ago
Siegfried Pammer
82dcc09acf
#1083 : Add support for optional arguments to constructors and refactor CallBuilder a bit.
8 years ago
Siegfried Pammer
1befc2cd62
#1083 : Add support for optional arguments in collection initializers.
8 years ago
Daniel Grunwald
9479e8af13
Support overloaded operator &&/||.
8 years ago
Siegfried Pammer
4776331277
Add DecompilerSettings.OptionalArguments
8 years ago
Siegfried Pammer
d40396a9d7
Fix tests and ignore Caller info attributes in IsOptionalArgument
8 years ago
Siegfried Pammer
f956e16f58
Add basic support for C# 4 optional arguments.
8 years ago
Daniel Grunwald
3b46776c5e
Rename IAssembly -> IModule.
...
While support for multi-module assemblies isn't fully working yet; it is clear at this point that we want
to treat each module in a multi-module assembly separately for the purposes of the type system.
8 years ago
Siegfried Pammer
19b4aa043c
Fix #1201 : Still getting error: "System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection."
8 years ago
Siegfried Pammer
069e4072de
Fix compile errors after merge.
8 years ago
Daniel Grunwald
db47643a41
Interface implementations in TS
8 years ago
Daniel Grunwald
da06a48851
Implement more of the new metadata TS.
8 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.
8 years ago
Siegfried Pammer
d04155132a
Use overload resolution to add only required casts to collection initializers.
8 years ago
Siegfried Pammer
a823d74004
Use overload resolution to ensure we call the correct indexer + added tests.
8 years ago
Siegfried Pammer
d8e8735ed0
CallBuilder: Extract overload resolution to its own method.
8 years ago
Siegfried Pammer
023282a50d
#1180 : Add IsWindowsFormsInitializeComponentMethod and disable some transforms when processing a Windows Forms InitializeComponent method.
8 years ago
Siegfried Pammer
f2c0f3e70d
Fix bug in CallBuilder.CastArguments: accidentally made *all* casts implicit, which should not happen.
8 years ago
Siegfried Pammer
669dc0ad59
Rewrite dynamic dispatch logic in CallBuilder
8 years ago
Siegfried Pammer
1c7d14dbbf
Add special case for dynamic types in constructor initializer (this/base) calls
8 years ago
Siegfried Pammer
4c2fa36233
Fix merge conflict
8 years ago
Siegfried Pammer
ae018846d6
Implement some dynamic instructions in ExpressionBuilder
8 years ago
Daniel Grunwald
810adea8b4
#1083 : Initial implementation of named arguments.
8 years ago
Daniel Grunwald
5cdd5ecdbc
Use target typing for tuples, where possible.
8 years ago
Daniel Grunwald
92b72c9570
Type system: add support for tuple conversions.
8 years ago
Daniel Grunwald
469501210c
Add support for C# 7 tuple types:
...
* Use tuple literals instead of calling 'new ValueTuple<..>' constructor
* Where available, use element names for field access
* Make CallBuilder aware of tuple-name/dynamic type erasure, to avoid introducing casts when the types differ only in the tuple element names.
* Make CallBuilder provide a ResolveResult with the correct C# return type for the resulting expression.
Previously we were using the type-erased return type from the IL.
* Fix a bug that caused us to introduce returning casts when accessing an indexer.
8 years ago
Daniel Grunwald
1df05e09e9
Fix base constructor calls.
8 years ago
Daniel Grunwald
d87820e226
Avoid redundant explicit boxing casts
8 years ago
Daniel Grunwald
80e191ae03
Fix missing 'base.' qualifier on non-virtual call to virtual base method.
8 years ago
Chicken-Bones
dc58a1b40c
Include "base." qualifier as needed ( fixes #1123 )
...
Adds BaseReferenceExpression to ThisReferenceExpression target required checks
8 years ago
Siegfried Pammer
61eead50c7
Fix TypeSystemLoaderTests
8 years ago
Siegfried Pammer
75527071ab
Fix redundant qualifiers in method group expressions.
8 years ago
Daniel Grunwald
bd9a7264e8
Fix incorrect resolve result in HandleDelegateConstruction when needsCast=true.
8 years ago