Ejemplo n.º 1
0
        public LocalDefinition[] GetLocalDefinitions()
        {
            LocalDefinition[] result = new LocalDefinition[slotManager.NumSlots];

            if (moduleBeingBuilt != null)
            {
                for (int i = 0; i < slotManager.NumSlots; ++i)
                {
                    var local = slotManager.LocalAtSlot(i);
                    result[i] = new LocalDefinition(local.Name, moduleBeingBuilt.Translate(local.Type));
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        private void VisualizeHeader(StringBuilder sb)
        {
            sb.AppendLine(String.Format("  // Code size {0,8} (0x{0:x})", stream.CodeSize));

            if (slotManager.NumSlots > 0)
            {
                for (int i = 0; i < slotManager.NumSlots; ++i)
                {
                    sb.Append(i == 0 ? "  .locals init (" : "           ");
                    LocalSymbol l = slotManager.LocalAtSlot(i);
                    sb.Append(String.Format("[{0}] {1} {2}", i, l.Type, l.Name));
                    sb.AppendLine(i == slotManager.NumSlots - 1 ? ")" : ",");
                }
            }
        }