46 Commits
Author SHA1 Message Date
Siegfried Pammer 65b4c928c0 Add support for simple constant patterns. 2023-08-04 16:48:02 +02:00
Siegfried Pammer f7343c75d0 Add support for simple recursive patterns where the sub pattern is a simple type pattern. 2023-08-04 16:28:13 +02:00
Daniel Grunwald 8b9ba20847 Builtin unsigned right shift operator. 2023-06-03 13:26:09 +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 f568123704 Add support for UTF8 string literals 2023-05-30 11:20:20 +02:00
Daniel Grunwald 21c3ec046f Output attributes on lambda expressions 2022-07-16 10:30:02 +02:00
Siegfried Pammer 5078796b17 Add support for string format alignment. 2022-07-13 14:14:09 +02:00
Siegfried Pammer c641072685 Translate MatchInstruction to BinaryOperatorExpression with BinaryOperatorType.IsPattern. 2021-07-18 20:57:33 +02:00
Daniel Grunwald ffed8ea2c8 #nullable enable for AstNode 2021-06-05 18:48:41 +02:00
Siegfried Pammer 3df82cf33b Add support for 'with' expressions 2021-01-03 20:55:25 +01:00
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 2020-08-28 01:05:38 +02:00
Siegfried Pammer c9f5e5dd33 Refactor ForeachStatement to support deconstruction 2020-08-16 20:35:53 +02:00
Siegfried Pammer 3080ca0768 Merge branch 'master' of https://github.com/icsharpcode/ILSpy into deconstruction-pattern-matching-foundation 2020-08-15 11:19:03 +02:00
Daniel Grunwald abb9d49a0f Add support for C# 8 switch expressions. 2020-08-02 11:57:33 +02:00
Siegfried Pammer 95f2ae7aef Add ILAst base for Deconstruction and Pattern Matching 2020-07-18 18:38:54 +02:00
Siegfried Pammer 3dc75b9366 Add additional C# AST nodes used for deconstruction. 2020-07-18 18:37:41 +02:00
Daniel Grunwald 4846feb640 Add support for C# 8 range syntax.
This initial commit only handles the trivial case where an Index or Range object is constructed.
The TODO portions of the test case show there are plenty of cases where where the C# compiler emits more complex code patterns that will require ILAst transforms.
2020-04-19 04:03:06 +02:00
Daniel Grunwald 9e82b95373 Fix hexadecimal format of flags enum member initializers. 2020-02-14 23:48:26 +01:00
Daniel Grunwald a7446cfddf #1922: Refactor PrimitiveExpression to store the literal format in the AST 2020-02-14 23:40:53 +01: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
Daniel Grunwald ccdabf2325 Fix a bunch of XmlDoc compiler warnings. 2019-07-17 19:15:43 +02:00
Daniel Grunwald 7a058f6262 First attempt at integrating C# nullable reference types into the type system. 2019-02-14 21:00:07 +01:00
Daniel Grunwald 72d755037b Fix #1283: handle invalid metadata when decoding constants 2018-12-21 16:45:56 +01:00
Siegfried Pammer b58c356222 Extend StackAllocExpression: Add support for initializers. 2018-08-04 21:50:31 +02:00
Siegfried Pammer 9578bed0ed Add 'in' to DirectionExpression. 2018-07-30 10:28:20 +02:00
Daniel Grunwald 4e8ebbf7f4 Fix #1189: Avoid crashing on invalid IL bytes. 2018-07-16 23:11:19 +02:00
Siegfried Pammer 904aa5269e Fix various bugs in ExpressionBuilder.VisitDynamic* + refactor DynamicInstructions a bit 2018-06-09 22:56:00 +02:00
Daniel Grunwald 02dde92bcb Improve use of dynamic expressions in conditional context:
Let "operator true" be invoked implicitly where possible.
2018-06-01 21:37:30 +02:00
Siegfried Pammer 273a1c24ff Add dynamic compound assignment transforms 2018-06-01 20:15:03 +02:00
Daniel Grunwald d78d423d10 Add tuple types to type system and syntax tree. 2018-05-13 00:48:20 +02:00
Siegfried Pammer 72917b0bde Fix folding bug with string interpolation 2018-03-04 22:16:35 +01:00
Daniel Grunwald 19e840856f Use out variable declarations where possible. 2018-03-04 17:05:37 +01:00
Siegfried Pammer c382989904 Add expression body syntax for getter-only properties. 2018-03-03 22:48:25 +01:00
Siegfried Pammer 0ffc747acf Fix #1059: String "interpolation", invalid cast when emitting "IL with C#" 2018-02-24 19:35:26 +01:00
Daniel Grunwald b2d30dc615 Merge remote-tracking branch 'origin/null-propagation' 2018-02-04 20:43:05 +01:00
Daniel Grunwald ca0fa55af8 Implement null propagation transform. 2018-01-12 20:27:49 +01:00
Daniel Grunwald a8a852b742 Add instructions for modeling the "?." operator in the ILAst. 2018-01-12 12:59:28 +01:00
Siegfried Pammer bcb9cca39b StringInterpolation: basic implementation in AST 2017-12-16 13:11:53 +01:00
Siegfried Pammer 9871984991 Fix end location of PrimitiveExpression 2017-10-14 13:34:25 +02:00
Daniel Grunwald 1bcc255004 Remove a bunch of obsolete NRefactory code. 2017-09-04 20:49:45 +02:00
Siegfried Pammer 870705c999 Add C# 7 ThrowExpression 2017-09-03 01:36:09 +02:00
Siegfried Pammer a393648671 Add OutVarDeclarationExpression 2017-09-02 14:40:59 +02:00
Siegfried Pammer 610f0a922f Remove AST-helper-methods 2016-12-21 00:06:46 +01:00
Siegfried Pammer 88887b7c41 remove NR.Editor namespace 2016-11-26 12:14:10 +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