stringInterpolationContentMultiDouble method

Parser<DartNode> stringInterpolationContentMultiDouble()
inherited

Implementation

Parser<DartNode> stringInterpolationContentMultiDouble() => [
  (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()) |
          (string('"""').not() & pattern(r'^$')))
      .plus()
      .flatten()
      .map(StringLiteralNode.new),
].toChoiceParser();