Interface ShadowChainIterator<S,​I>

    • Method Detail

      • next

        ShadowChainNode<S,​I> next()
        Returns the next node in the chain that contains a declaration for the name this iterator searches. If that group exists (hasNext()) then the symbols yielded by getResults() are shadowed in the previous groups that were yielded (unless they are the same symbols, in which case there could be eg duplicate imports).
        Specified by:
        next in interface Iterator<S>
      • getScopeTag

        I getScopeTag()
        Returns the scope tag of the shadow group that was last yielded.
        Throws:
        IllegalStateException - If next() has not been called
      • getResults

        List<S> getResults()
        Returns the results of the search at the point the iterator is stopped. This list is nonempty.Note that a shadow chain iterator considers results node by node, it won't ask the next nodes in the tree.
        Throws:
        IllegalStateException - If next() has not been called