Interface ASTTransformation<N,​E,​T,​B,​TB extends B,​S,​I,​QI,​R extends RelatedExpression<N,​T,​B,​TB,​S,​QI,​R>,​A extends ASTBasedAnaphora<N,​E,​T,​B,​TB,​S,​I,​QI,​R,​A>>

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
R - The sub-type of related expression to use
A - The sub-type of AST-based anaphora to use

public interface ASTTransformation<N,​E,​T,​B,​TB extends B,​S,​I,​QI,​R extends RelatedExpression<N,​T,​B,​TB,​S,​QI,​R>,​A extends ASTBasedAnaphora<N,​E,​T,​B,​TB,​S,​I,​QI,​R,​A>>
An AST transformation.
  • Method Summary

    Modifier and Type Method Description
    A perform​(A preliminaryAnaphora)
    Perform the transformation and convert the given preliminary anaphora (that is based on the AST before the transformation) into a potential anaphora that is based on the AST after the transformation (which might contain new nodes).
  • Method Details

    • perform

      A perform​(A preliminaryAnaphora)
      Perform the transformation and convert the given preliminary anaphora (that is based on the AST before the transformation) into a potential anaphora that is based on the AST after the transformation (which might contain new nodes).

      The relationship between the transformation and preliminary anaphora depends on the kind of transformation. I.e. a certain transformation might introduce a node that exchanges the related expression from the preliminary anaphora by a new node that is eventually used in the potential anaphora while another transformation might replace other nodes.

      The potential anaphor uses the same strategies as the preliminary anaphora, though.

      TODO: error handling: what shall happen if the transformation fails?

      Parameters:
      preliminaryAnaphora - the preliminary anaphora
      Returns:
      a potential anaphora relation