29 Commits
Author SHA1 Message Date
Siegfried Pammer 583f661153 Work on #1204: Add optimized implementation of HasAttribute and GetAttribute to IEntity. 2022-08-24 12:05:09 +02:00
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 2020-08-28 01:05:38 +02:00
Daniel Grunwald d388319cba Add support for C# 9 init accessors. 2020-07-28 22:24:46 +02:00
Daniel Grunwald ae32913aca Add IMethod.ThisIsRefReadOnly 2019-09-28 19:13:20 +02:00
Siegfried Pammer 6234ff7c9a Apply changes as requested per code review. 2019-07-20 08:11:23 +02:00
Siegfried Pammer 37e14f43e3 Refactor/Clean up local functions representation in type system. 2019-07-18 20:51:24 +02:00
Daniel Grunwald 8d99af14c5 Add support for 'ref readonly' return type. 2019-03-27 00:37:59 +01:00
Daniel Grunwald a5505ab00d Expose IMethod.AccessorKind. This makes it easier to determine if a method is a setter, particular in generic classes where "m.AccessorOwner?.Setter == m" ended up being wrong. 2019-03-16 00:42:36 +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 4ec0028356 Don't cache attributes in the type system. 2018-07-01 16:53:57 +02:00
Daniel Grunwald 97fc614db5 Remove unimplemented IMember.IsShadowing and IField.IsFixed. 2018-06-28 22:31:55 +02:00
Daniel Grunwald db47643a41 Interface implementations in TS 2018-06-27 23:02:24 +02:00
Daniel Grunwald da06a48851 Implement more of the new metadata TS. 2018-06-25 23:48: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 802f6e54fd Refactor DecompilerTypeSystem.ResolveMethod(). 2018-06-23 20:17:48 +02:00
Daniel Grunwald fa2df4df26 Clean up type system interfaces. 2018-06-20 21:29:32 +02:00
Daniel Grunwald 4e654cff38 Merge branch 'master' into srm 2018-06-02 10:58:23 +02:00
Daniel Grunwald 810adea8b4 #1083: Initial implementation of named arguments. 2018-06-01 15:56:17 +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
Siegfried Pammer 5d8ddeff0e Merge branch 'master' of github.com:icsharpcode/ILSpy into srm 2018-03-28 02:43:22 +02:00
Daniel Grunwald 4c45a41fdb Remove more dead TypeSystem code: ISymbolReference 2018-03-18 18:59:02 +01:00
Siegfried Pammer 57cf98cf11 Merge branch 'master' of github.com:icsharpcode/ILSpy into srm
# Conflicts:
#	ICSharpCode.Decompiler/Disassembler/ReflectionDisassembler.cs
#	ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj
#	ICSharpCode.Decompiler/TypeSystem/CecilLoader.cs
#	ICSharpCode.Decompiler/TypeSystem/DecompilerTypeSystem.cs
#	ILSpy/Languages/CSharpLanguage.cs
#	ILSpy/Languages/Language.cs
#	ILSpy/LoadedAssembly.cs
#	ILSpy/SearchStrategies.cs
2018-03-17 22:29:11 +01:00
Daniel Grunwald bd85b7644b Add MetadataToken property to type system. 2018-03-17 15:10:50 +01:00
Daniel Grunwald da6b371dd3 Remove some dead code in the type system. 2018-03-09 22:47:37 +01:00
Daniel Grunwald 4d00c65608 Use IReadOnlyList<T> instead of IList<T> in the resolved type system. 2018-03-09 00:04:20 +01:00
Daniel Grunwald 1bcc255004 Remove a bunch of obsolete NRefactory code. 2017-09-04 20:49:45 +02:00
Siegfried Pammer 840ec04fde Namespace adjustments for Syntax classes 2016-11-26 12:06:58 +01:00
Christoph Wille 1ce8349dd9 Adjust namespaces 2016-11-26 11:12:53 +01:00
Daniel Grunwald 5bcd6142de Fix undocumented expressions 2016-06-19 17:34:17 +02:00