Exemplo n.º 1
0
        public void Transform()
        {
            var wl = WorkList.Create(ssa.Procedure.Statements);

            while (wl.TryGetWorkItem(out var stm))
            {
                var prjf  = new ProjectionFilter(ssa, stm, sac);
                var instr = stm.Instruction.Accept(prjf);
                stm.Instruction = instr;
                wl.AddRange(prjf.NewStatements);
            }
        }
Exemplo n.º 2
0
        public void Transform()
        {
            var prjf = new ProjectionFilter(arch, ssa, sac);
            var wl   = new WorkList <Statement>(ssa.Procedure.Statements);

            while (wl.GetWorkItem(out var stm))
            {
                prjf.Statement = stm;
                var instr = stm.Instruction.Accept(prjf);
                stm.Instruction = instr;
                wl.AddRange(prjf.NewStatements);
                prjf.NewStatements.Clear();
            }
        }