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.
7 years ago
Daniel Grunwald
2b5db1d005
#1189 : Fix various exceptions in ILReader when reading invalid IL.
7 years ago
Daniel Grunwald
6360b70ee6
#1189 : Fix exception trying to disassemble a bunch of random bytes.
7 years ago
Siegfried Pammer
bd2a0ec8d7
Fix output of .emitbyte directive on multi-byte opcode values.
7 years ago
Siegfried Pammer
076c0b49e7
RequiredNamespaceCollector: Add support for method signatures.
7 years ago
Siegfried Pammer
c593ef960a
AssignVariableNames: unwrap modified / pinned types to ensure variables get nice names.
7 years ago
Siegfried Pammer
e33d1ddce3
Fix #1183 : Assertion Failed in IntroduceUsingDeclarations on Property
7 years ago
Siegfried Pammer
7f0ce7a6f5
MetadataResolver: Reduce number of cases where exceptions are thrown.
7 years ago
Siegfried Pammer
8184cf6a5f
Fix some more UI crashes.
7 years ago
Siegfried Pammer
3c8ba01130
Fix UI crashes related to unresolved references.
7 years ago
Siegfried Pammer
3e1eda980e
Fix exceptions when selecting struct fields in tree view.
7 years ago
Siegfried Pammer
a668567e86
Fix namespace resolving bug in MetadataResolver
7 years ago
Siegfried Pammer
e901fd2ad9
Add ApplyAttributeTypeVisitor.ApplyAttributesToType to DecodeMethodSignature and DecodeLocalSignature
7 years ago
Daniel Grunwald
97fc614db5
Remove unimplemented IMember.IsShadowing and IField.IsFixed.
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
351a99ba32
Remove MetadataLoader
7 years ago
Siegfried Pammer
c1667fab5a
Decouple MetadataField and MetadataLoader
7 years ago
Siegfried Pammer
d33348dbe1
Implement nested type forwarders.
7 years ago
Siegfried Pammer
0c6236ed7e
Collect namespaces of assembly and module attributes
7 years ago
Siegfried Pammer
9d2957372b
Undo reordering of base types
7 years ago
Siegfried Pammer
7d7b7b7d98
Fix order of DirectBaseTypes and typo in SpecializedParameter
7 years ago
Siegfried Pammer
2953c913d3
Fix handling of extension methods
7 years ago
Siegfried Pammer
4c11f34634
Fix namespaces of KnownAttribute.IteratorStateMachine and KnownAttribute.AsyncStateMachine
7 years ago
Siegfried Pammer
a1ade47b7f
Fix type mismatch in TypeSystemAstBuilder.ConvertConstantValue
7 years ago
Siegfried Pammer
1f04729491
IParameter.Attributes should always be non-null.
7 years ago
Daniel Grunwald
621d90d006
Use MetadataAssembly (the new TS implementation) in DecompilerTypeSystem.
7 years ago
Siegfried Pammer
4cca07aeb3
TransformExpressionTrees: Fix bug in Expression.Quote handling
7 years ago
Siegfried Pammer
929e4d0f59
Fix #977 : Fix loading of mscorlib v1.x
7 years ago
Siegfried Pammer
38c6cba228
Fix #929 : ILSpy doesn't load Silverlight assemblies.
7 years ago
Daniel Grunwald
db47643a41
Interface implementations in TS
7 years ago
Daniel Grunwald
ee3012281d
Implement MetadataEvent and re-work the representation of attribute arguments.
7 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.
7 years ago
Daniel Grunwald
da06a48851
Implement more of the new metadata TS.
7 years ago
Daniel Grunwald
bca3191169
Add MetadataProperty.
7 years ago
Daniel Grunwald
385433aff4
Add MetadataMethod.
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
225a3f9f92
Fix typedef names in IL view
7 years ago
Daniel Grunwald
5c0190b186
Rename TypeAttributeOptions -> TypeSystemOptions
7 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.
7 years ago
Daniel Grunwald
96e3b23ab3
Fix crash in ProxyCallReplacer
7 years ago
Daniel Grunwald
4e449de58d
Show metadata tokens in disassembly.
7 years ago
Daniel Grunwald
802f6e54fd
Refactor DecompilerTypeSystem.ResolveMethod().
7 years ago
Siegfried Pammer
6ca3863c63
Fix #1135 : Redundant constant "&& true" added to decompiled code.
Suppress && / || transformation, if rhs is the identity of the operator.
7 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.
7 years ago
Siegfried Pammer
d04155132a
Use overload resolution to add only required casts to collection initializers.
7 years ago
Siegfried Pammer
a823d74004
Use overload resolution to ensure we call the correct indexer + added tests.
7 years ago
Siegfried Pammer
0ebe2a016b
Accessibility of explicit interface implementations should always be Accessibility.None.
7 years ago
Siegfried Pammer
d8e8735ed0
CallBuilder: Extract overload resolution to its own method.
7 years ago
Siegfried Pammer
cf8bee2c01
Fix translation of generic and extension 'Add' methods in collection initializers.
7 years ago