Siegfried Pammer
921bf36261
Add WebCIL support
1 year ago
Siegfried Pammer
cfb4f0f312
Fix #3153 : Always use SHA1 for public key tokens. According to ECMA-335, the hash algorithm stored in the assembly metadata is intended for file content verification purposes, not identification purposes.
1 year ago
James May
0bab8a01ef
Reduce "unsafe" by replacing byte* pointer usage with ReadOnlySpan<byte> ( #3106 )
2 years ago
Siegfried Pammer
d19c93fc41
Fix #2645 : ToPrimitiveTypeCode: return 0, if known type is not primitive.
3 years ago
Siegfried Pammer
6219bb964c
Optimize GetFullAssemblyName extension method
3 years ago
Siegfried Pammer
f0012cbc1a
#2198 : Make ILSpy more resilient in case of obfuscated assemblies.
5 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
5 years ago
Siegfried Pammer
1c563a62a9
Fix #2090 : ignore mscorlib references without public key token, when trying to resolve mscorlib. This will automatically fallback to .NET 4.0's mscorlib.dll.
5 years ago
Daniel Grunwald
8061634e67
#1203 , #2092 : New logic for resolving assembly references within the type system.
...
We now avoid the old `IModuleReference` interface which required allocating for every type being resolved.
Instead `MetadataModule.ResolveModule` now combines decoding+resolving assembly references into a single step.
This allows the type system to maintain a cache indexed by row number.
This also changes the behavior of resolving references within a compilation: We now prefer an exact match (name + version + publickeytoken) first; and fall back to a name-only match only if no exact match exists.
This somewhat improves the decompilation of assemblies created by using ilmerge to combine assemblies with different target frameworks.
5 years ago
Siegfried Pammer
54a742f3f5
Metadata Explorer: Display blob contents of custom debug information in tooltip.
5 years ago
Siegfried Pammer
8bf7d3f41c
Support for most metadata tables.
6 years ago
Jan Kučera
b342dd6b11
Assembly search kind, default to short name
6 years ago
Siegfried Pammer
a9bb17aba9
Make it possible to search by full name without including generic type parameters.
6 years ago
Siegfried Pammer
f716f4ed9c
Fix CSharpLanguage.GetEntityName to return ~TypeName for destructors.
6 years ago
Siegfried Pammer
6a1181c496
Add support for mscorlib: Compact Framework v2.0 and v3.5.
6 years ago
Siegfried Pammer
b82f4dd773
Fix #1206 : Could not decode attribute arguments. There was a bug in the calculation of public key tokens of assembly definitions.
7 years ago
Daniel Grunwald
1f3916d554
Use the resolve methods in MetadataModule, and remove the wrappers in DecompilerTypeSystem.
7 years ago
Daniel Grunwald
3b46776c5e
Rename IAssembly -> IModule.
...
While support for multi-module assemblies isn't fully working yet; it is clear at this point that we want
to treat each module in a multi-module assembly separately for the purposes of the type system.
7 years ago
Siegfried Pammer
4540b93e19
Use ArgumentOutOfRangeException or BadImageFormatException in switch-default sections.
7 years ago
Siegfried Pammer
bc97127d9d
Reorganize extension methods + remove unused/obsolete.
7 years ago
Siegfried Pammer
1f9472e10e
Refactor GetDeclaringAssembly + Add support for module references.
7 years ago
Daniel Grunwald
3be697eadf
Rewrite MinimalCorlib without using the unresolved TS.
7 years ago
Siegfried Pammer
5645b27ebe
Disassembler: Fix generic type arguments and escaping in ToILNameString
7 years ago
Siegfried Pammer
9acc372a68
Use TypeSystem for ILSpy UI:
...
Most important tree nodes and search ported,
Currently only ILLanguage is active
7 years ago
Siegfried Pammer
e6e03a40d4
Move PEFile and other classes to different files, cleanup
7 years ago
Daniel Grunwald
0f8c310de2
Started work on new resolved TS implementation that directly uses SRM.
...
This is a work-in-progress; ILSpy is not functional with this commit.
The old code path still exists but is broken because some classes were modified for the new system.
The new system is still highly incomplete (types only have fields, but no methods).
7 years ago
Daniel Grunwald
9a74f018b5
Decode metadata signatures directly into IType; without going through ITypeReference.
7 years ago
Siegfried Pammer
1941948a4b
Further improvements to MetadataResolver and MainWindow.FindTreeNode
7 years ago
Siegfried Pammer
458f448fae
Avoid unnecessary allocations of MetadataReader and clean up Dom structs a bit.
7 years ago
Daniel Grunwald
f290d81535
Fix ReflectionDisassembler so that we can re-generate the IL files for the PInvoke test.
7 years ago
Siegfried Pammer
7dd3faeb69
Fix output of qualified type names in IL.
7 years ago
Siegfried Pammer
61eead50c7
Fix TypeSystemLoaderTests
7 years ago
Siegfried Pammer
b500b24548
SRM WIP basic implementation of DecompilerTypeSystem
7 years ago
Siegfried Pammer
74e81010b3
Fix handling of type parameters in GetFullTypeName
7 years ago
Siegfried Pammer
6b765f98f0
Fix order of types in full module output
7 years ago
Siegfried Pammer
ec91601510
Add ReferenceFolderTreeNode
7 years ago
Siegfried Pammer
87ced033ba
Rename Dom -> Metadata; Remove bogus abstraction
7 years ago
Siegfried Pammer
cb9787098f
Finished port of UI (Analyzers still excluded) and Disassembler
7 years ago
Siegfried Pammer
3d9cbb71bd
Implementation of MetadataLoader mostly completed (CecilLoader.cs)
7 years ago
Siegfried Pammer
02b7dc98be
Commit of non-compiling WIP
7 years ago