Interface Chaining


public interface Chaining
Used to maintain a list of anaphoric chains. ChainElement
  • Method Summary

    Static Methods
    Modifier and Type Method Description
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    List<C>
    addChain​(List<C> existingChains, C newChain)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    List<C>
    emptyListOfChains()  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    List<C>
    linkToPrevious​(List<C> nextElements, C previous, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    List<C>
    merge​(List<C> existingChains, A anaphora, AT anaphorAttachment, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    List<C>
    merge​(List<C> existingChains, C newChain, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    List<C>
    merge​(List<C> existingChains, List<C> newChains, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    C
    mergeByRelatedExpression​(C existingRoot, C newRoot, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    C
    mergeForEqualRelatedExpression​(C existingRoot, C newRoot, AtomicBoolean ruleApplied, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    org.apache.commons.lang3.tuple.Pair<Boolean,​List<C>>
    mergeForEqualRelatedExpression​(List<C> existingChains, C newChain, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    boolean
    relatedExpressionsAreEqual​(C existingRoot, C newRoot)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    List<C>
    singletonListOfChains​(A anaphora, AT anaphorAttachment, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
    static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    C
    toChain​(A anaphora, AT anaphorAttachment, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
    static <TB extends B,​ PP,​ E,​ T,​ I,​ B,​ QI,​ EV,​ N,​ S,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>>
    C
    toChain​(RelatedExpressionPart<N,​E,​T,​B,​TB,​S,​I,​QI,​R> relatedExpressionPart, AnaphorPart<N,​E,​T,​B,​TB,​S,​I,​QI,​R,​A> anaphorPart, AT anaphorAttachment, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)  
  • Method Details

    • emptyListOfChains

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> List<C> emptyListOfChains()
      Type Parameters:
      N - The node type in the AST
      E - The expression type
      T - The type type
      B - The binding type
      TB - The type binding type
      S - The scope type (optional)
      I - The type used to represent identifiers
      QI - The type used to represent qualified identifiers
      AT - The type used for attachments to chain elements that have an anaphor part. The attachment may be used to stored e.g. an old anaphora relation.
      R - The sub-type of related expression to use
      A - The sub-type of AST-based anaphora to use
      C - The sub-type of chain element to use
    • singletonListOfChains

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> List<C> singletonListOfChains​(A anaphora, AT anaphorAttachment, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • toChain

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> C toChain​(A anaphora, AT anaphorAttachment, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • toChain

      static <TB extends B,​ PP,​ E,​ T,​ I,​ B,​ QI,​ EV,​ N,​ S,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> C toChain​(RelatedExpressionPart<N,​E,​T,​B,​TB,​S,​I,​QI,​R> relatedExpressionPart, AnaphorPart<N,​E,​T,​B,​TB,​S,​I,​QI,​R,​A> anaphorPart, AT anaphorAttachment, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • merge

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> List<C> merge​(List<C> existingChains, A anaphora, AT anaphorAttachment, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • merge

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> List<C> merge​(List<C> existingChains, List<C> newChains, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • merge

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> List<C> merge​(List<C> existingChains, C newChain, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • mergeForEqualRelatedExpression

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> org.apache.commons.lang3.tuple.Pair<Boolean,​List<C>> mergeForEqualRelatedExpression​(List<C> existingChains, C newChain, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • mergeForEqualRelatedExpression

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> C mergeForEqualRelatedExpression​(C existingRoot, C newRoot, AtomicBoolean ruleApplied, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • relatedExpressionsAreEqual

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> boolean relatedExpressionsAreEqual​(C existingRoot, C newRoot)
    • mergeByRelatedExpression

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> C mergeByRelatedExpression​(C existingRoot, C newRoot, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • linkToPrevious

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> List<C> linkToPrevious​(List<C> nextElements, C previous, ChainElementFactory<N,​E,​T,​B,​TB,​S,​I,​QI,​AT,​R,​A,​C> factory)
    • addChain

      static <N,​ E,​ T,​ B,​ TB extends B,​ S,​ I,​ QI,​ AT,​ R extends RelatedExpression<N,​ T,​ B,​ TB,​ S,​ QI,​ R>,​ A extends ASTBasedAnaphora<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ R,​ A>,​ C extends ChainElement<N,​ E,​ T,​ B,​ TB,​ S,​ I,​ QI,​ AT,​ R,​ A,​ C>> List<C> addChain​(List<C> existingChains, C newChain)