Siegfried Pammer
b4c376d195
Ignore document checksum and blob length in PdbGenerationTestRunner
7 years ago
Daniel Grunwald
6a47826fe2
Add sequence point on closing brace if there's an implicit void return.
7 years ago
Daniel Grunwald
763683748b
Emit debug info for display class locals, so that the debugger can show the values of captured variables.
7 years ago
Siegfried Pammer
84cf4ea6a1
Cleanup and fix ILRanges in DelegateConstruction.
7 years ago
Daniel Grunwald
9188a682e7
Add some steps to DelegateConstruction
7 years ago
Siegfried Pammer
25c757b7cd
Add first attempt at PdbGenerationTestRunner.
7 years ago
Daniel Grunwald
f6aae1f97d
Fix #1386 : MoveArrayToPointerToPinnedRegionInit: Only consider the pinned variable uses within the PinnedRegion
...
This also makes CleanUpTryFinallyAroundPinnedRegion() redundant as it is no longer necessary to trigger the array-to-pointer transform; so the normal elimination of pinned variable resets is sufficient.
7 years ago
Daniel Grunwald
f9f9d57398
#1386 : Fix fixed-statement detection when fixed statement contains "return" and the method has multiple return statements.
7 years ago
Daniel Grunwald
1ab11ba7ce
DetectPinnedRegions: also add debug step for failed CreatePinnedRegion() calls
7 years ago
Daniel Grunwald
2eafa0c695
Fix #1389 : Translation of "isinst" was incorrect for value types was causing an assertion.
7 years ago
Daniel Grunwald
976565264f
Don't use casts for implicit conversions to bool in conditional contexts.
7 years ago
Daniel Grunwald
bb3b50d1af
Allow recombining of captured variables.
7 years ago
Daniel Grunwald
da5693e605
Fix #1339 : fixed statement not decompiled correctly when pinned variable is reset in finally block
7 years ago
Siegfried Pammer
d9952a7e10
#1388 : Fix ArgumentOutOfRangeException in AsyncAwaitDecompiler.AnalyzeAwaitBlock.
7 years ago
Siegfried Pammer
b7fc830faa
Fix #1406 : Use IEnumerable<T> instead of IList<T> in CSharpDecompiler.Decompile and DecompileAsString.
7 years ago
Siegfried Pammer
b3b0cbf2b0
Fix build.
7 years ago
Siegfried Pammer
25765ee600
Fix #1359 : Support obfuscated names in treeview and search.
7 years ago
Daniel Grunwald
66197818b9
Fix LocalScope.VariableList for empty scopes.
7 years ago
Siegfried Pammer
e075a5239c
Add ShowTypeParametersForUnboundTypes to TSAB.
7 years ago
Siegfried Pammer
0a4c1dfd41
TSAB: Fix exception in special constant handling in case minimal corlib is used.
7 years ago
Siegfried Pammer
fd70d25e95
Small fixes in ScopesGenerator.
7 years ago
Daniel Grunwald
47ca51a769
Clarify the meaning of ILVariable.Index
7 years ago
Daniel Grunwald
166b7def24
Fix NRE in ApplyAttributeTypeVisitor.VisitTypeDefinition()
7 years ago
Daniel Grunwald
7a058f6262
First attempt at integrating C# nullable reference types into the type system.
7 years ago
Daniel Grunwald
ba8b453b36
Fix #1404 : local variables with init flag are not declared in the correct scope
7 years ago
Siegfried Pammer
40bbb24675
CombineExitsTransform: Remove unnecessary checks, add both ILRanges to combinedLeave instruction.
7 years ago
Siegfried Pammer
53a2a2d64a
Do not indent query continuations.
7 years ago
Christoph Wille
29e05778c6
See #1416 . Also upgraded Cecil to .3 (from .1)
7 years ago
Siegfried Pammer
c23522dca1
Add BAML decompiler engine from dnSpy.
7 years ago
Siegfried Pammer
ee151eb706
#1407 : Set CSharpInvocationResolveResult.IsExtensionMethodInvocation flag after extension methods transform.
7 years ago
Siegfried Pammer
343315d2b4
#1407 : Set CSharpInvocationResolveResult.IsDelegateInvocation = true, if the Invoke call was removed.
7 years ago
Siegfried Pammer
d22e2ac677
Add header and comments describing transformation.
...
Add missing ILRanges.
7 years ago
Siegfried Pammer
9d19b33ec0
Fix #1394 : Fields marked 'specialname' are excluded from the type system
7 years ago
Siegfried Pammer
deeb603fd7
Fix #1395 : do-while loop missing entry-point label.
7 years ago
Siegfried Pammer
af4dd6e9e3
Fix DecompilerTypeSystem: struct is never null.
7 years ago
Siegfried Pammer
04910a8eb4
TypeSystemAstBuilder: Do not create references to System.MathF, if PI or E are not defined.
7 years ago
Siegfried Pammer
ecde53969c
Add IsInConstructorInitializer case to ILInlining.OptionsForBlock.
7 years ago
Siegfried Pammer
99fc57c6be
CachedDelegateInitialization: Do not lose IL range by creating a new store instruction, reuse existing instruction instead.
7 years ago
Siegfried Pammer
91ee034fb7
Fix indentation of query expressions.
7 years ago
Siegfried Pammer
1d2cd930de
Add LetIdentifierAnnotation to allow linking of let variables.
7 years ago
Siegfried Pammer
238b5ac092
Fix CombineExitsTransform
7 years ago
Siegfried Pammer
e9cf52d1d5
Fix #1390 : Extension methods used in collection initializers were not converted correctly.
7 years ago
Siegfried Pammer
17d19cd04a
Fix #1379 : Missing ILRange from yield return FSM.
7 years ago
Siegfried Pammer
3d5b300602
Improve TransformArrayInitializers: allow default entries at the end of a dimension > 0.
7 years ago
Siegfried Pammer
46b56f8482
Fix #1382 : Do not reuse index instructions in TransformArrayInitializers
7 years ago
Siegfried Pammer
37a8156dab
Fix #1383 : NRE in TransformArrayInitializers.
7 years ago
Siegfried Pammer
17f42066a0
Fix #1378 : Missing unsafe modifier for static fields
7 years ago
Siegfried Pammer
9487d0a714
Make pattern in TryRemoveTransparentIdentifier more flexible. Allow multiple let expressions per anonymous type declaration.
7 years ago
Siegfried Pammer
32cec2a1fb
Fix traversal bug in DecompileQueries: expressions with independent sub-expressions like conditional-expressions, binary operators or parameter lists were not handled correctly.
7 years ago
Siegfried Pammer
008a3c71e5
DelegateConstruction:
...
- add support for unknown delegate construction pattern. The method is compiler-generated, but has no compiler-generated name, we should be able to infer lambda usage from anonymous types used in the signature (i. e., the method can only be used as lambda, because that's where type names are optional).
- Add CombineExitsTransform in DelegateConstruction: this allows combining lambdas with multiple return statements into a single expression (as it is expected by query expressions).
7 years ago