Siegfried Pammer
79611d5976
Fix search on ctors and always show full signature in search result. This should help to find the right overload more easily.
7 years ago
Siegfried Pammer
c883f68842
Remove unused TypeSystemHelper.cs
7 years ago
Siegfried Pammer
0b498df891
Fix performance of SearchStrategies.
7 years ago
Christoph Wille
5efd336dcc
Add VS2017 extension to README.MD Closes #1171
7 years ago
Daniel Grunwald
238d2900a8
Merge branch 'split-variables'
7 years ago
Daniel Grunwald
61f4bb4071
Merge pull request #1030 : Replace Mono.Cecil with System.Reflection.Metadata
...
This PR ports ILSpy to System.Reflection.Metadata.
It also contains a whole bunch of changes to our own high-level decompiler type system.
For more details, see https://github.com/icsharpcode/ILSpy/wiki/srm
7 years ago
Daniel Grunwald
90d866d78a
Fix #1193 : Performance issues with deeply nested block structures
7 years ago
Daniel Grunwald
bafb6d1d49
Fix #1194 : empty if statements are decompiled into goto statements
7 years ago
Daniel Grunwald
7f84bcfbb5
Upgrade DiffLib.
...
The old version had a bug that caused tests to fail when the last method in a test file was surrounded by #if/#endif.
7 years ago
Daniel Grunwald
b4dd917949
Avoid copying resources into managed memory.
7 years ago
Daniel Grunwald
2d04f24670
Fix stack overflow in RequiredNamespaceCollector.
7 years ago
Siegfried Pammer
5faead453c
Fix build of BAML decompiler.
7 years ago
Siegfried Pammer
7f57080672
simplify GetLanguageSpecificName
7 years ago
Siegfried Pammer
58c2746e60
LiteralSearchStrategy: implement support for field constants.
7 years ago
Siegfried Pammer
7ded12c5fb
Reimplement search strategies.
7 years ago
Siegfried Pammer
f4733307f4
Move search-related files to Search subfolder.
7 years ago
Daniel Grunwald
d8c8a75c2e
Fix #1154 : Decompilation of fixed statement when pointer variable is unused
7 years ago
Daniel Grunwald
ab157b2fc0
Add TypeSystemOptions.Uncached.
7 years ago
Daniel Grunwald
b750a30be4
Fix MethodUsesAnalyzer.
7 years ago
Daniel Grunwald
de3ffa2851
Adjust ILSpy to type system changes.
7 years ago
Daniel Grunwald
b396d203bd
Merge IDecompilerTypeSystem with ICompilation.
7 years ago
Daniel Grunwald
1f3916d554
Use the resolve methods in MetadataModule, and remove the wrappers in DecompilerTypeSystem.
7 years ago
Daniel Grunwald
c54632e7cb
Fix some type system bugs.
7 years ago
Daniel Grunwald
107fe5eb1c
Eliminate SpecializingDecompilerTypeSystem and use GenericContext instead.
7 years ago
Daniel Grunwald
fdc109eebd
Fix NullReferenceException in TypeSystemAstBuilder when attribute argument decoding fails.
7 years ago
Siegfried Pammer
463494e3fa
Delete files not included in ILSpy.csproj from the repository.
7 years ago
Siegfried Pammer
dccd0052dc
Merge XmlDocKeyProvider.cs into IdStringProvider.cs
7 years ago
Siegfried Pammer
b6e88c4bbb
Handle EnumUnderlyingTypeResolveException in CustomAttribute.DecodeValue()
7 years ago
Daniel Grunwald
4580eab7ab
Disable ref inline assignments.
...
This increases the chances that we'll avoid CS8174: A declaration of a by-reference variable must have an initializer.
7 years ago
Daniel Grunwald
7ee686cb67
Allow splitting a variable even if it has its address taken and stored in a ref-local.
...
The currently implementation is somewhat minimal and only works in a very limited set of circumstances:
* the ref local is single-assignment
* the ref local is initialized directly with 'ldloca target; stloc ref_local',
not a derived pointer (e.g. 'ldloca target; ldflda F; stloc ref_local').
* all uses of the ref_local are immediately consuming the address
This improves variable splitting cases where the compiler re-uses a stack slot containing a reference,
e.g. in some cases of '?.' on Nullable<T>.
7 years ago
Daniel Grunwald
796612209d
Fix #1147 : Use C# 7.3 syntax for ref reassignment.
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
Daniel Grunwald
33ef82f75c
Fix #1082 : Add support for compound assignment with string.Concat().
...
Currently only supports the binary overloads of string.Concat().
7 years ago
Daniel Grunwald
d166101387
Allow splitting variables that have their address taken.
...
This works if all addresses are immediately used in calls (as common with method calls on value-type,
which take 'this' by-reference); as long as the call doesn't return the reference again.
Closes #1136 .
7 years ago
Daniel Grunwald
b149238777
Introduce IType.IsByRefLike.
7 years ago
Siegfried Pammer
6d1792652b
Fix #1178 : Ignore PDB load errors.
7 years ago
Siegfried Pammer
2e5ed08be4
Add information about debug info source to ILSpy UI.
7 years ago
Siegfried Pammer
8335615842
Add IDebugInfoProvider.Description property
7 years ago
Siegfried Pammer
29277eb94c
Add EnumUnderlyingTypeResolveException to TypeProvider.
7 years ago
Siegfried Pammer
20ccd51948
Fix bug in SwitchOnStringTransform.SimplifyCascadingIfStatements: Do not eliminate unrelated stores right before the start of the switch.
7 years ago
Siegfried Pammer
cb0629448d
CSharpDecompiler.GetCodeMappingInfo: Add support for async and yield fsms.
7 years ago
Siegfried Pammer
27cf62d710
Move CodeMappingInfo to Decompiler.
7 years ago
Siegfried Pammer
e3dd2f6d86
LookupIndexers should ignore explicit interface implementations.
7 years ago
Siegfried Pammer
ce855885b1
Implement new declsec parser in ReflectionDisassembler + added unit tests.
7 years ago
Siegfried Pammer
716eade5a6
Add missing "method" keyword to method definition tokens in ldtoken instruction.
7 years ago
Siegfried Pammer
d3d7dda7e4
Rework WriteSecurityDeclarationArgument to make sure it produces output, that can be reassembled.
7 years ago
Siegfried Pammer
01e374fd4f
Add EnumUnderlyingTypeResolveException and clean up exceptions in ReflectionDisassembler: use BadImageFormatException for any unexpected values.
7 years ago
Siegfried Pammer
1e9424c7bd
CSharpLanguage.DecompileAssembly: Move initialization of type system into assembly load lock.
7 years ago
Siegfried Pammer
529a61a117
Fix bug in DecompilerTypeSystem initialization, causing assemblies being added multiple times.
7 years ago
Siegfried Pammer
bf8bd6b597
Add missing ApplyAttributesToType in MetadataAssembly.ResolveMethodSpecification.
7 years ago