Daniel Grunwald
ee3012281d
Implement MetadataEvent and re-work the representation of attribute arguments.
8 years ago
Daniel Grunwald
da06a48851
Implement more of the new metadata TS.
8 years ago
Daniel Grunwald
bca3191169
Add MetadataProperty.
8 years ago
Daniel Grunwald
385433aff4
Add MetadataMethod.
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
225a3f9f92
Fix typedef names in IL view
8 years ago
Daniel Grunwald
5c0190b186
Rename TypeAttributeOptions -> TypeSystemOptions
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
96e3b23ab3
Fix crash in ProxyCallReplacer
8 years ago
Daniel Grunwald
4e449de58d
Show metadata tokens in disassembly.
8 years ago
Daniel Grunwald
802f6e54fd
Refactor DecompilerTypeSystem.ResolveMethod().
8 years ago
Daniel Grunwald
fa2df4df26
Clean up type system interfaces.
8 years ago
Daniel Grunwald
629e586b25
C# 2.0 mode now disables extension methods.
8 years ago
Daniel Grunwald
98d00415d1
Fix tuple types.
8 years ago
Daniel Grunwald
9a74f018b5
Decode metadata signatures directly into IType; without going through ITypeReference.
8 years ago
Siegfried Pammer
c2b1ce4443
Add AnalyzedMethodUsedByTreeNode
8 years ago
Daniel Grunwald
909df643b5
Remove dead NRefactory code: DomRegion + IUnresolvedFile
8 years ago
Daniel Grunwald
c79b29ab41
AstTypeBuilder: Distribute type arguments on outer types and nested type.
8 years ago
Siegfried Pammer
7298592df7
Fix stack overflow in RequiredNamespaceCollector
8 years ago
Daniel Grunwald
9be83b6175
Upgrade to Cecil 0.10.0.
...
Delete the cecil submodule; we're no longer using it.
8 years ago
Daniel Grunwald
f86bec4e0c
Move named arguments to its own transform.
...
Like other statement transforms that build inline blocks, it's
important that the named argument transform runs after the
ExpressionTransforms.
8 years ago
Daniel Grunwald
ca09f09222
Don't use named arguments when IL stack is empty after the stloc.
...
An empty stack indicates the statement is complete, so the code
is usually more readable if we keep the local variable.
8 years ago
Daniel Grunwald
21d3881e37
Introduce named arguments only in the statement transform.
...
Don't use extension method syntax when 'this' parameter of
extension method is named.
8 years ago
Daniel Grunwald
810adea8b4
#1083 : Initial implementation of named arguments.
8 years ago
Daniel Grunwald
bcc1586f72
ILAst transform for named arguments.
8 years ago
Siegfried Pammer
47788a38de
WIP
8 years ago
Daniel Grunwald
243a347da1
Revert "#1083: Add ArgumentToParameterMap to CallInstruction, in ILAst output call arguments are now prefixed with the parameter index they correspond to, if the mapping is different from the default."
...
This reverts commit 60ace84f26 .
8 years ago
Daniel Grunwald
5cdd5ecdbc
Use target typing for tuples, where possible.
8 years ago
Daniel Grunwald
926c7850ac
Distinguish between unknown type and no type.
8 years ago
Siegfried Pammer
b3db473211
Fix bug in AssignVariableNames: The first parameter of indexer getters was not properly handled.
8 years ago
Siegfried Pammer
1646be7482
#1145 : Make type arguments optional in mcs auto event pattern.
8 years ago
Siegfried Pammer
e012fe04be
Fix #1146 : C#3+ property accessor generates bad "[field: " tag on the accessor
8 years ago
Siegfried Pammer
9443983819
Fix #1144 : MatchRoslynCaseBlockHead did not handle inverse conditions properly.
8 years ago
Siegfried Pammer
60ace84f26
#1083 : Add ArgumentToParameterMap to CallInstruction, in ILAst output call arguments are now prefixed with the parameter index they correspond to, if the mapping is different from the default.
8 years ago
Daniel Grunwald
50509c4985
Fix #1140 : Fix assertion when finally block unconditionally throws an exception.
8 years ago
Siegfried Pammer
91389245fd
#545 : Add hyperlink on enum values and argument names in attribute declarations.
8 years ago
Siegfried Pammer
ad06a01441
Fix #1117 : NullReferenceException at Transforms.PatternStatementTransform.TransformForeachOnArray
8 years ago
Siegfried Pammer
bd15d69ada
Add test cases for #1138
8 years ago
Siegfried Pammer
5290677f80
Fix #1138 : Array-index out of bounds crash in TransformArrayInitializers.HandleSimpleArrayInitializer
8 years ago
Siegfried Pammer
bb67948844
Fix remaining compile errors after merge.
8 years ago
Siegfried Pammer
1941948a4b
Further improvements to MetadataResolver and MainWindow.FindTreeNode
8 years ago
Siegfried Pammer
840c81586a
Extend MetadataResolver to work with nested TypeRefs
8 years ago
Siegfried Pammer
ac00b1e42c
Fix implementations of BaseTypesEntryNode and DerivedTypesEntryNode and Language.TypeToString
8 years ago
Siegfried Pammer
458f448fae
Avoid unnecessary allocations of MetadataReader and clean up Dom structs a bit.
8 years ago
Daniel Grunwald
92b72c9570
Type system: add support for tuple conversions.
8 years ago
Daniel Grunwald
469501210c
Add support for C# 7 tuple types:
...
* Use tuple literals instead of calling 'new ValueTuple<..>' constructor
* Where available, use element names for field access
* Make CallBuilder aware of tuple-name/dynamic type erasure, to avoid introducing casts when the types differ only in the tuple element names.
* Make CallBuilder provide a ResolveResult with the correct C# return type for the resulting expression.
Previously we were using the type-erased return type from the IL.
* Fix a bug that caused us to introduce returning casts when accessing an indexer.
8 years ago
Daniel Grunwald
395bc185a3
Decompile TupleElementNamesAttribute into tuple type syntax.
8 years ago
Daniel Grunwald
d78d423d10
Add tuple types to type system and syntax tree.
8 years ago
Daniel Grunwald
7757d98672
Remove unused IProjectContent+ISolutionSnapshot from type system.
8 years ago
Daniel Grunwald
61cbdd6f01
Removed unused TS code: IType.ToTypeReference()
8 years ago