stringInterpolationContentSingle method

Parser<DartNode> stringInterpolationContentSingle()
inherited

Implementation

Parser<DartNode> stringInterpolationContentSingle() => [
  (string(r'${') & ref0(expression) & char('}')).map(
    (list) => list[1] as ExpressionNode,
  ),
  (char(r'$') & ref0(interpolationIdentifier)).map(
    (list) => IdentifierNode(list[1] as String),
  ),
  (string(r"\'") |
          string(r'\\') |
          string(r'\$') |
          (char(r'$') & (char('{') | ref0(interpolationIdentifier)).not()) |
          pattern("^'\$\r\n"))
      .plus()
      .flatten()
      .map(StringLiteralNode.new),
].toChoiceParser();