Class ParseTreePattern
java.lang.Object
org.antlr.v4.runtime.tree.pattern.ParseTreePattern
A pattern like
<ID> = <expr>;
converted to a ParseTree
by
ParseTreePatternMatcher.compile(String, int)
.-
Constructor Summary
ConstructorsConstructorDescriptionParseTreePattern
(ParseTreePatternMatcher matcher, String pattern, int patternRuleIndex, ParseTree patternTree) Construct a new instance of theParseTreePattern
class. -
Method Summary
Modifier and TypeMethodDescriptionFind all nodes using XPath and then try to match those subtrees against this tree pattern.Get theParseTreePatternMatcher
which created this tree pattern.Get the tree pattern in concrete syntax form.int
Get the parser rule which serves as the outermost rule for the tree pattern.Get the tree pattern as aParseTree
.Match a specific parse tree against this tree pattern.boolean
Determine whether or not a parse tree matches this tree pattern.
-
Constructor Details
-
ParseTreePattern
public ParseTreePattern(ParseTreePatternMatcher matcher, String pattern, int patternRuleIndex, ParseTree patternTree) Construct a new instance of theParseTreePattern
class.- Parameters:
matcher
- TheParseTreePatternMatcher
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 inParseTree
form.
-
-
Method Details
-
match
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. TheParseTreeMatch.succeeded()
method can be used to determine whether or not the match was successful.
-
matches
Determine whether or not a parse tree matches this tree pattern.- Parameters:
tree
- The parse tree to match against this tree pattern.- Returns:
true
iftree
is a match for the current tree pattern; otherwise,false
.
-
findAll
Find all nodes using XPath and then try to match those subtrees against this tree pattern.- Parameters:
tree
- TheParseTree
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.
-
getMatcher
Get theParseTreePatternMatcher
which created this tree pattern.- Returns:
- The
ParseTreePatternMatcher
which created this tree pattern.
-
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
Get the tree pattern as aParseTree
. The rule and token tags from the pattern are present in the parse tree as terminal nodes with a symbol of typeRuleTagToken
orTokenTagToken
.- Returns:
- The tree pattern as a
ParseTree
.
-