273 Commits (9479e8af13d5860069c42f899f3498ca0c0fc791)

Author SHA1 Message Date
Daniel Grunwald 9479e8af13 Support overloaded operator &&/||. 7 years ago
Daniel Grunwald 107fe5eb1c Eliminate SpecializingDecompilerTypeSystem and use GenericContext instead. 7 years ago
Daniel Grunwald 33ef82f75c Fix #1082: Add support for compound assignment with string.Concat(). 7 years ago
Siegfried Pammer 4540b93e19 Use ArgumentOutOfRangeException or BadImageFormatException in switch-default sections. 7 years ago
Siegfried Pammer 89544864bf Provide better exceptions and messages in case of errors. 7 years ago
Siegfried Pammer 4f8441e142 Introduce several new WriteReference overloads 7 years ago
Daniel Grunwald 367b396b35 Fix assertion with fields declared in an unresolved class type. 7 years ago
Siegfried Pammer 904aa5269e Fix various bugs in ExpressionBuilder.VisitDynamic* + refactor DynamicInstructions a bit 7 years ago
Siegfried Pammer 6ce53c804b Fix #1168: Extend MatchCompEquals and MatchCompNotEquals to work with multiple nested logic.not instructions 7 years ago
Siegfried Pammer bbe16584f7 Fix #1150: 7 years ago
Siegfried Pammer c4f41f459f Add support for more dynamic binary operators. 7 years ago
Siegfried Pammer 66724db69b Add WriteArgumentList to DynamicInstruction 7 years ago
Siegfried Pammer 83c9d0f2fa Add DynamicInstruction.GetArgumentInfoOfChild 7 years ago
Siegfried Pammer 0bb71f469d Add DynamicCompoundAssign instruction 7 years ago
Daniel Grunwald ca09f09222 Don't use named arguments when IL stack is empty after the stloc. 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
Siegfried Pammer 84f5e057d3 Add DynamicInstruction 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." 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 f021ec4383 NumericCompoundAssign: implement ILiftableInstruction 7 years ago
Daniel Grunwald 3956fa685d Refactor TransformAssignment to reduce code duplication. 7 years ago
Siegfried Pammer 845c620a9f Implement UserDefinedCompoundAssign 7 years ago
Daniel Grunwald 75a627d40b Don't use compound assignment when the RHS value does not fit into the LHS type. 7 years ago
Siegfried Pammer 4aafe2db69 Remove the last traces of Mono.Cecil in ICSharpCode.Decompiler and ILSpy. 7 years ago
Siegfried Pammer adca1f8867 Port ILFunction and SequencePointBuilder 7 years ago
Siegfried Pammer b500b24548 SRM WIP basic implementation of DecompilerTypeSystem 7 years ago
Daniel Grunwald b9337c6129 Fix #1021: Compound assignments on pointer types. 7 years ago
Daniel Grunwald 4d00c65608 Use IReadOnlyList<T> instead of IList<T> in the resolved type system. 7 years ago
Daniel Grunwald 96d9e63f4c Don't unnecessarily default-initialize variables prior to a call with out-parameter. 7 years ago
Siegfried Pammer adda97cf84 Add AwaitInFinallyTransform 7 years ago
Siegfried Pammer 384111f0dd Fix #1075: NullReferenceException in StatementBuilder.TranslateSwitch 7 years ago
Siegfried Pammer 7544eac5b4 Add support for mcs 2.6.4 switch-on-string 7 years ago
Daniel Grunwald 4177e182fe #1050: Add support for ?. operator applied to ref-parameters, and other cases where the compiler uses a generated ref local for the ?. operator. 7 years ago
Daniel Grunwald 36035de5fa Improve decompilation of ?. in generic code. 7 years ago
Daniel Grunwald ca0fa55af8 Implement null propagation transform. 8 years ago
Daniel Grunwald a8a852b742 Add instructions for modeling the "?." operator in the ILAst. 8 years ago
Daniel Grunwald 9b15b97f89 Fix some more cases where missing references were causing assertions. 8 years ago
Daniel Grunwald ae819526eb Fix assertion when call has unknown target type (due to missing assembly reference). 8 years ago
Daniel Grunwald 0a1921ff67 Fix #1007: post-increment transform incorrect due to variable splitting. 8 years ago
Siegfried Pammer 75a3f6d24b Add result type invariants for instruction arguments. 8 years ago
Siegfried Pammer 33c5e2d3ed Add StackType.F4 and StackType.F8, and instructions LdcF4 and LdcF8. 8 years ago
Siegfried Pammer 203311dd0b Do not crash in BlockContainer.CheckInvariant 8 years ago
Daniel Grunwald 0b442e82bb Ensure stack types for call arguments are correct. 8 years ago
Daniel Grunwald 568b3e2d91 Fix DetectPinnedRegions introducing stack type inconsistencies. 8 years ago
Siegfried Pammer 25eecb90e1 Rename ExpressionTreeType to DelegateType and use ILFunction.DelegateType instead of the NewObj(LdNull, ILFunction) pattern in DelegateConstruction and ExpressionTrees 8 years ago
Siegfried Pammer 049cff2324 Add unit tests, directly use ILFunction instead of NewObj(ILFunction) for expression trees. 8 years ago
Siegfried Pammer 29a2d3ec34 Refactoring of ILFunction: allow Method and CecilMethod to be null for expression trees. 8 years ago
Daniel Grunwald 9a829a2820 ILReader: handle implicit O->Ref conversions 8 years ago
Daniel Grunwald 02db362838 Ensure that StLoc.Value.ResultType == StLoc.Variable.StackType 8 years ago