Esempio n. 1
0
        public void WriteDisassembly(DisassemblyWriter dw)
        {
            if (m_instanceLocal == null)
                dw.WriteLine("static");
            else
            {
                dw.Write("instance ");
                m_instanceLocal.WriteDisassembly(dw);
            }
            dw.WriteLine("args {");
            dw.PushIndent();
            foreach (HighLocal local in m_args)
                local.WriteDisassembly(dw);
            dw.PopIndent();
            dw.WriteLine("}");
            dw.WriteLine("locals {");
            dw.PushIndent();
            foreach (HighLocal local in m_locals)
                local.WriteDisassembly(dw);
            dw.PopIndent();
            dw.WriteLine("}");
            dw.Write("returns ");
            m_returnType.WriteDisassembly(dw);
            dw.WriteLine("");

            CfgWriter cfgWriter = new CfgWriter(dw, m_instanceLocal, m_args, m_locals);

            cfgWriter.GetCfgNodeIndex(m_entryRegion.EntryNode.Value);
            cfgWriter.WriteGraph();
        }
Esempio n. 2
0
        public void WriteDisassembly(CfgWriter cw, DisassemblyWriter dw)
        {
            if (m_phis.Length > 0)
            {
                dw.WriteLine("phis {");
                dw.PushIndent();

                foreach (HighPhi phi in m_phis)
                    phi.WriteDisassembly(cw, dw);
                dw.PopIndent();
                dw.WriteLine("}");
            }

            foreach (HighInstruction instr in m_instructions)
                instr.WriteDisassembly(cw, dw);
        }
Esempio n. 3
0
        public void WriteDisassembly(CfgWriter cw, DisassemblyWriter dw)
        {
            dw.Write("phi ");
            cw.WriteDefSsa(dw, m_dest);
            dw.WriteLine(" {");
            dw.PushIndent();

            foreach (HighPhiLink phiLink in m_links)
                phiLink.WriteDisassembly(cw, dw);

            dw.PopIndent();
            dw.WriteLine("}");
        }