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
7 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.
7 years ago
Daniel Grunwald
1c0e61a4c3
Fix #1187 : ArgumentException: Illegal characters in path.
7 years ago
Siegfried Pammer
076c0b49e7
RequiredNamespaceCollector: Add support for method signatures.
7 years ago
Siegfried Pammer
e33d1ddce3
Fix #1183 : Assertion Failed in IntroduceUsingDeclarations on Property
7 years ago
Siegfried Pammer
3e1eda980e
Fix exceptions when selecting struct fields in tree view.
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
0c6236ed7e
Collect namespaces of assembly and module attributes
7 years ago
Siegfried Pammer
a1ade47b7f
Fix type mismatch in TypeSystemAstBuilder.ConvertConstantValue
7 years ago
Daniel Grunwald
621d90d006
Use MetadataAssembly (the new TS implementation) in DecompilerTypeSystem.
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
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
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
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
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
Siegfried Pammer
c7c3801ff1
Add TypeSystemAstBuilder.ConvertAttributeType, which deals with all the special cases when referring to attribute types in attribute context.
7 years ago
Daniel Grunwald
fa2df4df26
Clean up type system interfaces.
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
629e586b25
C# 2.0 mode now disables extension methods.
7 years ago
Daniel Grunwald
98d00415d1
Fix tuple types.
7 years ago
Daniel Grunwald
9a74f018b5
Decode metadata signatures directly into IType; without going through ITypeReference.
7 years ago
Siegfried Pammer
5856df001a
Fix #1111 : Only hide "enum value initializers" when all of them can be hidden or only the first needs to be specified.
7 years ago
Chicken-Bones
9937302313
Improve control flow decompilation with some compilers
...
Add a ControlFlowSimplification step after SplitVariables
Enable dead code removal in some unit tests
7 years ago
Siegfried Pammer
eafce7d6cf
Fix documentation comment on DynamicInvocationType.ObjectCreation
7 years ago
Siegfried Pammer
904aa5269e
Fix various bugs in ExpressionBuilder.VisitDynamic* + refactor DynamicInstructions a bit
7 years ago
Siegfried Pammer
9f883177da
Reset context after PrettifyAssignments.Run
7 years ago
Siegfried Pammer
f2c0f3e70d
Fix bug in CallBuilder.CastArguments: accidentally made *all* casts implicit, which should not happen.
7 years ago
Siegfried Pammer
669dc0ad59
Rewrite dynamic dispatch logic in CallBuilder
7 years ago
CreateAndInject
f389e512ed
Fix #1166
7 years ago
Siegfried Pammer
1c7d14dbbf
Add special case for dynamic types in constructor initializer (this/base) calls
7 years ago
Siegfried Pammer
9d6f864c42
Use DynamicInvocationResolveResult where applicable
7 years ago
Siegfried Pammer
c4f41f459f
Add support for more dynamic binary operators.
7 years ago
Siegfried Pammer
d0683afec4
System.Activator.CreateInstance<T>() -> new T() transform is only valid if T has new() constraint.
7 years ago
Siegfried Pammer
ae781423fa
Refine detection of compiler-generated delegates
7 years ago
Siegfried Pammer
028cbe69a4
Fix decompilation of auto properties with explicit implementation
7 years ago
Siegfried Pammer
87d5091ac9
Fix translation of DynamicInvokeConstructorInstruction
7 years ago
Siegfried Pammer
4c2fa36233
Fix merge conflict
7 years ago
Siegfried Pammer
91c59dd5cf
Hide compiler-generated delegates used for ref/out callsites
7 years ago
Siegfried Pammer
569434d516
Fix #1162 : decompilation of explicitly implemented events and properties
7 years ago