예제 #1
0
 public void WriteDisassembly(CfgWriter cw, DisassemblyWriter dw)
 {
     cw.WriteCfgNode(dw, m_predecessor.Value);
     dw.Write(" ");
     cw.WriteUseSsa(dw, m_reg);
     dw.WriteLine("");
 }
예제 #2
0
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.WriteToken(m_field);
 }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.WriteMethodHandleKey(m_methodHandle);
     dw.Write(" ");
     dw.Write(m_parameters.Length.ToString());
 }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.Write(m_vtableSlotIndex.ToString());
     dw.Write(" ");
     dw.Write(m_parameters.Length.ToString());
 }
예제 #5
0
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.Write(m_routeID.ToString());
 }
예제 #6
0
파일: HighPhi.cs 프로젝트: elasota/clarity
        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("}");
        }
예제 #7
0
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.Write(m_cases.Length.ToString());
 }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.Write(m_fieldIndex.ToString());
 }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.Write(m_conversionType.ToString());
     dw.Write(" ");
     dw.Write(m_destPrecision.ToString());
     dw.Write(" ");
     dw.Write(m_sourcePrecision.ToString());
 }
        protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
        {
            dw.Write(m_routeTerminations.Length.ToString());

            foreach (EdgedRouteTermination term in m_routeTerminations)
            {
                dw.Write(" ");
                dw.Write(term.RouteID.ToString());
            }
        }
예제 #11
0
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     m_type.WriteDisassembly(dw);
     dw.Write(" ");
     dw.WriteToken(m_fieldName);
     dw.Write(" ");
     dw.Write(m_isStatic.ToString());
 }
예제 #12
0
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.Write(m_arithOp.ToString());
     dw.Write(" ");
     dw.Write(m_arithType.ToString());
     dw.Write(" ");
     dw.Write(m_checkOverflow.ToString());
 }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.Write("ENTERPROTECTEDBLOCK");
 }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     m_methodSpec.WriteDisassembly(dw);
     dw.Write(" ");
     m_constraintType.WriteDisassembly(dw);
     dw.Write(" ");
     dw.Write(m_parameters.Length.ToString());
 }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     m_methodSpec.WriteDisassembly(dw);
 }
예제 #16
0
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     dw.Write(m_operation.ToString());
     dw.Write(" ");
     dw.Write(m_numberType.ToString());
     dw.Write(" ");
     dw.Write(m_trueValue.ToString());
     dw.Write(" ");
     dw.Write(m_falseValue.ToString());
 }
예제 #17
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();
        }
예제 #18
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);
        }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     m_mdType.WriteDisassembly(dw);
 }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
 }
 protected override void WriteDisassemblyImpl(CfgWriter cw, DisassemblyWriter dw)
 {
     m_staticType.WriteDisassembly(dw);
     dw.Write(" ");
     dw.WriteToken(m_fieldName);
 }