2016-05-03 20:15:25 +02:00
|
|
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
|
|
esid: sec-pattern-semantics
|
|
|
|
es6id: 21.2.2
|
|
|
|
description: >
|
|
|
|
NonEmptyClassRangesNoDash production cannot specify a multi-character set
|
|
|
|
("B" parameter)
|
|
|
|
info: |
|
|
|
|
The production
|
|
|
|
NonemptyClassRangesNoDash::ClassAtomNoDash-ClassAtomClassRanges evaluates
|
|
|
|
as follows:
|
|
|
|
|
|
|
|
1. Evaluate ClassAtomNoDash to obtain a CharSet A.
|
|
|
|
2. Evaluate ClassAtom to obtain a CharSet B.
|
|
|
|
3. Evaluate ClassRanges to obtain a CharSet C.
|
|
|
|
4. Call CharacterRange(A, B) and let D be the resulting CharSet.
|
|
|
|
|
|
|
|
21.2.2.15.1 Runtime Semantics: CharacterRange Abstract Operation
|
|
|
|
|
|
|
|
1. If A does not contain exactly one character or B does not contain
|
|
|
|
exactly one character, throw a SyntaxError exception.
|
|
|
|
|
|
|
|
The `u` flag precludes the Annex B extension that enables this pattern.
|
2016-01-31 00:57:28 +01:00
|
|
|
negative:
|
2017-12-03 06:06:42 +01:00
|
|
|
phase: parse
|
2016-01-31 00:57:28 +01:00
|
|
|
type: SyntaxError
|
2016-05-03 20:15:25 +02:00
|
|
|
---*/
|
|
|
|
|
2018-10-11 16:59:24 +02:00
|
|
|
$DONOTEVALUATE();
|
2017-04-29 22:31:08 +02:00
|
|
|
|
2016-05-03 20:15:25 +02:00
|
|
|
/[%-\d]/u;
|