blob: 6a8a21061443f680cda97c8c743b877341844508 [file] [log] [blame]
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart = 2.9
/// @assertion
/// stringLiteral:
/// (multilineString | singleLineString)+
/// ;
/// singleLineString:
/// '"' stringContentDQ* '"' |
/// ''' stringContentSQ* ''' |
/// 'r' ''' (~( ''' | NEWLINE ))* ''' |
/// 'r' '"' (~( '"' | NEWLINE ))* '"'
/// ;
/// stringContentDQ:
/// ~( '\' | '"' | '$' | NEWLINE ) |
/// '\' ~( NEWLINE ) |
/// stringInterpolation
/// ;
/// stringContentSQ:
/// ~( '\' | ''' | '$' | NEWLINE ) |
/// '\' ~( NEWLINE ) |
/// stringInterpolation
/// ;
/// NEWLINE:
/// '\n' |
/// '\r'
/// ;
/// @description Checks that newline characters are not allowed in a
/// raw double-quotes string literal.
/// @author msyabro
/// @reviewer rodionov
/// @note http://code.google.com/p/dart/issues/detail?id=1551
main() {
try {
r"str
// ^
// [analyzer] unspecified
// [cfe] unspecified
ing";
// ^
// [analyzer] unspecified
// [cfe] unspecified
} catch (e) {}
}