402 Commits (ef4dd6431eca770dbfc5b0fbbd72ae2722c49cd9)

Author SHA1 Message Date
Siegfried Pammer ef4dd6431e Add documentation to InlineReturnTransform and SwitchOnStringTransform 9 years ago
Siegfried Pammer 930d142a62 Fix bug in SwitchOnStringTransform introduced by 9719926b6bc1e43c9d43d811e5c27d9e797209b8: Ignore exit instruction if condition is not inverted. Otherwise we need a special case for br and leave. 9 years ago
Daniel Grunwald 66dc52c33c Fix handling of 'leave' instruction in SwitchAnalysis. 9 years ago
Siegfried Pammer 9719926b6b Fix some more bugs in SwitchOnStringTransform 9 years ago
Siegfried Pammer b78ef2209b Add InlineReturnTransform 9 years ago
Siegfried Pammer 4394250d71 Fix Switch(string)-detection in various cases 9 years ago
Siegfried Pammer e0df621e44 Implement translation of cascading if-statements with string comparisons to switch(string). 9 years ago
Siegfried Pammer 41aa4573d9 Fix #498: switches implemented by the compiler as Dictionary lookup are not correctly decompiled 9 years ago
Siegfried Pammer ddd5f43b41 [switch] Add basic SwitchOnStringTransform for Roslyn switch on strings. 9 years ago
Siegfried Pammer d40ecb5e0c [switch] Add StringToInt instruction 9 years ago
Daniel Grunwald ba009e790d Fix #880: NullReferenceException in NullableLiftingTransform. 9 years ago
Daniel Grunwald cf5f3738a9 Fix performance issue due to aggressive debug checks that was causing AppVeyor to time-out. 9 years ago
Daniel Grunwald a6c6ddcea1 Fix #861: Improved loop exit point heuristic. 9 years ago
Daniel Grunwald 1d029b36cb Fix build. 9 years ago
Siegfried Pammer c118a24cbf Use Humanizer in GenerateForeachVariableName 9 years ago
Daniel Grunwald a6559d941b Allow inlining into object/collection initializers. 9 years ago
Daniel Grunwald 7017c6f6e6 Replace LoopingBlockTransform with StatementTransform. 9 years ago
Siegfried Pammer 63cb56b996 Improve AssignVariableNames.IsPlural 9 years ago
Siegfried Pammer 692a1e8e35 Fix #878: InvalidCastException in StatementBuilder.TransformToForeach 9 years ago
Siegfried Pammer c09c4ee404 Fix annotations on identifiers and use correct check for fallback case. 9 years ago
Siegfried Pammer 9bdfdd09ff Add special case for non-generic foreach and add more tests. 9 years ago
Siegfried Pammer 7bbbf39e3a Fix #867: Async delegate tries to access variables with "this." although they are local. 9 years ago
Siegfried Pammer 48f344ed03 Add another pattern for generics/nullable using. 9 years ago
Siegfried Pammer 2b1976c6b5 Fix naming conflict in AssignVariableNames 9 years ago
Siegfried Pammer 2c40b45717 Add support for using on nullables. 9 years ago
Siegfried Pammer 98e4e3418d [using] check variable type and variable usage more strictly. 9 years ago
Daniel Grunwald 6988260ea3 Add ILInlining.IsUsedAsThisPointerInCall(). 9 years ago
Siegfried Pammer e2dab8699f Fix generic using patterns. 9 years ago
Siegfried Pammer 6172dd5bff Extend MatchLdLocRef to work with type parameters as well. 9 years ago
Siegfried Pammer d15d1b86a6 Add transform for new T(). 9 years ago
Siegfried Pammer d1a514b451 Redesign of UsingInstruction. 9 years ago
Siegfried Pammer 5b2c67bf3e Choose better variable names for type parameters. 9 years ago
Siegfried Pammer 48b77d4742 ExpressionTransform: comp(box T(..) [!=]= ldnull) -> comp(.. [!=]= ldnull) where T.Kind == TypeParameter 9 years ago
Daniel Grunwald d0f1b60a04 Fix type names in ILAst debug output. 9 years ago
Daniel Grunwald b5e8571382 [nullables] Support lifting calls to user-defined operators. 9 years ago
Daniel Grunwald f380c29852 Refactor IsGeneratedValueTypeTemporary. 9 years ago
Siegfried Pammer 27aa58a532 Improve GenerateForeachVariableName. 9 years ago
Siegfried Pammer dfeb39f6ee TransformForeach: handle optional return statement after loop. 9 years ago
Daniel Grunwald 46e36f7e9a Fix #868: incorrect inlining of readonly fields. 9 years ago
Siegfried Pammer 44687a01e2 Fix bug in UsingTransform: Do not transform to using, if disposable instance is used after the finally block. 9 years ago
Siegfried Pammer 4f7a479320 Add ILAstWritingOptions parameter to LockInstruction/UsingInstruction.WriteTo, fix merge errors. 9 years ago
Siegfried Pammer 307f782a09 Fix bug in DetectLoop: do not accidentally add IncrementBlock to AdditionalBlocks. 9 years ago
Siegfried Pammer 3c9a0d8a41 Ad #866: No longer use Debug.Assert, but add warnings to AST. 9 years ago
Siegfried Pammer fa25b5d2e8 Implement foreach loop detection in StatementBuilder. 9 years ago
Siegfried Pammer 86d3101b22 Add UnwrapNestedContainerIfPossible to reduce block container nesting in foreach pattern. 9 years ago
Siegfried Pammer d067f0cb6c Add support for pattern with as-cast to IDisposable. 9 years ago
Siegfried Pammer 31469c8ef1 Implement UsingTransform in ILAst. 9 years ago
Siegfried Pammer 4b12a7e983 Improve formatting of constrained CallInstructions. 9 years ago
Siegfried Pammer 38c0981233 Fix naming of stack slots generated by ILReader.Push. 9 years ago
Siegfried Pammer 6da8058587 Add Patterns correctness tests; add missing file headers 9 years ago