Interpretation Algorithm calls some() on an OrderedSet
Gavin Kistner <[email protected]> Tue, 24 Jun 2014 23:21:26 +0200
| Newsgroups | gmane.comp.web.voice |
|---|---|
| Message-ID | <[email protected]> |
Trace of a particular code path in the algorithm causes an OrderedSet() to have some() called on it, but this method is not defined for OrderedSet.
enterStates():
statesToEnter = new OrderedSet()
…
computeEntrySet(…,statesToEnter,…)
computeEntrySet(…,statesToEnter,…):
…
addDescendantStatesToEnter(…,statesToEnter,…)
addDescendantStatesToEnter(state,statesToEnter,statesForDefaultEntry):
…
if not statesToEnter.some(…)
Either some() needs to be defined for OrderedSet, or the line above needs to become:
if not statesToEnter.toList().some(…)
The same problem exists in addAncestorStatesToEnter()
(After getting quite far in the tests with LXSC I failed the 3rd preemption test, and decided to rewrite the core interpreter to match the latest spec algorithm in a very direct manner.)