in reactor/Core/src/jetbrains/mps/logic/reactor/core/RuleIndex.kt [70:81]
fun forOccurrence(occ: ConstraintOccurrence): Iterable<Rule> {
val (ruleBits, slotMasks) = symbol2index[occ.constraint().symbol()]?.select(occ) ?: return emptyList()
val result = ArrayList<OrderedRule>()
val itr = ruleBits.iterator()
while (itr.hasNext()) {
bit2ruleAndMask[itr.next()]?.let{
result.add(it.first)
}
}
result.sortBy { it.order }
return result.map { it.rule }
}