27 Commits
Author SHA1 Message Date
Daniel Grunwald 3c46271a11 Add support for unsigned right shift.
Only for user-defined operators so far; builtin right shifts still cast to the appropriate type.
2023-06-02 21:37:42 +02:00
Siegfried Pammer 583f661153 Work on #1204: Add optimized implementation of HasAttribute and GetAttribute to IEntity. 2022-08-24 12:05:09 +02:00
Daniel Grunwald 9a053d5e6c nullable enable for CSharpOperators.cs 2021-09-18 22:48:50 +02:00
Daniel Grunwald 5fb2f7a22f #nullable enable for ILAst (except for generated code) 2021-06-03 21:36:12 +02:00
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 2020-08-28 01:05:38 +02:00
Jane Doe d7fb32741b compilaton -> compilation 2019-10-13 07:52:53 -07: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 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 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 d78d423d10 Add tuple types to type system and syntax tree. 2018-05-13 00:48:20 +02:00
Siegfried Pammer 5d8ddeff0e Merge branch 'master' of github.com:icsharpcode/ILSpy into srm 2018-03-28 02:43:22 +02:00
Siegfried Pammer b500b24548 SRM WIP basic implementation of DecompilerTypeSystem 2018-03-18 20:02:37 +01: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 b5e8571382 [nullables] Support lifting calls to user-defined operators.
Not yet handled: op_Equality and op_Inequality.
2017-09-24 21:45:16 +02: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
Siegfried Pammer 5bedb80a78 Phase 1: merge parts of ICSharpCode.NRefactory.CSharp into ICSharpCode.Decompiler 2016-11-26 00:26:27 +01:00