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
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
e3dd2f6d86
LookupIndexers should ignore explicit interface implementations.
7 years ago
Siegfried Pammer
19b4aa043c
Fix #1201 : Still getting error: "System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection."
7 years ago
Siegfried Pammer
f3a8128693
Forgot some changes.
7 years ago
Siegfried Pammer
78dab4f44b
Cleanup
7 years ago
Siegfried Pammer
911fd83c39
Use more appropriate exception types where possible.
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
0377f406f8
Remove some NotImplementedExceptions/NotSupportedExceptions
7 years ago
Siegfried Pammer
4f1c6e3509
Remove more dead code.
7 years ago
Daniel Grunwald
3be697eadf
Rewrite MinimalCorlib without using the unresolved TS.
7 years ago
Siegfried Pammer
41e43920dc
Fix missing AssemblyResolver in ILSpyWholeProjectDecompiler.
7 years ago
Siegfried Pammer
85c83b8e6f
Fix #1052 : Use IDocumentationProvider in the CSharpDecompiler API
7 years ago
Siegfried Pammer
5b4870e588
Add AlwaysUseBuiltinTypeNames option to TypeSystemAstBuilder
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
Daniel Grunwald
80a4d951a7
Use .resx file extension when saving resources in XML format.
7 years ago
Daniel Grunwald
c17c3c739f
Fix #1192 : Use custom ResourcesFile implementation
...
This avoids deserializing objects embedded in .resources files within the ILSpy process.
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
937e990f31
Fix #1184 : Assertion Failed in InsertMissingTokensDecorator.EndNode
8 years ago
Daniel Grunwald
64547de4a0
foreach loops now use "var" if the element type is a tuple and can be inferred from the collection type.
...
Additionally, the tuple element names inferred from the collection type are now used when translating the foreach body.
8 years ago
Daniel Grunwald
1c0e61a4c3
Fix #1187 : ArgumentException: Illegal characters in path.
8 years ago
Siegfried Pammer
076c0b49e7
RequiredNamespaceCollector: Add support for method signatures.
8 years ago
Siegfried Pammer
e33d1ddce3
Fix #1183 : Assertion Failed in IntroduceUsingDeclarations on Property
8 years ago
Siegfried Pammer
3e1eda980e
Fix exceptions when selecting struct fields in tree view.
8 years ago
Daniel Grunwald
97fc614db5
Remove unimplemented IMember.IsShadowing and IField.IsFixed.
8 years ago
Daniel Grunwald
c85927b579
Add support for IndexerNameAttribute.
8 years ago
Siegfried Pammer
069e4072de
Fix compile errors after merge.
8 years ago
Siegfried Pammer
0c6236ed7e
Collect namespaces of assembly and module attributes
8 years ago
Siegfried Pammer
a1ade47b7f
Fix type mismatch in TypeSystemAstBuilder.ConvertConstantValue
8 years ago
Daniel Grunwald
621d90d006
Use MetadataAssembly (the new TS implementation) in DecompilerTypeSystem.
8 years ago
Daniel Grunwald
db47643a41
Interface implementations in TS
8 years ago
Daniel Grunwald
ee3012281d
Implement MetadataEvent and re-work the representation of attribute arguments.
8 years ago
Siegfried Pammer
10a0c9093c
Do not convert extension method syntax to LINQ, if the null conditional operator is used on the target, as this introduces a syntax error.
8 years ago
Daniel Grunwald
da06a48851
Implement more of the new metadata TS.
8 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).
8 years ago
Daniel Grunwald
0be9e84f1b
Use resolved TS in member filter predicates.
...
This was the last place where the public API of the resolved TS was referencing the unresolved TS.
We could now implement the resolved TS directly using SRM, and remove the whole unresolved TS layer.
8 years ago
Daniel Grunwald
802f6e54fd
Refactor DecompilerTypeSystem.ResolveMethod().
8 years ago
Siegfried Pammer
6ca3863c63
Fix #1135 : Redundant constant "&& true" added to decompiled code.
...
Suppress && / || transformation, if rhs is the identity of the operator.
8 years ago
Siegfried Pammer
6096b7df29
#907 : CallBuilder: If type arguments cannot be inferred from the parameter list, add them before asking overload resolution, but remove them again, if it does not reduce the number of casts.
8 years ago
Siegfried Pammer
d04155132a
Use overload resolution to add only required casts to collection initializers.
8 years ago
Siegfried Pammer
a823d74004
Use overload resolution to ensure we call the correct indexer + added tests.
8 years ago
Siegfried Pammer
d8e8735ed0
CallBuilder: Extract overload resolution to its own method.
8 years ago