1553 Commits (5fab18f3a05400ba8ee52fed92d93d3897c01154)

Author SHA1 Message Date
ds5678 3a13d5a698 Allow explicit null termination character 11 months ago
Siegfried Pammer 38cdf6d50a Avoid transforming sub pattern of cpblk stackalloc initializer 11 months ago
Siegfried Pammer bd0fd8db1f Small refactorings: 11 months ago
ds5678 b0d6fa2276 Add support for array initialization based on RuntimeHelpers.CreateSpan<T> 11 months ago
Siegfried Pammer 5b90dbdabf Fix #3385: Allow address uses of structs in using transform, if the reference is passed to an in parameter. 11 months ago
Siegfried Pammer 202c5e22e3 Fix #3383: more aggressively transform object initializers on structs 11 months ago
Siegfried Pammer 906d248403 Fix #3392: uses of init-setters must use object-initializer syntax. 11 months ago
Siegfried Pammer 7218a63a46 #3367: Extend range check to support negative integers. 1 year ago
Siegfried Pammer b9f50901a4 Fix #3367: Add extra validation to TransformDecimalCtorToConstant to prevent crashes with obfuscated assemblies. 1 year ago
Siegfried Pammer e1e2f739f6 Fix switch-on-string transform for optimized Roslyn. 1 year ago
Siegfried Pammer f66ccea9ef Fix #3296: Ensure unknown types are wrapped properly in "Convert Expression Tree" 1 year ago
Siegfried Pammer 966b99a7f9 Fix #3278: Missing variable declaration in nested for-loop after many other loops 1 year ago
Siegfried Pammer 58e993d71d Fix #3272: Missing variable declarations in repeated nested for-loops 1 year ago
Siegfried Pammer 6cee0cdc4b Fix #3258: Move GraphVizGraph and friends to ILSpy and remove InternalsVisibleTo. 1 year 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
Daniel Grunwald 8e7e4ba856 Revert "Add support for C# 11 parameter null checks" 2 years ago
Siegfried Pammer c67d086e2f Add test cases for naming conflicts related to foreach, using and fixed variables. Remove unnecessary ConflictWithLocal check in AssignVariableNames. 2 years ago
Siegfried Pammer 3fb153940b AssignVariableNames: Handle fixed statement special cases 2 years ago
Daniel Grunwald aa914058ce Fix #3237: Use `ref readonly` locals for `readonly.ldelema` 2 years ago
Siegfried Pammer 7b1f8a305c Implemented support for string concatenation compound assignments involving ReadOnlySpan<char>. 2 years ago
Siegfried Pammer 1c71f6ad46 Support concatenation involving arguments of type ReadOnlySpan<char>. 2 years ago
Siegfried Pammer 03a20f3494 Support ILInlining for in parameters 2 years ago
Siegfried Pammer 28aa88bfb8 Make NullableLiftingTransform handle the case where ExpressionTransforms.VisitComp already lifted a nullable comparison with constant. 2 years ago
Siegfried Pammer 9d22e3ab41 NullableLiftingTransform: Undo new compiler optimization (omitting get_HasValue for comparisions with constants) 2 years ago
Siegfried Pammer 427fbcd8c0 Fix general using statement pattern 2 years ago
Siegfried Pammer dab256ceb0 Update stackalloc initializer patterns for Roslyn 4.10.0. 2 years ago
Siegfried Pammer a5ed5ec5cb Support types that provide DisposeAsync without implementing IAsyncDisposable. 2 years ago
Siegfried Pammer 5d36732fcf Remove ApplyPdbLocalTypeInfoTypeVisitor (merge it into ApplyAttributeTypeVisitor) 2 years ago
Siegfried Pammer 4bf9487ecd Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind. 2 years ago
Daniel Grunwald d48df11133 Remove unused transforms: DecimalConstantTransform and ParameterNullCheckTransform 2 years ago
Daniel Grunwald fa19470435 Fix #3218: Avoid exceptions when IL is invalid due to unexpected end-of-method-body. 2 years ago
Siegfried Pammer 401cb77ae3 Fix #3189: Support primitive types in Expression.Constant(object) pattern. 2 years ago
Daniel Grunwald 38e7ab4373 Fix #3110: Add support for MCS 2.6.4 pinned region with array variable 2 years ago
Siegfried Pammer 969e3e546a Add support for switch on (ReadOnly)Span<char> using a compiler-generated hash function. 2 years ago
Siegfried Pammer 9ba47db69b Add new a.GetValueOrDefault(b) -> a ?? b transform for side-effect-free default values. 2 years ago
Siegfried Pammer ca78d4a14d Use MetadataFile instead of PEFile in TypeSystem. 2 years ago
Siegfried Pammer 942131f487 #3068: Introduce MetadataFile for pure ECMA-335 streams and as base class for PEFile 2 years ago
ElektroKill 38019ad5bf
Introduce `PdbExtraTypeInfo` struct and adjusted `IDebugInfoProvider` 2 years ago
Siegfried Pammer 566af5c2fb Fix #3113: Remove GetAlternativeName and instead reuse existing names, if there are no conflicts. 2 years ago
ElektroKill 5b526cfeac
Read and use tuple element names and dynamic type information from PDBs 2 years ago
Daniel Grunwald c12187277c Also use GraphTraversal.DepthFirstSearch for dominance calculation. 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
Daniel Grunwald ea5adf8e01 Make `ILVariableEqualityComparer.GetHashCode` structurally more similar to the Equals implementation 2 years ago
Siegfried Pammer cef99dc140 #3075: Fix ILVariableEqualityComparer.GetHashCode 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
Daniel Grunwald d2d1c3326f Fix #3070 stack order on block reimport 2 years ago