13 Commits
Author SHA1 Message Date
Siegfried Pammer 6766ad0c59 #2823: Introduce IType.GetDefinitionOrUnknown() to allow better detection of async state-machines involving unknown types. 2022-11-02 08:00:00 +01:00
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 2020-08-28 01:05:38 +02:00
Siegfried Pammer 7f4653c274 Add support for tuple deconstruction 2020-08-16 14:36:53 +02:00
Daniel Grunwald 5d337aa655 TypeInference: add support for nullability annotated types 2019-09-29 16:12:39 +02:00
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.
2019-02-24 19:24:21 +01:00
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.
2018-07-13 22:20:49 +02:00
Daniel Grunwald 0be9e84f1b Use resolved TS in member filter predicates.
This was the last place where the public API of the resolved TS was referencing the unresolved TS.
We could now implement the resolved TS directly using SRM, and remove the whole unresolved TS layer.
2018-06-23 21:33:04 +02:00
Daniel Grunwald 4e654cff38 Merge branch 'master' into srm 2018-06-02 10:58:23 +02:00
Daniel Grunwald 92b72c9570 Type system: add support for tuple conversions. 2018-05-14 22:33:10 +02:00
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.
2018-05-13 18:16:35 +02:00
Daniel Grunwald 395bc185a3 Decompile TupleElementNamesAttribute into tuple type syntax. 2018-05-13 12:32:49 +02:00
Daniel Grunwald d78d423d10 Add tuple types to type system and syntax tree. 2018-05-13 00:48:20 +02:00
Daniel Grunwald 7757d98672 Remove unused IProjectContent+ISolutionSnapshot from type system. 2018-05-12 22:23:45 +02:00