()
| 184 | } |
| 185 | |
| 186 | func (s *StackSet) fillPlaces() { |
| 187 | for i, stack := range s.Stacks { |
| 188 | seenSrcs := map[int]bool{} |
| 189 | for j, src := range stack.Sources { |
| 190 | if seenSrcs[src] { |
| 191 | continue |
| 192 | } |
| 193 | seenSrcs[src] = true |
| 194 | s.Sources[src].Places = append(s.Sources[src].Places, StackSlot{i, j}) |
| 195 | } |
| 196 | } |
| 197 | } |
| 198 | |
| 199 | // pickColor picks a color for key. |
| 200 | func pickColor(key string) int { |