Class ParseTreePattern

    • Constructor Detail

      • ParseTreePattern

        public ParseTreePattern​(ParseTreePatternMatcher matcher,
                                String pattern,
                                int patternRuleIndex,
                                ParseTree patternTree)
        Construct a new instance of the ParseTreePattern class.
        Parameters:
        matcher - The ParseTreePatternMatcher which created this tree pattern.
        pattern - The tree pattern in concrete syntax form.
        patternRuleIndex - The parser rule which serves as the root of the tree pattern.
        patternTree - The tree pattern in ParseTree form.
    • Method Detail

      • match

        public ParseTreeMatch match​(ParseTree tree)
        Match a specific parse tree against this tree pattern.
        Parameters:
        tree - The parse tree to match against this tree pattern.
        Returns:
        A ParseTreeMatch object describing the result of the match operation. The ParseTreeMatch.succeeded() method can be used to determine whether or not the match was successful.
      • matches

        public boolean matches​(ParseTree tree)
        Determine whether or not a parse tree matches this tree pattern.
        Parameters:
        tree - The parse tree to match against this tree pattern.
        Returns:
        true if tree is a match for the current tree pattern; otherwise, false.
      • findAll

        public List<ParseTreeMatch> findAll​(ParseTree tree,
                                            String xpath)
        Find all nodes using XPath and then try to match those subtrees against this tree pattern.
        Parameters:
        tree - The ParseTree to match against this pattern.
        xpath - An expression matching the nodes
        Returns:
        A collection of ParseTreeMatch objects describing the successful matches. Unsuccessful matches are omitted from the result, regardless of the reason for the failure.
      • getPattern

        public String getPattern()
        Get the tree pattern in concrete syntax form.
        Returns:
        The tree pattern in concrete syntax form.
      • getPatternRuleIndex

        public int getPatternRuleIndex()
        Get the parser rule which serves as the outermost rule for the tree pattern.
        Returns:
        The parser rule which serves as the outermost rule for the tree pattern.
      • getPatternTree

        public ParseTree getPatternTree()
        Get the tree pattern as a ParseTree. The rule and token tags from the pattern are present in the parse tree as terminal nodes with a symbol of type RuleTagToken or TokenTagToken.
        Returns:
        The tree pattern as a ParseTree.