ElektroKill
7c73517892
Fix formatting
3 years ago
ElektroKill
a979f0fdfa
Add support for VB.NET cached delegate initialization with closures
3 years ago
ElektroKill
cd3d23e406
Include property and event return types in `RequiredNamespaceCollector`
3 years ago
ElektroKill
0b9d546f46
Fix dynamic type index calculation in `ApplyAttributeTypeVisitor`
3 years ago
Daniel Grunwald
516341a09b
Use "static abstract" instead of "abstract static".
3 years ago
Daniel Grunwald
f3013010cd
Add support for C# 11 required members.
3 years ago
Daniel Grunwald
d3919aa99a
Support native ints in "Combine bit.and into shift" transform
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
71e4d51786
Fix #2807 : Detect when a compiler-generated/hidden type needs to be decompiled in WholeProjectDecompiler.
3 years ago
Siegfried Pammer
ae0e83f0c4
Records: Support new EqualityContract pattern.
3 years ago
Daniel Grunwald
696c85992a
Suppress warnings.
3 years ago
Siegfried Pammer
f2da255200
Fix #2825 : Missing whitespace after new()
3 years ago
Siegfried Pammer
51c7c45b14
Fix build.
3 years ago
Siegfried Pammer
6766ad0c59
#2823 : Introduce `IType.GetDefinitionOrUnknown()` to allow better detection of async state-machines involving unknown types.
3 years ago
Siegfried Pammer
3075ec92fe
#2823 : Use row ID instead of token in AsyncDebugInfo blob.
3 years ago
Siegfried Pammer
bde782e4f5
Fix #2806 : Do not use implicitly typed out variables, if argument and parameter types do not match exactly.
3 years ago
Christoph Wille
01b27084e8
Fix package generation - exclude content files, include PackageIcon
3 years ago
Siegfried Pammer
42668e810a
Fix #2808 : Insert cast to object when statically casting from dynamic to a reference type.
3 years ago
Siegfried Pammer
343694c549
Generalize progress reporting for decompilation and PDB generation.
3 years ago
Andrew Crawley (US - DIAGNOSTICS)
a494bfadbe
Add progress reporting to PortablePdbWriter
...
This commit adds a new parameter to PortablePdbWriter.WritePdb that
allows the caller to provide an implementation of IProgress to receive
status updates on the pdb generation process. Currently, the progress
reports include the number of files generated so far and the total
number of files.
3 years ago
Standa Lukeš
93eecf93a5
Add more asserts and ToStrings around the FakeProperty.Setter problem
3 years ago
Standa Lukeš
6153f9cf35
Add test for indexer initializers
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
b85d1ba65a
Fix #2771 : Allow MetadataTypeDefinition.DefaultMemberName to return null if DefaultMemberAttribute is not present.
3 years ago
Siegfried Pammer
e8c4f29738
#2797 : Clarify exception message, if type is not found in the module being decompiled.
3 years ago
Standa Lukeš
18481efc44
Fix initialization of FakeProperty with setter
...
Seems like a typo - the setter method was assigned to the Getter property
The test GuessAccessors needed adjustments in the generated code.
ILSpy is more eager to merge property assignments
3 years ago
Siegfried Pammer
b87f3753e2
Fix #2786 : Structs with static reference type fields not recognized as unmanaged
3 years ago
Siegfried Pammer
b9f2fc4f96
Fix #2781 : Fix missing nullability annotation on base type
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
Siegfried Pammer
ac6a2e54ca
Use IsAccessor again.
3 years ago
Siegfried Pammer
927b46b17d
Fix #2787 : Enable NRT in TransformCollectionAndObjectInitializers and fix problems.
3 years ago
Siegfried Pammer
ed02b2eb9e
Add MemberNotNullWhenAttribute to IMethod, IProperty and IEvent. Make sure that it's guaranteed that AccessorOwner is non-null, when IsAccessor is true.
3 years ago
Siegfried Pammer
9f6f7a03ac
Fix #2788 : Handling of cpobj in ILReader was missing the stobj special case for the target pointer.
3 years ago
Siegfried Pammer
1ac1bd6eab
Remove context field from TransformCollectionAndObjectInitializers, inline DoTransform.
3 years ago
ElektroKill
1447038ce1
Fix #2736
3 years ago
Siegfried Pammer
a3191f19e2
Fix #2763 : Improve decompilation of switch-on-enum by preserving enum type information when inlining local variables into SwitchInstruction.Value.
3 years ago
Siegfried Pammer
500b439c5d
Another round of fixes in TryReadResource
3 years ago
Siegfried Pammer
7444dd96e3
Refactor Resource.TryGetLength and TryOpenStream.
3 years ago
Siegfried Pammer
3c0ab6a2ce
Fix #2780 : Show embedded resource size
3 years ago
Siegfried Pammer
81f575e9ce
Use PopStObjTarget in ILReader, if a call instruction has the same semantics as initobj.
3 years ago
Siegfried Pammer
948da3f9ee
ILInlining: IStatementTransform.Run repeatedly inline all possible statements.
3 years ago
Daniel Grunwald
503048b314
Prevent the early ILInlining pass from creating `addressof` instructions
3 years ago
Daniel Grunwald
9254abcf88
Fix StObj.CheckTargetSlot assertion
3 years ago
Daniel Grunwald
c36c6efb2a
ILReader: don't create stack slots if we can directly created inlined ILAst
...
This is a performance optimization: we dramatically reduce the amount of ILVariables created;
and thus need to spend less time in the first ILInlining run.
3 years ago
Siegfried Pammer
af56bb10d0
Determine isBranchTarget in a separate pass. We will need it for an optimization to ILReader in a future commit.
3 years ago
Daniel Grunwald
0fbbb6d95e
Fix #2777 : StackOverflowException with recursive delegates
3 years ago
Christoph Wille
571ae3b5fd
ICS.D is used downstream with specific version requirements re:dependencies. ILSpy itself can use newer version, thus ICS.D.csproj is no longer using version vars from packages.props ( #2776 )
3 years ago
hexafluoride
fc6ae4c645
Add option to always fully qualify type names with global::
3 years ago
Siegfried Pammer
6d4c5f3273
Fix #2757 : Inject ILSpyUpdateAssemblyInfo into GetPackageVersionDependsOn so Pack uses the generated version when evaluating project references. ( #2769 )
3 years ago
Siegfried Pammer
cd1cea7d85
Fix #2759 : Some characters cause rendering issues in the tree view causing ILSpy to freeze. Also ignore embedded resources with an invalid offset, treat them as having zero byte length.
3 years ago