Siegfried Pammer
|
fd1de09489
|
Avoid using operator + for string concatenation when ref-like types are involved.
|
1 year ago |
Siegfried Pammer
|
9d22e3ab41
|
NullableLiftingTransform: Undo new compiler optimization (omitting get_HasValue for comparisions with constants)
|
1 year ago |
Siegfried Pammer
|
02d2a8c1f8
|
Add metadata processing for C# 12 'ref readonly' parameters
|
1 year ago |
Siegfried Pammer
|
4bf9487ecd
|
Remove IsRef, IsOut and IsIn flags from IParameter and Replace ParameterModifiers with ReferenceKind.
|
1 year ago |
Daniel Grunwald
|
d48df11133
|
Remove unused transforms: DecimalConstantTransform and ParameterNullCheckTransform
|
1 year ago |
Siegfried Pammer
|
6c08851cb0
|
#3209: Only add imports for extension methods.
|
2 years ago |
Siegfried Pammer
|
972354913e
|
Fix #3209: Ensure using directives are added for extension methods in higher level patterns such as: foreach -> GetEnumerator(), collection initializer -> Add() and deconstruction -> Deconstruct().
|
2 years ago |
Siegfried Pammer
|
ca78d4a14d
|
Use MetadataFile instead of PEFile in TypeSystem.
|
2 years ago |
Siegfried Pammer
|
ee160b4e2a
|
#3075: Improve performance of CSharpResolver.LookupSimpleNameOrTypeName in cases with a large number of local variables.
|
2 years ago |
Kirill Osenkov
|
7992d148e8
|
Generate sequence points for expression-bodied properties and indexers
|
3 years ago |
Siegfried Pammer
|
13227e433e
|
Fix compound assignments with local variables.
|
3 years ago |
Daniel Grunwald
|
b80d20b15d
|
Add support for calling `operator checked`.
|
3 years ago |
Daniel Grunwald
|
8b9ba20847
|
Builtin unsigned right shift operator.
|
3 years ago |
Daniel Grunwald
|
3c46271a11
|
Add support for unsigned right shift.
Only for user-defined operators so far; builtin right shifts still cast to the appropriate type.
|
3 years ago |
Daniel Grunwald
|
9359d47c0b
|
Add support for ScopedRefAttribute
|
3 years ago |
Siegfried Pammer
|
539925f259
|
Fix #2983: display-class locals should be named uniquely per top-level ILFunction. Add assertion to ResolveCollisions: ensure that colliding/merged variables have the same type.
|
3 years ago |
ElektroKill
|
a5febb3e4f
|
Add support for VB.NET automatic events
|
3 years ago |
Siegfried Pammer
|
c3d0e5ecc2
|
Fix #1784: Move RemoveEmbeddedAttributes transform to ICSharpCode.Decompiler and do no longer decompile embedded attributes in WholeProjectDecompiler and PortablePdbWriter.
|
3 years ago |
Siegfried Pammer
|
9017592d1d
|
Fix #2764: Move constant field initializers regardless of whether the other field initializers can be moved.
|
3 years ago |
Siegfried Pammer
|
47250d670b
|
Fix #2791: Ensure that the capture scope used is either a loop or the ILFunction root container.
|
3 years ago |
Daniel Grunwald
|
0fbbb6d95e
|
Fix #2777: StackOverflowException with recursive delegates
|
3 years ago |
hexafluoride
|
fc6ae4c645
|
Add option to always fully qualify type names with global::
|
3 years ago |
Daniel Grunwald
|
b4b070468f
|
Revert "Performance Optimization: Do no longer collect all lower case type and member names."
This reverts commit 6584a2f576.
|
4 years ago |
Siegfried Pammer
|
6584a2f576
|
Performance Optimization: Do no longer collect all lower case type and member names.
|
4 years ago |
Siegfried Pammer
|
7ce453c73d
|
Fix #2710: enhanced using statements are not allowed as embedded statements.
|
4 years ago |
Siegfried Pammer
|
11468135b4
|
Add special-case for non-primary record struct constructors
|
4 years ago |
Siegfried Pammer
|
d248867302
|
Add support for C# 10 record structs.
|
4 years ago |
Siegfried Pammer
|
40ffc1e90e
|
Remove backing fields of auto properties and events.
The previous commit started decompiling backing fields because they are still needed prior to the C# transforms.
|
4 years ago |
Siegfried Pammer
|
f98012ec16
|
DetectPinnedRegions: Support special case where pinned pointer is unused and the compiler optimized out the StopGCTracking-conversion.
|
4 years ago |
Siegfried Pammer
|
cbcfcf6c2a
|
IntroduceQueryExpressions: Do not ignore attributes on lambdas
|
4 years ago |
Siegfried Pammer
|
d8bb40b45b
|
Generate file-scoped namespace declarations, if possible.
|
4 years ago |
Daniel Grunwald
|
7f985757a7
|
Fix #2541: Add explicit `unchecked()` around non-constant cast of constant to `nint`
|
4 years ago |
Siegfried Pammer
|
a655e35799
|
Fix ArgumentNullException in IntroduceUsingDeclarations: ignore unnamed variables for the purpose of conflict resolving.
|
4 years ago |
Siegfried Pammer
|
210601fcfa
|
Fix #2495: VB.NET decimal constants are not supported
|
4 years ago |
Siegfried Pammer
|
ea1cea96c4
|
Fix #2547: decimal const not removed from static constructor.
|
4 years ago |
Siegfried Pammer
|
4b6fd7aee6
|
Fix #2545: LINQ expression has a question operator on the source collection
|
4 years ago |
Siegfried Pammer
|
ee3aabdc51
|
Fix #2534: Handle default implementations of properties and events in interfaces.
|
4 years ago |
Siegfried Pammer
|
e1ca4db851
|
Fix #2527: Support skip locals init
|
4 years ago |
SilverFox
|
11b44e53b7
|
Add support for attributes of field/property in primary ctor of records
|
4 years ago |
SilverFox
|
89eebc387a
|
Fix #2475: Fix support for records with custom copy ctor
|
4 years ago |
SilverFox
|
d0d70a6496
|
Fix #2475: Add support for sealed records and records with interface
|
4 years ago |
Siegfried Pammer
|
c641072685
|
Translate MatchInstruction to BinaryOperatorExpression with BinaryOperatorType.IsPattern.
|
5 years ago |
Siegfried Pammer
|
ec1b9a4ccd
|
Fix #2443: do not use this()-ctor initializers by accident if base type is unknown.
|
5 years ago |
Siegfried Pammer
|
8eafbb3d90
|
Fix #2092: aggressively inline code in compiler-generated lambdas and expression trees.
|
5 years ago |
Siegfried Pammer
|
bc5d078feb
|
Fix #1698: Readonly auto properties from VB.NET are not properly decompiled
|
5 years ago |
Siegfried Pammer
|
ce199fad13
|
Fixed regression around foreach-on-string introduced in 16134e52e4
|
5 years ago |
SilverFox
|
65ea2e7af6
|
Fix #2406: for readonly property with only getter, move readonly to property instead of getter
|
5 years ago |
Siegfried Pammer
|
16134e52e4
|
Fix #2395: Do not use for->foreach transform if collection is not an array.
|
5 years ago |
Siegfried Pammer
|
aa147870a2
|
Fix #2389: missing extern keyword for properties and events.
|
5 years ago |
Daniel Grunwald
|
1292ff70d9
|
Fix #2391: mark method as unsafe when passing `null` to a parameter of pointer type.
|
5 years ago |