blob: b24bbdf2c545975c7455588ebc5df7c902139716 [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 }
34 return !!REGEXP_UNICODE(this);
35}
36%FunctionSetName(RegExpGetUnicode, "RegExp.prototype.unicode");
37%SetNativeFlag(RegExpGetUnicode);
38
39utils.InstallGetter(GlobalRegExp.prototype, 'unicode', RegExpGetUnicode);
40
41})