matches method

bool matches(
  1. ParseTree tree, {
  2. ParseTreePattern? pattern,
  3. String? patternStr,
  4. int? patternRuleIndex,
})

Does pattern matched as rule patternRuleIndex match tree? Pass in a compiled pattern instead of a string representation of a tree pattern.

Implementation

bool matches(
  ParseTree tree, {
  ParseTreePattern? pattern,
  String? patternStr,
  int? patternRuleIndex,
}) {
  assert(pattern != null || patternStr != null && patternRuleIndex != null);
  pattern ??= compile(patternStr!, patternRuleIndex!);

  final labels = MultiMap<String, ParseTree>();
  final mismatchedNode = matchImpl(tree, pattern.patternTree, labels);
  return mismatchedNode == null;
}