diff options
Diffstat (limited to 'deps/v8/src/harmony-regexp.js')
-rw-r--r-- | deps/v8/src/harmony-regexp.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/deps/v8/src/harmony-regexp.js b/deps/v8/src/harmony-regexp.js new file mode 100644 index 0000000000..a1b32ab238 --- /dev/null +++ b/deps/v8/src/harmony-regexp.js @@ -0,0 +1,35 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +var $RegExp = global.RegExp; + +// ------------------------------------------------------------------- + +// ES6 draft 12-06-13, section 21.2.5.3 +// + https://bugs.ecmascript.org/show_bug.cgi?id=3423 +function RegExpGetFlags() { + if (!IS_SPEC_OBJECT(this)) { + throw MakeTypeError('flags_getter_non_object', + [%ToString(this)]); + } + var result = ''; + if (this.global) result += 'g'; + if (this.ignoreCase) result += 'i'; + if (this.multiline) result += 'm'; + if (this.unicode) result += 'u'; + if (this.sticky) result += 'y'; + return result; +} + +function ExtendRegExpPrototype() { + %CheckIsBootstrapping(); + + %DefineAccessorPropertyUnchecked($RegExp.prototype, 'flags', RegExpGetFlags, + null, DONT_ENUM); + %SetNativeFlag(RegExpGetFlags); +} + +ExtendRegExpPrototype(); |