Daniel Grunwald
3fac3c07a2
Upgrade Roslyn for tests to 3.0.0-beta3.
...
Remove the committed .il files: these were originally intended to prevent test failures due to differences in the C# compiler on the system.
But legacy csc stopped changing long ago; and roslyn is tested via NuGet package, so everyone is using the same version.
Interestingly enough, avoiding the roundtrip through ildasm/ilasm caused some test failures due to changes in the order of top-level types.
So I've started sorting the types by name to ensure consistency in the tests. This required adjusting some existing tests.
6 years ago
Siegfried Pammer
545be6d133
Fix CSharpDecompiler.SetNewModifier: follow rules stated in the language specification.
6 years ago
Daniel Grunwald
f9f9d57398
#1386 : Fix fixed-statement detection when fixed statement contains "return" and the method has multiple return statements.
6 years ago
Siegfried Pammer
b7fc830faa
Fix #1406 : Use IEnumerable<T> instead of IList<T> in CSharpDecompiler.Decompile and DecompileAsString.
6 years ago
Siegfried Pammer
9d19b33ec0
Fix #1394 : Fields marked 'specialname' are excluded from the type system
6 years ago
Daniel Grunwald
72d755037b
Fix #1283 : handle invalid metadata when decoding constants
7 years ago
Siegfried Pammer
9e71e7fe09
Fix #517 : Try to reverse constant folding for double and float expressions containing Math.PI and Math.E as factors.
7 years ago
Siegfried Pammer
00a54a278a
Fix #1344 : Fix GetCodeMappingInfo for nested async FSMs
7 years ago
Siegfried Pammer
1854a33749
Fix #1340 : infinite recursion in DelegateConstruction due to recursive local function being mistreated as delegate construction.
7 years ago
Siegfried Pammer
14f3544a2b
#1341 : force DecompilerSettings.LoadInMemory = true, in all CSharpDecompiler ctors that take a filename.
7 years ago
Siegfried Pammer
fd0d898703
#1330 : add more exception handling to CSharpDecompiler, so an entity that caused decompilation to fail can easier be identified.
7 years ago
Siegfried Pammer
fac1a4d115
Fix #1311 : Methods in .winmd files compiled from C# don't show up in individual method view in ILSpy 4.
...
Add an option to disable application of WinRT projections.
7 years ago
Siegfried Pammer
86329349ba
Fix #1332 : DecompileMemberBodies: Cannot mutate frozen NullBlockStatement
7 years ago
Siegfried Pammer
6c193ac50e
Fix #1323 : NRE in DetectBestEnumValueDisplayMode; emit error message, if enum field definition has no constant value.
7 years ago
Siegfried Pammer
dd5fb5a78b
Fix #1282 : Decompiling types in non-main modules - should throw a NotSupportedException.
7 years ago
Chicken-Bones
ab9397d099
Add ReduceNestingTransform
7 years ago
Siegfried Pammer
d5a2b893e9
Fix ReadCodeMappingInfo for lambdas compiled with mcs.
7 years ago
Siegfried Pammer
cf1d05042f
Add detection of local functions, so we do not hide the methods/display classes.
7 years ago
Siegfried Pammer
71441786eb
Fix #1254 : Assert in Transforms.IntroduceUsingDeclarations.Run - using left tree navigation
7 years ago
Siegfried Pammer
7ef7f1870e
Refactor TS representation of ref / readonly structs. Add support for in parameters.
7 years ago
Daniel Grunwald
61698b615d
Fix #1232 : BadImageFormatException: Invalid SEH header
...
This makes the decompiler and a bunch of analyzers more robust against invalid assemblies.
7 years ago
Daniel Grunwald
b331c59169
Fix #1234 : handle exception when a field initial value is not available
7 years ago
Daniel Grunwald
9479e8af13
Support overloaded operator &&/||.
7 years ago
Siegfried Pammer
f1f70d0ded
Fix #1148 : Do not use hexadecimal display in enums if the value is negative.
7 years ago
Siegfried Pammer
71ffb0183b
Fix #1103 : Deactivating "Insert using declarations" now uses fully qualified types everywhere.
7 years ago
Siegfried Pammer
d9187912f1
Fix #1216 : OverflowException while decompiling enum value.
7 years ago
Siegfried Pammer
abe3b3a74c
Fix #1217 : System.Xml.XmlException on browsing any type, if referenced xml doc is not available.
7 years ago
Siegfried Pammer
156728681a
Make creating CSharpDecompiler easier.
7 years ago
Daniel Grunwald
ab157b2fc0
Add TypeSystemOptions.Uncached.
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
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
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
f3a8128693
Forgot some changes.
7 years ago
Siegfried Pammer
911fd83c39
Use more appropriate exception types where possible.
7 years ago
Siegfried Pammer
bc97127d9d
Reorganize extension methods + remove unused/obsolete.
7 years ago
Daniel Grunwald
3be697eadf
Rewrite MinimalCorlib without using the unresolved TS.
7 years ago
Siegfried Pammer
85c83b8e6f
Fix #1052 : Use IDocumentationProvider in the CSharpDecompiler API
7 years ago
Siegfried Pammer
bcfb3742eb
Clean up PEFile, move Pdb related types to DebugInfo namespace
7 years ago
Daniel Grunwald
4ec0028356
Don't cache attributes in the type system.
7 years ago
Siegfried Pammer
3e1eda980e
Fix exceptions when selecting struct fields in tree view.
7 years ago
Daniel Grunwald
c85927b579
Add support for IndexerNameAttribute.
7 years ago
Siegfried Pammer
069e4072de
Fix compile errors after merge.
7 years ago
Siegfried Pammer
0c6236ed7e
Collect namespaces of assembly and module attributes
7 years ago
Daniel Grunwald
ee3012281d
Implement MetadataEvent and re-work the representation of attribute arguments.
7 years ago
Siegfried Pammer
023282a50d
#1180 : Add IsWindowsFormsInitializeComponentMethod and disable some transforms when processing a Windows Forms InitializeComponent method.
7 years ago
Daniel Grunwald
9a74f018b5
Decode metadata signatures directly into IType; without going through ITypeReference.
7 years ago