Siegfried Pammer
028cbe69a4
Fix decompilation of auto properties with explicit implementation
8 years ago
Siegfried Pammer
569434d516
Fix #1162 : decompilation of explicitly implemented events and properties
8 years ago
Siegfried Pammer
0a992d2158
Fix build.
8 years ago
Siegfried Pammer
b9f14905b2
Fix #1155 : DictionaryInitializers setting not working
8 years ago
Siegfried Pammer
8d247a9c59
Fix #1156 : Treat float, double and decimal < 0 as unary expressions in InsertParenthesesVisitor
8 years ago
Siegfried Pammer
8f47e8429b
Fix #1157 : Decompilation of abstract events and overridden auto events
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
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
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
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
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
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
0b48439170
Remove dead code from type system (CSharpConstantValue).
8 years ago
Siegfried Pammer
c53b898b55
Fix #1122 : Error decompiling dictionary initializer referencing parameter variable
8 years ago
Siegfried Pammer
ceb4e3eed0
Add C# 7.3 to language version dropdown.
8 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.
8 years ago
Daniel Grunwald
f4bbd100b9
Fix user-defined op_Addition 'p += 1;' being turned into 'p++;'
8 years ago
Siegfried Pammer
504fe200b6
Fix #1131 : Add a few safety null checks in TransformForeachOnMultiDimArray
8 years ago
Siegfried Pammer
644941d25b
Fix C# 1.0 switch on string transform and add tests
8 years ago
Daniel Grunwald
0552b335c9
Implement InferType() for ldelema.
...
This improves decompilation of compound assignment on array elements.
8 years ago
Siegfried Pammer
845c620a9f
Implement UserDefinedCompoundAssign
...
rename CompoundAssignmentInstruction -> NumericCompoundAssign
8 years ago
Siegfried Pammer
e7c38b6cbd
Fix bug in PrettifyAssignments: did not convert +=/-= 1 on non-int expressions.
8 years ago
Daniel Grunwald
75a627d40b
Don't use compound assignment when the RHS value does not fit into the LHS type.
8 years ago
Daniel Grunwald
1df05e09e9
Fix base constructor calls.
8 years ago
Daniel Grunwald
d87820e226
Avoid redundant explicit boxing casts
8 years ago
Daniel Grunwald
80e191ae03
Fix missing 'base.' qualifier on non-virtual call to virtual base method.
8 years ago
Chicken-Bones
dc58a1b40c
Include "base." qualifier as needed ( fixes #1123 )
...
Adds BaseReferenceExpression to ThisReferenceExpression target required checks
8 years ago
Siegfried Pammer
271379ec27
#1088 : Add workaround for exception from Cecil
8 years ago
Siegfried Pammer
e9d3f42695
Improvements in CollectNamespacesForDecompilation
8 years ago
Siegfried Pammer
51549134d6
Do never add casts to 'void'.
8 years ago
Siegfried Pammer
f5e44b0f16
CollectNamespacesForDecompilation:
...
- support for marshal info
- support for secdecls
- add base types of referenced types as well, to cover all possible casts that are implicit in IL, but need to be explicit in C#.
8 years ago
Siegfried Pammer
d60618691c
CollectNamespacesForDecompilation: add support for security declarations
8 years ago
Daniel Grunwald
ec86ba2dad
Fix some bugs introduced by nested type lazy-loading.
8 years ago
Siegfried Pammer
5b671e44b4
Optimize IsSpecialConstant: directly use ConstantResolveResult instead of resolving the expression representing +Infty, -Infty and NaN of float and double.
8 years ago
Daniel Grunwald
4c45a41fdb
Remove more dead TypeSystem code: ISymbolReference
8 years ago
Daniel Grunwald
bd85b7644b
Add MetadataToken property to type system.
8 years ago
Siegfried Pammer
c4735833d0
mcs: Fix detection of transparent identifiers.
8 years ago
Siegfried Pammer
75527071ab
Fix redundant qualifiers in method group expressions.
8 years ago
Daniel Grunwald
bd9a7264e8
Fix incorrect resolve result in HandleDelegateConstruction when needsCast=true.
8 years ago
Siegfried Pammer
5dd7eaf129
Fix #1093 : Remove usage of type or this qualifiers, when possible.
8 years ago
Siegfried Pammer
62770cf94c
Fix #1095 : C# decompilation, for flags enums always use hex prefix
8 years ago
Daniel Grunwald
b9337c6129
Fix #1021 : Compound assignments on pointer types.
8 years ago