31 Commits
Author SHA1 Message Date
Siegfried Pammer 2c419f68cf Fix #3322: Add missing checks for equality comparison 2025-02-14 20:27:41 +01:00
Siegfried Pammer ee160b4e2a #3075: Improve performance of CSharpResolver.LookupSimpleNameOrTypeName in cases with a large number of local variables. 2023-10-14 23:11:52 +02:00
Siegfried Pammer 5a3c6e0872 Remove some unused variable management methods in CSharpResolver. 2023-10-14 23:11:52 +02:00
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
Daniel Grunwald 3f09958922 Fix #2987: (nuint)(-3) is not a compile-time constant. 2023-05-29 21:50:26 +02:00
ElektroKill 1447038ce1 Fix #2736 2022-09-18 20:16:27 +02:00
Daniel Grunwald 9bbb944e97 Avoid crashing on invalid certain forms of invalid metadata (found in obfuscated assemblies) 2021-11-25 00:34:48 +01:00
Daniel Grunwald bbaddf84cc Fix #2424: Suppress the string==null special-case within the string class itself. 2021-06-03 16:34:09 +02:00
Daniel Grunwald c95da67cbe Fix extension method calls on this in. 2021-02-13 18:24:49 +01:00
Daniel Grunwald a26a25d689 Fix #2158: Remove PointerType support from CSharpResolver for additions/subtractions.
These have special semantics (number of elements in C# vs. number of bytes in IL), and so pointer arithmetic must go through the special HandlePointerArithmetic() code path --> the normal logic in HandleBinaryNumeric must not ever emit pointer arithmetic.
2020-09-12 15:44:48 +02:00
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 2020-08-28 01:05:38 +02:00
Daniel Grunwald dc3dd193c8 Support unary operators on native integers. 2020-07-13 23:38:16 +02:00
Daniel Grunwald 3a4db502bc Add support for arithmetic using C# 9 native integer types. 2020-07-12 23:29:06 +02:00
Siegfried Pammer 8925b4ff7b Inline variable declarations/modernize parts of our code base. 2020-04-16 11:22:18 +02:00
Siegfried Pammer e211b01595 Fix CA1507:UseNameofInPlaceOfString, adjust formatting of some older source files copied from NRefactory. 2019-11-04 20:40:21 +01:00
Siegfried Pammer 6e4db66b61 Fix CA1825:AvoidZeroLengthArrayAllocations, use Empty<T>.Array consistently. 2019-11-04 12:41:38 +01:00
Siegfried Pammer 9c1bf7fbdf Introduce ReferenceKind in IParameter and ByReferenceResolveResult. 2019-07-25 23:23:44 +02:00
Daniel Grunwald 9479e8af13 Support overloaded operator &&/||. 2018-07-23 23:14:56 +02: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 64547de4a0 foreach loops now use "var" if the element type is a tuple and can be inferred from the collection type.
Additionally, the tuple element names inferred from the collection type are now used when translating the foreach body.
2018-06-30 00:13:50 +02:00
Daniel Grunwald db47643a41 Interface implementations in TS 2018-06-27 23:02:24 +02:00
Daniel Grunwald fa2df4df26 Clean up type system interfaces. 2018-06-20 21:29:32 +02:00
Daniel Grunwald 926c7850ac Distinguish between unknown type and no type. 2018-05-28 17:38:53 +02: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 0524b4a353 Remove unused usings in solution; remove dead code; unify namespaces 2016-11-26 16:28:01 +01: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