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); }
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 ? ")" : ","); } } }