446 Commits (master)

Author SHA1 Message Date
Siegfried Pammer 4a6dcd8d68 Match the VB On Error catch filter exactly 16 hours ago
Daniel Grunwald cea8ff2dbb Use type `bool` for `logic.and`/`logic.or`. 3 days ago
Daniel Grunwald c760a1d622 Fix "Remove redundant comp(... != 0)" to avoid changing the value 3 days ago
Siegfried Pammer 3a3a79e88f Let an array initializer block evaluate to a Span<T> 2 weeks ago
Daniel Grunwald 790f4f60ee Second round of fixes. 2 weeks ago
Daniel Grunwald 4b040c1bb2 First round of bugfixes. 2 weeks ago
Daniel Grunwald 60efa214b9 NullCoalescingInstruction: use a more detailed invariant. 2 weeks ago
Daniel Grunwald c4e181505c Prepare for a split of StackType.O into StackType.Obj and StackType.VT: the easy cases 2 weeks ago
Siegfried Pammer 9aa3911f3a Remove definition-chasing pointer recovery in DeconstructInstruction.IsAssignment 2 weeks ago
Daniel Grunwald 8fa1fd76dc Relax SwitchInstruction invariant: throw-expression branches don't need to agree in the type. 2 weeks ago
Daniel Grunwald 76f67f3fca Add DetectImprovedTypeForForBitOp as a transform step. 2 weeks ago
Daniel Grunwald 530a214b21 Relax NullCoalescingInstruction invariant. 2 weeks ago
Daniel Grunwald 5526400b17 Extend InferType() to every ILInstruction 2 weeks ago
Daniel Grunwald cf4dba7015 Always pass the type system into InferType(). 2 weeks ago
Daniel Grunwald 123da4deeb #nullable enable for TransformAssignment. 2 weeks ago
Siegfried Pammer cd212ea05f Pass the compilation to ILInstruction.CheckInvariant 2 weeks ago
Siegfried Pammer 8ab3f93f5e Fix #3704: keep the static type of a dynamic call target 3 weeks ago
Siegfried Pammer 44116503d9 Take the halted function from the stepper 3 weeks ago
Daniel Grunwald 59d8ae904b Fix tests on Windows with legacy csc. 4 weeks ago
Daniel Grunwald e530b1c1b6 Avoid `allowImplicitConversion: true` for `await` expressions -- there's no target type that the C# compiler could convert to. 4 weeks ago
Christoph Wille e475e26443 Make ThisResolveResult an ILVariableResolveResult of the this parameter 1 month ago
Siegfried Pammer 2a82b592b2 Support deconstruction into pointer targets 1 month ago
Christoph Wille c8474419c4 Redesign DecompilerEventSource with Start/Stop tracing and keyword gating 2 months ago
Siegfried Pammer 07d5a01d2b Add license headers to source files that lacked them 2 months ago
Siegfried Pammer 468e3da92c Bracket ILAst WriteTo in one place via WriteToCore 3 months ago
Siegfried Pammer 04505bbdf2 Highlight and scroll to the changed instruction in the ILAst view 3 months ago
Siegfried Pammer 1cc8a62f95 Delete TokenRole; carry token text as constants 3 months ago
Siegfried Pammer 63757ead3b Fix #3382: Support compiler-generated throw-helper invocations in switch-expression implicit default-case. 3 months ago
Siegfried Pammer a541fc0ddf Fix CS9336 precedence bug in CompoundAssignmentInstruction. 4 months ago
Siegfried Pammer fae6f57b1c Fix #3671: TransformCollectionAndObjectInitializers mistakenly included trailing variable initialization. 6 months ago
Siegfried Pammer 77d9ee73e9 Fix IDE2000 globally 9 months ago
Peter Crabtree e1e16b64f5 dev: Strip BOM mark from text files 1 year ago
Daniel Grunwald ec58d57875 #3465: Fix bugs in `comp.o` handling. 1 year ago
Daniel Grunwald f826037acc Protect IsInst against multi-step inlining -- we can only allow `Box` as the top-level argument, not anywhere within the argument tree. 1 year ago
Daniel Grunwald dd4bf7d8a4 Fix #3518 by replacing `FixLoneIsInst` with an inlining restriction. 1 year ago
Siegfried Pammer 6c00c138eb Fix #3465: Translate comp.o(a op b) if op not in (==, !=) into Unsafe.As<object, UIntPtr>(ref a) op Unsafe.As<object, UIntPtr>(ref b) 1 year ago
Siegfried Pammer 2461f520ab Move LocalFunctionDecompiler.GetStatement to Block.GetContainingStatement 1 year ago
Daniel Grunwald 7fc9025500 Fix nullability of Extract return type 1 year ago
Siegfried Pammer 6c72d1c5f0 Add transform to remove unconstrained generic reference type check. 1 year ago
Siegfried Pammer 9f77f8a919 Prevent inlining of call arguments when doing so would change order of evaluation with regards to the implicit ldobj performed by a constrained.callvirt. 1 year ago
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 2 years ago
Siegfried Pammer 4bf9487ecd Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind. 2 years ago
Daniel Grunwald c12187277c Also use GraphTraversal.DepthFirstSearch for dominance calculation. 3 years ago
Daniel Grunwald d58576f409 Fix #3075: eliminate recursion in TopologicalSort and BlockTransform. 3 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. 3 years ago
Siegfried Pammer 70616b301c Implement support for C# 11 switch on (ReadOnly)Span<char>. 3 years ago
Siegfried Pammer bf96482d56 Support decimal constants in pattern matching 3 years ago
Siegfried Pammer 688474facd Add missing DecompilerSettings for new language features 3 years ago
Siegfried Pammer cb62cac9d3 Add support for nullable int const patterns 3 years ago
Siegfried Pammer e475af7822 Support null check without type check in sub patterns. 3 years ago