Daniel Grunwald
ae2824af99
Fix #617 : Incorrect C# translation when `callvirt` is used to invoke base constructor
6 years ago
Daniel Grunwald
f7f657204e
Fix #1447 : Assertion on `numeric.compound.add.old(..., ldc.i8 1)`
6 years ago
Siegfried Pammer
d9fba190ce
Add missing documentation to Annotations.cs.
6 years ago
Siegfried Pammer
d83f6e6ec0
Remove unused code.
6 years ago
Siegfried Pammer
a23c192324
Add missing documentation in CSharpDecompiler.
6 years ago
Siegfried Pammer
b0309ca9e3
Fix #1180 : Fix generation of Windows Forms InitializeComponent.
6 years ago
Siegfried Pammer
859eb623b8
Fix #1439 : Add DecompilerSettings.UseLambdaSyntax
6 years ago
Siegfried Pammer
d42cf99a8c
Fix dynamic transforms because https://github.com/dotnet/roslyn/issues/27800 was fixed.
6 years ago
Daniel Grunwald
72508b5777
Add test for C# 8 nullable reference types; and fix some bugs.
6 years ago
Daniel Grunwald
3fac3c07a2
Upgrade Roslyn for tests to 3.0.0-beta3.
...
Remove the committed .il files: these were originally intended to prevent test failures due to differences in the C# compiler on the system.
But legacy csc stopped changing long ago; and roslyn is tested via NuGet package, so everyone is using the same version.
Interestingly enough, avoiding the roundtrip through ildasm/ilasm caused some test failures due to changes in the order of top-level types.
So I've started sorting the types by name to ensure consistency in the tests. This required adjusting some existing tests.
6 years ago
Daniel Grunwald
113acd48c1
Improve decompiler behavior is System.ValueTuple exists in multiple referenced assemblies.
...
This can happen if an application is compiled for .NET 4.6.2 and references
System.ValueTuple.dll; but ILSpy loads the latest mscorlib (e.g. .NET 4.7)
which also contains struct System.ValueTuple.
6 years ago
Siegfried Pammer
f05c1bb466
Fix build break; only escape _ if it is a type name. Add basic Discards tests.
6 years ago
Daniel Grunwald
d677ee6254
Escape identifier "_" to avoid ambiguities with discard patterns.
6 years ago
Daniel Grunwald
2f35374d7d
Support "where T : unmanaged" constraints.
6 years ago
Siegfried Pammer
27efe1b61c
Fix #1429 : Optimize ExpressionBuilder.TranslateArrayInitializer by applying optimizations suggested in #1202 .
6 years ago
Siegfried Pammer
5962d4675f
Add IL tests for basic isinst patterns. Undo change mentioned in 54ff546221 (commitcomment-32359757)
6 years ago
Siegfried Pammer
545be6d133
Fix CSharpDecompiler.SetNewModifier: follow rules stated in the language specification.
6 years ago
Siegfried Pammer
d9b7df637b
Apply expression-body transform to indexers as well.
6 years ago
Siegfried Pammer
d17fbd3d59
Add pattern matching support in ParameterDeclaration.
6 years ago
Siegfried Pammer
78cf5f0ec0
Add support for expression bodies to IndexerDeclaration.
6 years ago
Siegfried Pammer
54ff546221
Fix deactivated Generics pretty tests: remove redundant boxing conversion from is-expressions.
6 years ago
Siegfried Pammer
6f3230af48
Add ununsed CustomAttributes test.
...
Fix CalculatedGetterOnlyPropertyPattern for properties with attributes.
6 years ago
Daniel Grunwald
06cf9c1747
Avoid exceptions on IType->ArrayType or IType->ITypeParameter casts due to NullabilityAnnotatedType decorator.
6 years ago
Daniel Grunwald
bbbfe81c25
Nullability of type parameters "where T : class?"
6 years ago
Siegfried Pammer
c1fca21e8a
Make ILRange field private - introduce public API for IL range manipulation.
6 years ago
Daniel Grunwald
6a47826fe2
Add sequence point on closing brace if there's an implicit void return.
6 years ago
Daniel Grunwald
f9f9d57398
#1386 : Fix fixed-statement detection when fixed statement contains "return" and the method has multiple return statements.
6 years ago
Daniel Grunwald
2eafa0c695
Fix #1389 : Translation of "isinst" was incorrect for value types was causing an assertion.
6 years ago
Daniel Grunwald
976565264f
Don't use casts for implicit conversions to bool in conditional contexts.
6 years ago
Siegfried Pammer
b7fc830faa
Fix #1406 : Use IEnumerable<T> instead of IList<T> in CSharpDecompiler.Decompile and DecompileAsString.
6 years ago
Siegfried Pammer
b3b0cbf2b0
Fix build.
6 years ago
Siegfried Pammer
25765ee600
Fix #1359 : Support obfuscated names in treeview and search.
6 years ago
Siegfried Pammer
e075a5239c
Add ShowTypeParametersForUnboundTypes to TSAB.
6 years ago
Siegfried Pammer
0a4c1dfd41
TSAB: Fix exception in special constant handling in case minimal corlib is used.
6 years ago
Daniel Grunwald
47ca51a769
Clarify the meaning of ILVariable.Index
6 years ago
Daniel Grunwald
7a058f6262
First attempt at integrating C# nullable reference types into the type system.
6 years ago
Daniel Grunwald
ba8b453b36
Fix #1404 : local variables with init flag are not declared in the correct scope
7 years ago
Siegfried Pammer
53a2a2d64a
Do not indent query continuations.
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
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
04910a8eb4
TypeSystemAstBuilder: Do not create references to System.MathF, if PI or E are not defined.
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
e9cf52d1d5
Fix #1390 : Extension methods used in collection initializers were not converted correctly.
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
2413eef1ed
Do not use a fractional representation, if it has less than 6 significant digits.
7 years ago