metadata method

Parser<AnnotationNode> metadata()
inherited

Implementation

Parser<AnnotationNode> metadata() => seq3(
  char('@'),
  ref0(rawIdentifier).plusSeparated(char('.')).flatten(),
  [
    (seq2(pattern(' \t').star(), char('(')).and() & ref0(argumentList)).map(
      (l) => l[1] as List<ArgumentNode>,
    ),
    ref0(hiddenStuffWhitespace).star().map((_) => const <ArgumentNode>[]),
  ].toChoiceParser(),
).map3((_, name, args) => AnnotationNode(name: name, arguments: args));