예제 #1
0
        public void TrfMergeSubregisterRegister()
        {
            Given_Contexts();
            var cl = frame.EnsureRegister(Registers.cl);
            var cx = frame.EnsureRegister(Registers.cx);

            trf.RegisterSymbolicValues[cl.Storage] = Constant.Zero(cl.DataType);
            blockflow.SymbolicIn.SetValue(cx, Constant.Invalid);
            trf.MergeDataFlow(blockflow);

            var sw = new StringWriter();

            DataFlow.EmitRegisterValues("", blockflow.SymbolicIn.RegisterState, sw);
            Assert.AreEqual("cx:<invalid>", sw.ToString());
        }