func()

in src/ct/parser/item.go [211:243]


func (is *Items) TrimUnknownItems() {
	a := *is
	if len(a) < 2 {
		return
	}
	j := 0
	for i := 1; i < len(a); i++ {
		if a[j].typ == itemUnknown && a[i].typ == itemUnknown {
			continue
		}
		j++
		a[j] = a[i]
	}
	a = a[:j+1]
	if len(a) > 0 && a[0].typ == itemUnknown {
		a = a[1:]
	}

	j = 0
	for i := 1; i < len(a); i++ {
		if (a[j].typ == itemVariable || a[j].typ == itemUnit) && a[i].typ == itemUnknown {
			continue
		}
		if a[j].typ == itemUnknown && (a[i].typ == itemVariable || a[i].typ == itemUnit) {
			a[j] = a[i]
			continue
		}
		j++
		a[j] = a[i]
	}

	*is = a[:j+1]
}