blob: 16d06ba7e37c0a56f20c2fe4324edc0a18681a23 [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// Copyright 2014 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5(function(global, utils) {
6
7'use strict';
8
9%CheckIsBootstrapping();
10
11// -------------------------------------------------------------------
12// Imports
13
14var GlobalRegExp = global.RegExp;
15var GlobalRegExpPrototype = GlobalRegExp.prototype;
16var MakeTypeError;
17
18utils.Import(function(from) {
19 MakeTypeError = from.MakeTypeError;
20});
21
22// -------------------------------------------------------------------
23
24// ES6 21.2.5.15.
25function RegExpGetUnicode() {
26 if (!IS_REGEXP(this)) {
27 // TODO(littledan): Remove this RegExp compat workaround
28 if (this === GlobalRegExpPrototype) {
29 %IncrementUseCounter(kRegExpPrototypeUnicodeGetter);
30 return UNDEFINED;
31 }
32 throw MakeTypeError(kRegExpNonRegExp, "RegExp.prototype.unicode");
33 }
Ben Murdochda12d292016-06-02 14:46:10 +010034 return TO_BOOLEAN(REGEXP_UNICODE(this));
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000035}
Ben Murdochda12d292016-06-02 14:46:10 +010036%SetForceInlineFlag(RegExpGetUnicode);
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000037
38utils.InstallGetter(GlobalRegExp.prototype, 'unicode', RegExpGetUnicode);
39
40})