1048 Commits (37f3d0b579c4b50b247637e6eaab62cf47b267a7)

Author SHA1 Message Date
Siegfried Pammer 37f3d0b579 Fix #3382: Support compiler-generated throw-helper invocations in switch-expression implicit default-case. 5 months ago
Siegfried Pammer 202c5e22e3 Fix #3383: more aggressively transform object initializers on structs 5 months ago
Siegfried Pammer 906d248403 Fix #3392: uses of init-setters must use object-initializer syntax. 5 months ago
Siegfried Pammer 7218a63a46 #3367: Extend range check to support negative integers. 6 months ago
Siegfried Pammer b9f50901a4 Fix #3367: Add extra validation to TransformDecimalCtorToConstant to prevent crashes with obfuscated assemblies. 6 months ago
Siegfried Pammer e1e2f739f6 Fix switch-on-string transform for optimized Roslyn. 7 months ago
Siegfried Pammer f66ccea9ef Fix #3296: Ensure unknown types are wrapped properly in "Convert Expression Tree" 10 months ago
Siegfried Pammer 966b99a7f9 Fix #3278: Missing variable declaration in nested for-loop after many other loops 10 months ago
Siegfried Pammer 58e993d71d Fix #3272: Missing variable declarations in repeated nested for-loops 11 months ago
Siegfried Pammer 2e7991eee3 TransformDisplayClassUsage: Fix #3233 by ignoring nullability annotations, when trying to find a variable to reuse/propagate. 1 year ago
Siegfried Pammer 2ca5b5affe Rewrite AssignVariableNames algorithm to use variable usages instead of the list of variables. 1 year ago
Siegfried Pammer c67d086e2f Add test cases for naming conflicts related to foreach, using and fixed variables. Remove unnecessary ConflictWithLocal check in AssignVariableNames. 1 year ago
Siegfried Pammer 3fb153940b AssignVariableNames: Handle fixed statement special cases 1 year ago
Daniel Grunwald aa914058ce Fix #3237: Use `ref readonly` locals for `readonly.ldelema` 1 year ago
Siegfried Pammer 7b1f8a305c Implemented support for string concatenation compound assignments involving ReadOnlySpan<char>. 1 year ago
Siegfried Pammer 1c71f6ad46 Support concatenation involving arguments of type ReadOnlySpan<char>. 1 year ago
Siegfried Pammer 03a20f3494 Support ILInlining for in parameters 1 year ago
Siegfried Pammer 28aa88bfb8 Make NullableLiftingTransform handle the case where ExpressionTransforms.VisitComp already lifted a nullable comparison with constant. 1 year ago
Siegfried Pammer 9d22e3ab41 NullableLiftingTransform: Undo new compiler optimization (omitting get_HasValue for comparisions with constants) 1 year ago
Siegfried Pammer 427fbcd8c0 Fix general using statement pattern 1 year ago
Siegfried Pammer dab256ceb0 Update stackalloc initializer patterns for Roslyn 4.10.0. 1 year ago
Siegfried Pammer a5ed5ec5cb Support types that provide DisposeAsync without implementing IAsyncDisposable. 1 year ago
Siegfried Pammer 4bf9487ecd Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind. 1 year ago
Daniel Grunwald d48df11133 Remove unused transforms: DecimalConstantTransform and ParameterNullCheckTransform 1 year ago
Siegfried Pammer 401cb77ae3 Fix #3189: Support primitive types in Expression.Constant(object) pattern. 1 year ago
Daniel Grunwald 38e7ab4373 Fix #3110: Add support for MCS 2.6.4 pinned region with array variable 1 year ago
Siegfried Pammer 969e3e546a Add support for switch on (ReadOnly)Span<char> using a compiler-generated hash function. 1 year ago
Siegfried Pammer 9ba47db69b Add new a.GetValueOrDefault(b) -> a ?? b transform for side-effect-free default values. 1 year ago
Siegfried Pammer ca78d4a14d Use MetadataFile instead of PEFile in TypeSystem. 1 year ago
Siegfried Pammer 566af5c2fb Fix #3113: Remove GetAlternativeName and instead reuse existing names, if there are no conflicts. 2 years ago
Daniel Grunwald d58576f409 Fix #3075: eliminate recursion in TopologicalSort and BlockTransform. 2 years ago
Siegfried Pammer d5cec0ab37 Fix #3103: unaligned.stobj cannot be transformed into inline assignment 2 years ago
Daniel Grunwald 5a5be026d0 Avoid reference count temporarily dropping to zero while ConditionDetection moves instructions to other blocks. 2 years ago
Siegfried Pammer 0a2037ae1f #3075: Avoid processing already-transformed blocks by introducing BlockTransformContext.IndexOfFirstAlreadyTransformedInstruction, which allows us to track already transformed instructions after a block has been merged into another by ConditionDetection. 2 years ago
Siegfried Pammer 9e168224dd Fix #3091: extension methods named "Add" were skipping some checks in AccessPathElement.IsMethodApplicable. 2 years ago
Siegfried Pammer 0fc003459f Fix #3079: Replace parameter names that consist of only whitespace 2 years ago
Siegfried Pammer 4ca9fddd6f Fix #3069: Reuse SwitchAnalysis instead of MatchIfElseOnCharBlock 2 years ago
Siegfried Pammer 70616b301c Implement support for C# 11 switch on (ReadOnly)Span<char>. 2 years ago
Siegfried Pammer e193b838da Move TransformDecimalCtorToConstant to EarlyExpressionTransforms 2 years ago
Siegfried Pammer 688474facd Add missing DecompilerSettings for new language features 2 years ago
Siegfried Pammer 8e63d92886 Add null and not null patterns for nullable value types 2 years ago
Siegfried Pammer 800067e488 Pattern Matching: Ensure that we always return a non-null instruction after successfully matching a pattern. 2 years ago
Siegfried Pammer cb62cac9d3 Add support for nullable int const patterns 2 years ago
Siegfried Pammer a93731ad3a Add support for nullable structs 2 years ago
Siegfried Pammer 1cb4e77f06 Refactor sub pattern detection into loop to allow continuations of outer patterns. 2 years ago
Siegfried Pammer 8cb3a67c0c Support recursive pattern for value types 2 years ago
Siegfried Pammer e475af7822 Support null check without type check in sub patterns. 2 years ago
Siegfried Pammer 51a8eb28f1 Add support for var sub patterns. 2 years ago
Siegfried Pammer 4e62fea07a Fix pattern matching with fields and value types. 2 years ago
Siegfried Pammer 65b4c928c0 Add support for simple constant patterns. 2 years ago