Ejemplo n.º 1
0
 protected internal override void VisitStObj(StObj inst)
 {
     base.VisitStObj(inst);
     if (EarlyExpressionTransforms.StObjToStLoc(inst, context))
     {
         context.RequestRerun();
         return;
     }
     TransformAssignment.HandleCompoundAssign(inst, context);
 }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
 protected internal override void VisitStLoc(StLoc inst)
 {
     base.VisitStLoc(inst);
     TransformAssignment.HandleCompoundAssign(inst, context);
 }
Ejemplo n.º 4
0
 protected internal override void VisitCallVirt(CallVirt inst)
 {
     base.VisitCallVirt(inst);
     TransformAssignment.HandleCompoundAssign(inst, context);
 }