func indexesForScope(numAddr int, getAddrFunc addressByIndexFunc, matchFunc ScopeMatchFunc) []int {
	matches := filterAndCollateAddressIndexes(numAddr, getAddrFunc, matchFunc)

	for _, matchType := range scopeMatchHierarchy() {
		indexes, ok := matches[matchType]
		if ok && len(indexes) > 0 {
			return indexes
		}
	}
	return nil
}
// indexesForScope returns the indexes of the addresses with the best
// matching scope and type (according to the matchFunc).
// An empty slice is returned if there were no suitable addresses.
indexesForScope returns the indexes of the addresses with the best
matching scope and type (according to the matchFunc).
An empty slice is returned if there were no suitable addresses.
// indexesForScope returns the indexes of the addresses with the best // matching scope and type ( according to the matchFunc ) . // An empty slice is returned if there were no suitable addresses .
func indexesForScope(numAddr int, getAddrFunc addressByIndexFunc, matchFunc ScopeMatchFunc) []int {
	matches := filterAndCollateAddressIndexes(numAddr, getAddrFunc, matchFunc)
	for _, matchType := range scopeMatchHierarchy() {
		indexes, ok := matches[matchType]
		if ok && len(indexes) > 0 {
			return indexes
		}
	}
	return nil
}
func indexesForScope ( numAddr int , getAddrFunc addressByIndexFunc , matchFunc ScopeMatchFunc ) [ ] int { matches := filterAndCollateAddressIndexes ( numAddr , getAddrFunc , matchFunc ) for _ , matchType := range scopeMatchHierarchy ( ) { indexes , ok := matches [ matchType ] if ok && len ( indexes ) > 0 { return indexes } } return nil }
indexesForScope returns the indexes of the addresses with the best
matching scope and type (according to the matchFunc).
indexesForScope returns the indexes of the addresses with the best matching scope and type ( according to the matchFunc ) .