scanStringLiteral method

StringLiteralBuilder? scanStringLiteral({
  1. bool? unescape,
})

Implementation

StringLiteralBuilder? scanStringLiteral({bool? unescape}) {
  // don't use lookahead or lookbehind here
  if (scanner.scan(RegExp(r'"([^"]|(?<=\\)")*"'))) {
    final matched = scanner.lastMatch![0];
    final trimmed = matched!.substring(1, matched.length - 1);
    final stringLiteral = StringLiteral.withDefault().toBuilder()
      ..syntaxSpan = lastSpan()
      ..string = unescape == true ? utils.unescape(trimmed) : trimmed;
    return stringLiteral;
  }
}