protected internal override void VisitStObj(StObj inst) { base.VisitStObj(inst); if (EarlyExpressionTransforms.StObjToStLoc(inst, context)) { context.RequestRerun(); return; } TransformAssignment.HandleCompoundAssign(inst, context); }
protected internal override void VisitCall(Call inst) { var expr = EarlyExpressionTransforms.HandleCall(inst, context); if (expr != null) { // The resulting expression may trigger further rules, so continue visiting the replacement: expr.AcceptVisitor(this); } else { base.VisitCall(inst); TransformAssignment.HandleCompoundAssign(inst, context); } }
protected internal override void VisitStLoc(StLoc inst) { base.VisitStLoc(inst); TransformAssignment.HandleCompoundAssign(inst, context); }
protected internal override void VisitCallVirt(CallVirt inst) { base.VisitCallVirt(inst); TransformAssignment.HandleCompoundAssign(inst, context); }