Siegfried Pammer
702a7da2c3
Fix #2714 : Force inlining of call targets in ctor initializers.
3 years ago
Siegfried Pammer
874ac9ac0b
Fix #2712 : TransformCollectionAndObjectInitializers fails to properly detect set-accessors of FakeProperties.
...
Bug likely introduced due to an oversight in #2677 .
3 years ago
Siegfried Pammer
7ce453c73d
Fix #2710 : enhanced using statements are not allowed as embedded statements.
3 years ago
Andrii Kurdiumov
a2e9a2f5d8
Allow decompile C++/CLI assemblies
...
When C++/CLI project produce assembly it generates target attribute like this
```
[assembly: TargetFramework(".NETCoreApp,Version=7.0", FrameworkDisplayName = "")]
```
when C# generates `TargetFrameworkAttribute` it produce slightly different format
```
[assembly: TargetFramework(".NETCoreApp,Version=v7.0", FrameworkDisplayName = "")]
```
3 years ago
Siegfried Pammer
e905160537
Extend definition of ComputeIsRecord to avoid false-positives.
3 years ago
Siegfried Pammer
11468135b4
Add special-case for non-primary record struct constructors
3 years ago
Siegfried Pammer
d248867302
Add support for C# 10 record structs.
3 years ago
Siegfried Pammer
39992161b6
Fix #2692 : NRE in DeconstructionTransform.IsCompatibleImplicitConversion
3 years ago
Siegfried Pammer
c0f0135373
#2691 : Do not use AssemblyDefintion.GetAssemblyName().
...
This fails in culture-invariant mode (ilspycmd) when trying to work with satellite assemblies, because System.Reflection.AssemblyName tries to retrieve CultureInfo of the assembly culture.
3 years ago
Siegfried Pammer
7e08c348b5
#2685 : Emit 'override' without 'newslot' as 'virtual' if there is no (known) method to override.
3 years ago
Siegfried Pammer
c66eb7bbef
#2685 : Hide ctors from ComImport classes.
...
#2685 : Remove logic added in previous commit, as it breaks our ILPretty tests.
3 years ago
Siegfried Pammer
3e05a8d763
#2685 : Emit 'override' without 'newslot' as 'virtual' if there is no (known) method to override.
3 years ago
Siegfried Pammer
e61f46c474
Add MethodCodeType argument to MethodImplAttribute.
3 years ago
Siegfried Pammer
54a3bba820
#2685 : Do not add interface impl helper for extern methods.
3 years ago
Daniel Grunwald
d6d0392d2f
Fix crash when IL byte code unexpectedly ends in the middle of an operand.
3 years ago
Siegfried Pammer
e043f43925
Ignore local functions when collecting used members.
...
This is necessary because LocalFunctionMethod.DeclaringTypeDefinition points to the current type.
3 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.
3 years ago
Siegfried Pammer
b7edf2eb59
Detect compiler-generated code that is still needed after decompilation.
3 years ago
Siegfried Pammer
1532d2fc29
Refactor DoDecompile(ITypeDefinition): Extract handling of members and types into local function. Order of output no longer depends on the order of decompilation, which will become relevant in the next commit.
3 years ago
Andrew Crawley (US - DIAGNOSTICS)
696cbc2136
Allow user to provide ID when generating a PDB
...
This commit adds a new parameter to PortablePdbWriter.WritePdb that
allows the caller to specify the exact Guid and timestamp that should be
used in the generated PDB. This will be useful for several scenarios
that are interesting for the Visual Studio debugger's integration:
1. Generating a PDB for an assembly that was built without debug info.
The PDB writer currently fails in this case, since the input assembly
has no debug directory from which to extract the relevant info. The
debugger can provide values that will allow us to load the generated
PDB.
2. Generating a PDB for an assembly that has multiple debug directories.
The PDB writer currently uses the first debug directory it finds, but
this isn't necessarily the correct one. The debugger can provide the
correct values.
3 years ago
James May
4a1f79a32a
Assume conventionally named unresolved method references are properties or events.
...
eg. decompiles to .Property instead of .get_Property()
3 years ago
Christoph Wille
2040570697
First GH release for version 8 will be Preview1
3 years ago
Siegfried Pammer
6a3bb2bbf1
Fix #2655 : TranslateArrayInitializer crashes with out of order array init
3 years ago
Siegfried Pammer
68b388bc36
Disable DecompilerSettings.ParameterNullCheck
3 years ago
Siegfried Pammer
ba177459f1
Fix comment.
3 years ago
Siegfried Pammer
a121e7c6ca
Fix #2653 : ILSpy reports wrong visibility for overridden protected internal properties if located in another assembly.
3 years ago
Siegfried Pammer
73f2493644
Fix #2629 : Indentation of method-call chains.
3 years ago
Siegfried Pammer
13da4c48d4
Fix #2632 : Make sure that changing the setting "ExpandMemberDefinitions" has an effect when refreshing a decompiled view.
3 years ago
Siegfried Pammer
9e462b53ad
Add support for C# 11 parameter null checks
3 years ago
Siegfried Pammer
6a27959cbc
Improve decompilation of delegate references of extension methods.
3 years ago
Siegfried Pammer
f72e0a866b
Turn on WarningsAsErrors for nullable warnings in ICSharpCode.Decompiler
3 years ago
Christoph Wille
4b8e6a421a
Remove "HACK: Disable package generation on Unix due to tooling issues." ( #2670 )
3 years ago
Siegfried Pammer
0bc11d05d3
Fix #2634 : target expressions of delegate references were not decompiled correctly
3 years ago
Christoph Wille
a0fece6f5f
Add PackageReadmeFile
3 years ago
Zachary Northrup
9c17029702
Fix the ordering of COM interface methods and properties to appear in their originally defined order. This was resulting in fatal crashes while running decompiled COM interop code.
3 years ago
Siegfried Pammer
de5b72114e
Fix nullable and other warnings.
3 years ago
Siegfried Pammer
93dcba3426
* Rename Metadata.GenericContext to MetadataGenericContext to avoid conflicts with TypeSystem.GenericContext
...
* Change MetadataGenericContext to readonly struct
* Rearrange types in Dom.cs
3 years ago
Siegfried Pammer
234eb071f0
Fix nullability warnings in FindTypeDecoder.
3 years ago
Siegfried Pammer
d19c93fc41
Fix #2645 : ToPrimitiveTypeCode: return 0, if known type is not primitive.
3 years ago
Siegfried Pammer
2e31427d56
Fix nullability warnings in AstNode and XmlDocumentationElement.
3 years ago
Siegfried Pammer
3d35240224
Fix nullability warning and bug in UniversalAssemblyResolver.
3 years ago
Siegfried Pammer
4c1931d5c6
Fix NRT warning in GetBlockStateSetMappingForLeave.
3 years ago
Siegfried Pammer
6a6e82c372
Use ReferenceAssemblyAnnotator in ICSharpCode.Decompiler.csproj
3 years ago
Siegfried Pammer
a4e2bd7f8f
Handle leave instructions in state-range analysis.
3 years ago
Siegfried Pammer
84c15bb24f
Fix #2652 : AwaitInFinallyTransform: ILAst must form a tree
3 years ago
Siegfried Pammer
7019e1c02f
Make sure that update-assemblyinfo.ps1 fails if PowerShell >= 5.0 is not installed.
3 years ago
Daniel Grunwald
a9f4694563
Add test for C# 11 generic attribute
3 years ago
Siegfried Pammer
9935f51b96
Fix #2646 : Missing values for enums with skipped or duplicate items
3 years ago
Siegfried Pammer
aafa9b2aa7
Fix #2664 : Fix NRE in ScopeSearchToAssembly.
3 years ago
Siegfried Pammer
f28749ebe0
Fix build.
3 years ago