71 Commits (ca0adee72f9fc03e68555590d255ee9ac21453b7)

Author SHA1 Message Date
Siegfried Pammer 03aecf047d Add VariableScope and rework AssignVariableNames step to support renaming parameters of nested ILFunctions in the future. 10 months ago
ElektroKill b110d5c2dc
Implement support for Visual Basic yield return state machines 3 years ago
Daniel Grunwald 0414e7f8e9 Fix potential NRE in ILFunction.RegisterVariable() 5 years ago
Daniel Grunwald 5fb2f7a22f #nullable enable for ILAst (except for generated code) 5 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Daniel Grunwald b6b5f1e8e6 #2092: ILFunction.Parameters / ILFunction.ReturnType should never be null. 5 years ago
Daniel Grunwald e0fd0bba32 Allow inlining constants into expression trees. 6 years ago
Siegfried Pammer bcd7219535 Adjust CapturedVariables collection in ReplaceDelegateTargetVisitor and in TransformExpressionTrees 6 years ago
Siegfried Pammer 4f7ca65408 Fix #1913: Make sure to declare local variables captured by local functions before the first invocation of the local function. 6 years ago
Jackson Davis 6ab1f98fa3 Expand the range of sequence points out the closest empty ilstack 6 years ago
Siegfried Pammer 5e6479a5fa Fix #1636: Remove assertion that delegates/expression trees must not be top-level expressions. 6 years ago
Daniel Grunwald c56714c607 Fix assertion with async lambdas; fix async local functions. 7 years ago
Siegfried Pammer 37e14f43e3 Refactor/Clean up local functions representation in type system. 7 years ago
Daniel Grunwald b32cae412a Eliminate BlockKind.PostfixOperator. 7 years ago
Siegfried Pammer 6f98ed5415 Fix unit tests. 7 years ago
Siegfried Pammer 305b47245e Refactor representation of local functions in ILAst. 7 years ago
Siegfried Pammer b42d4963e7 Fix assertions in TransformExpressionTrees. 7 years ago
Siegfried Pammer 8d1522f387 Transform display classes used in local functions. 7 years ago
Siegfried Pammer bd77b8301f Basic implementation of local functions. 7 years ago
Siegfried Pammer b03aa488aa Performance: Cache ChainedConstructorCallILOffset in ILFunction to avoid having to scan the method body in every inlining step. Take a shortcut for static ctors, as there cannot be chained ctor calls in static ctors. 7 years ago
Daniel Grunwald 40b6f0c7bf Use appropriate type for helper variables introduced for named arguments. 7 years ago
Siegfried Pammer c1fca21e8a Make ILRange field private - introduce public API for IL range manipulation. 7 years ago
Daniel Grunwald f1c8142ce2 PDB generator now can emit "method stepping information" for async functions. 7 years ago
Daniel Grunwald 47ca51a769 Clarify the meaning of ILVariable.Index 7 years ago
Daniel Grunwald 107fe5eb1c Eliminate SpecializingDecompilerTypeSystem and use GenericContext instead. 8 years ago
Siegfried Pammer 4540b93e19 Use ArgumentOutOfRangeException or BadImageFormatException in switch-default sections. 8 years ago
Siegfried Pammer 89544864bf Provide better exceptions and messages in case of errors. 8 years ago
Siegfried Pammer adca1f8867 Port ILFunction and SequencePointBuilder 8 years ago
Daniel Grunwald 4d00c65608 Use IReadOnlyList<T> instead of IList<T> in the resolved type system. 8 years ago
Daniel Grunwald 0a1921ff67 Fix #1007: post-increment transform incorrect due to variable splitting. 8 years ago
Siegfried Pammer 25eecb90e1 Rename ExpressionTreeType to DelegateType and use ILFunction.DelegateType instead of the NewObj(LdNull, ILFunction) pattern in DelegateConstruction and ExpressionTrees 8 years ago
Siegfried Pammer 049cff2324 Add unit tests, directly use ILFunction instead of NewObj(ILFunction) for expression trees. 8 years ago
Siegfried Pammer 29a2d3ec34 Refactoring of ILFunction: allow Method and CecilMethod to be null for expression trees. 8 years ago
Daniel Grunwald d2b6651507 ILAst: show unused IL ranges 8 years ago
Siegfried Pammer 81e6f0c9bb Improve ILRange output in ILAst 8 years ago
Daniel Grunwald 236c7c28b4 Remove redundant lambda casts. 8 years ago
Siegfried Pammer 4f7a479320 Add ILAstWritingOptions parameter to LockInstruction/UsingInstruction.WriteTo, fix merge errors. 8 years ago
Siegfried Pammer 3c9a0d8a41 Ad #866: No longer use Debug.Assert, but add warnings to AST. 8 years ago
Siegfried Pammer fa25b5d2e8 Implement foreach loop detection in StatementBuilder. 8 years ago
Daniel Grunwald 66d1b744c3 Add ILAstWritingOptions parameter to ILInstruction.WriteTo(). 8 years ago
Daniel Grunwald d550390f4d Initial support for yield-return decompilation in assemblies compiled with the mono compiler. 8 years ago
Siegfried Pammer ed6a2db37c Add VariableKind.InitializerTarget to separate stack slots should be renamed from purely generated helper variables in initializer blocks. 8 years ago
Daniel Grunwald b36ae9df7e Start on new async/await decompiler. 8 years ago
Siegfried Pammer 074aa45acf Add HasGeneratedName flag 8 years ago
Siegfried Pammer 66394b4e52 Remove ILFunction.Read; Add AssignVariableNames 8 years ago
Daniel Grunwald 4c77022988 Improve decompiler performance. 8 years ago
Daniel Grunwald 7277de6c08 More fixes for yield return decompilation. 8 years ago
Daniel Grunwald fe84ea9730 WIP: yield return decompiler 9 years ago
Siegfried Pammer 0970b95d5f Rename ILVariable.Scope to Function and introduce BlockContainer CaptureScope 9 years ago
Daniel Grunwald 6343ab7c15 Improve debug UI 9 years ago