1// 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}) 42