Browse Source

Fix #1049: Unimplemented decompiler settings

pull/1440/head
Siegfried Pammer 7 years ago
parent
commit
087cb2489d
  1. 25
      ICSharpCode.Decompiler/IL/Transforms/TransformAssignment.cs

25
ICSharpCode.Decompiler/IL/Transforms/TransformAssignment.cs

@ -35,18 +35,21 @@ namespace ICSharpCode.Decompiler.IL.Transforms
void IStatementTransform.Run(Block block, int pos, StatementTransformContext context)
{
this.context = context;
if (TransformInlineAssignmentStObjOrCall(block, pos) || TransformInlineAssignmentLocal(block, pos)) {
// both inline assignments create a top-level stloc which might affect inlining
context.RequestRerun();
return;
if (context.Settings.MakeAssignmentExpressions) {
if (TransformInlineAssignmentStObjOrCall(block, pos) || TransformInlineAssignmentLocal(block, pos)) {
// both inline assignments create a top-level stloc which might affect inlining
context.RequestRerun();
return;
}
}
if (TransformPostIncDecOperatorWithInlineStore(block, pos)
|| TransformPostIncDecOperator(block, pos)
|| TransformPostIncDecOperatorLocal(block, pos))
{
// again, new top-level stloc might need inlining:
context.RequestRerun();
return;
if (context.Settings.IntroduceIncrementAndDecrement) {
if (TransformPostIncDecOperatorWithInlineStore(block, pos)
|| TransformPostIncDecOperator(block, pos)
|| TransformPostIncDecOperatorLocal(block, pos)) {
// again, new top-level stloc might need inlining:
context.RequestRerun();
return;
}
}
}

Loading…
Cancel
Save