···291292type LabelState struct {
293 inner map[string]set
0294}
295296func NewLabelState() LabelState {
297 return LabelState{
298 inner: make(map[string]set),
0299 }
300}
3010000000000000302func (s LabelState) Inner() map[string]set {
303 return s.inner
0000304}
305306func (s LabelState) ContainsLabel(l string) bool {
···347 // this def was deleted, but an op exists, so we just skip over the op
348 return nil
349 }
00350351 switch op.Operation {
352 case LabelOperationAdd:
···291292type LabelState struct {
293 inner map[string]set
294+ names map[string]string
295}
296297func NewLabelState() LabelState {
298 return LabelState{
299 inner: make(map[string]set),
300+ names: make(map[string]string),
301 }
302}
303304+func (s LabelState) LabelNames() []string {
305+ var result []string
306+ for key, valset := range s.inner {
307+ if valset == nil {
308+ continue
309+ }
310+ if name, ok := s.names[key]; ok {
311+ result = append(result, name)
312+ }
313+ }
314+ return result
315+}
316+317func (s LabelState) Inner() map[string]set {
318 return s.inner
319+}
320+321+func (s LabelState) SetName(key, name string) {
322+ s.names[key] = name
323}
324325func (s LabelState) ContainsLabel(l string) bool {
···366 // this def was deleted, but an op exists, so we just skip over the op
367 return nil
368 }
369+370+ state.names[op.OperandKey] = def.Name
371372 switch op.Operation {
373 case LabelOperationAdd: