Siegfried Pammer
805b9f4bb4
Add missing CallInlineAssign block kind to ILInlining.FindLoadInNext
7 years ago
Siegfried Pammer
3d4e38ddce
Fix #538 : Give higher priority to out parameters when naming variables
7 years ago
Siegfried Pammer
6ce53c804b
Fix #1168 : Extend MatchCompEquals and MatchCompNotEquals to work with multiple nested logic.not instructions
7 years ago
CreateAndInject
f389e512ed
Fix #1166
7 years ago
Siegfried Pammer
bbe16584f7
Fix #1150 :
...
- Allow unknown type in BinaryNumericInstruction
- Make conversions explicit: I+I8=I8, I4+I8=I8, F4+F8=F8
7 years ago
Siegfried Pammer
028cbe69a4
Fix decompilation of auto properties with explicit implementation
7 years ago
Siegfried Pammer
569434d516
Fix #1162 : decompilation of explicitly implemented events and properties
7 years ago
Siegfried Pammer
dfa99a8c1f
Fix build.
7 years ago
Siegfried Pammer
abbf3d0429
Fix #1158 : C# 1 switch pattern improvement
7 years ago
Siegfried Pammer
0a992d2158
Fix build.
7 years ago
Siegfried Pammer
b9f14905b2
Fix #1155 : DictionaryInitializers setting not working
7 years ago
Siegfried Pammer
8d247a9c59
Fix #1156 : Treat float, double and decimal < 0 as unary expressions in InsertParenthesesVisitor
7 years ago
Siegfried Pammer
8f47e8429b
Fix #1157 : Decompilation of abstract events and overridden auto events
7 years ago
Siegfried Pammer
7599d0c410
Try to resolve exported types in XmlDocKeyProvider.FindType
7 years ago
Daniel Grunwald
9be83b6175
Upgrade to Cecil 0.10.0.
...
Delete the cecil submodule; we're no longer using it.
7 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.
7 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.
7 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.
7 years ago
Daniel Grunwald
810adea8b4
#1083 : Initial implementation of named arguments.
7 years ago
Daniel Grunwald
bcc1586f72
ILAst transform for named arguments.
7 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
.
7 years ago
Daniel Grunwald
5cdd5ecdbc
Use target typing for tuples, where possible.
7 years ago
Daniel Grunwald
926c7850ac
Distinguish between unknown type and no type.
7 years ago
Siegfried Pammer
b3db473211
Fix bug in AssignVariableNames: The first parameter of indexer getters was not properly handled.
7 years ago
Siegfried Pammer
1646be7482
#1145 : Make type arguments optional in mcs auto event pattern.
7 years ago
Siegfried Pammer
e012fe04be
Fix #1146 : C#3+ property accessor generates bad "[field: " tag on the accessor
7 years ago
Siegfried Pammer
9443983819
Fix #1144 : MatchRoslynCaseBlockHead did not handle inverse conditions properly.
7 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.
7 years ago
Daniel Grunwald
50509c4985
Fix #1140 : Fix assertion when finally block unconditionally throws an exception.
7 years ago
Siegfried Pammer
91389245fd
#545 : Add hyperlink on enum values and argument names in attribute declarations.
7 years ago
Siegfried Pammer
ad06a01441
Fix #1117 : NullReferenceException at Transforms.PatternStatementTransform.TransformForeachOnArray
7 years ago
Siegfried Pammer
bd15d69ada
Add test cases for #1138
7 years ago
Siegfried Pammer
5290677f80
Fix #1138 : Array-index out of bounds crash in TransformArrayInitializers.HandleSimpleArrayInitializer
7 years ago
Daniel Grunwald
92b72c9570
Type system: add support for tuple conversions.
7 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.
7 years ago
Daniel Grunwald
395bc185a3
Decompile TupleElementNamesAttribute into tuple type syntax.
7 years ago
Daniel Grunwald
d78d423d10
Add tuple types to type system and syntax tree.
7 years ago
Daniel Grunwald
7757d98672
Remove unused IProjectContent+ISolutionSnapshot from type system.
7 years ago
Daniel Grunwald
61cbdd6f01
Removed unused TS code: IType.ToTypeReference()
7 years ago
Daniel Grunwald
0b48439170
Remove dead code from type system (CSharpConstantValue).
7 years ago
Daniel Grunwald
182ce2a7c3
Remove unused JsonWriter.
7 years ago
Siegfried Pammer
c53b898b55
Fix #1122 : Error decompiling dictionary initializer referencing parameter variable
7 years ago
Siegfried Pammer
ceb4e3eed0
Add C# 7.3 to language version dropdown.
7 years ago
Siegfried Pammer
69fdc55b41
Add support for C# 7.3 Attributes on backing fields: Allows [field: …] attributes on an auto-implemented property to target its backing field.
7 years ago
Daniel Grunwald
f4bbd100b9
Fix user-defined op_Addition 'p += 1;' being turned into 'p++;'
7 years ago
Siegfried Pammer
504fe200b6
Fix #1131 : Add a few safety null checks in TransformForeachOnMultiDimArray
7 years ago
Siegfried Pammer
644941d25b
Fix C# 1.0 switch on string transform and add tests
7 years ago
Daniel Grunwald
0552b335c9
Implement InferType() for ldelema.
...
This improves decompilation of compound assignment on array elements.
7 years ago
Daniel Grunwald
f021ec4383
NumericCompoundAssign: implement ILiftableInstruction
7 years ago
Daniel Grunwald
3956fa685d
Refactor TransformAssignment to reduce code duplication.
7 years ago