public void computeEntrySet()

in src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java [432:458]


    public void computeEntrySet(final SCXMLExecutionContext exctx, final Step step) {
        final Set<History> historyTargets = new HashSet<>();
        final Set<EnterableState> entrySet = new HashSet<>();
        for (final SimpleTransition st : step.getTransitList()) {
            for (final TransitionTarget tt : st.getTargets()) {
                if (tt instanceof EnterableState) {
                    entrySet.add((EnterableState) tt);
                }
                else {
                    // History
                    historyTargets.add((History)tt);
                }
            }
        }
        for (final EnterableState es : entrySet) {
            addDescendantStatesToEnter(exctx, step, es);
        }
        for (final History h : historyTargets) {
            addDescendantStatesToEnter(exctx, step, h);
        }
        for (final SimpleTransition st : step.getTransitList()) {
            final TransitionalState ancestor = st.getTransitionDomain();
            for (final TransitionTarget tt : st.getTargets()) {
                addAncestorStatesToEnter(exctx, step, tt, ancestor);
            }
        }
    }