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) void IStatementTransform.Run(Block block, int pos, StatementTransformContext context)
{ {
this.context = context; this.context = context;
if (TransformInlineAssignmentStObjOrCall(block, pos) || TransformInlineAssignmentLocal(block, pos)) { if (context.Settings.MakeAssignmentExpressions) {
// both inline assignments create a top-level stloc which might affect inlining if (TransformInlineAssignmentStObjOrCall(block, pos) || TransformInlineAssignmentLocal(block, pos)) {
context.RequestRerun(); // both inline assignments create a top-level stloc which might affect inlining
return; context.RequestRerun();
return;
}
} }
if (TransformPostIncDecOperatorWithInlineStore(block, pos) if (context.Settings.IntroduceIncrementAndDecrement) {
|| TransformPostIncDecOperator(block, pos) if (TransformPostIncDecOperatorWithInlineStore(block, pos)
|| TransformPostIncDecOperatorLocal(block, pos)) || TransformPostIncDecOperator(block, pos)
{ || TransformPostIncDecOperatorLocal(block, pos)) {
// again, new top-level stloc might need inlining: // again, new top-level stloc might need inlining:
context.RequestRerun(); context.RequestRerun();
return; return;
}
} }
} }

Loading…
Cancel
Save