Currently, the loop will insert entries into the class_contexts set, and then use the absence or presence to affect decisions made by later iterations of the same loop.
In order to support parallelizing the loop, this change moves those decisions to always occur after the main loop, instead of sometimes occurring after the loop.
Note the old code checked that symbol_contexts[] (aka const_context above) is "true." However, because of the code above, we would never get here unless it is true. So I removed the check.