| Index: src/regexp.js
|
| diff --git a/src/regexp.js b/src/regexp.js
|
| index a6a543fe07fe1e42e637e1d53f89dd6cd229ede0..3e5c0b63b478f6df7f6de56fb3662de2445bc540 100644
|
| --- a/src/regexp.js
|
| +++ b/src/regexp.js
|
| @@ -3,8 +3,6 @@
|
| // found in the LICENSE file.
|
|
|
| var $regexpLastMatchInfoOverride;
|
| -var harmony_regexps = false;
|
| -var harmony_unicode_regexps = false;
|
|
|
| (function(global, utils) {
|
|
|
| @@ -13,6 +11,8 @@ var harmony_unicode_regexps = false;
|
| // -------------------------------------------------------------------
|
| // Imports
|
|
|
| +var FLAG_harmony_regexps;
|
| +var FLAG_harmony_unicode_regexps;
|
| var GlobalRegExp = global.RegExp;
|
| var InternalPackedArray = utils.InternalPackedArray;
|
| var ToNumber;
|
| @@ -21,6 +21,11 @@ utils.Import(function(from) {
|
| ToNumber = from.ToNumber;
|
| });
|
|
|
| +utils.ImportFromExperimental(function(from) {
|
| + FLAG_harmony_regexps = from.FLAG_harmony_regexps;
|
| + FLAG_harmony_unicode_regexps = from.FLAG_harmony_unicode_regexps;
|
| +});
|
| +
|
| // -------------------------------------------------------------------
|
|
|
| // Property of the builtins object for recording the result of the last
|
| @@ -54,9 +59,9 @@ function DoConstructRegExp(object, pattern, flags) {
|
| flags = (pattern.global ? 'g' : '')
|
| + (pattern.ignoreCase ? 'i' : '')
|
| + (pattern.multiline ? 'm' : '');
|
| - if (harmony_unicode_regexps)
|
| + if (FLAG_harmony_unicode_regexps)
|
| flags += (pattern.unicode ? 'u' : '');
|
| - if (harmony_regexps)
|
| + if (FLAG_harmony_regexps)
|
| flags += (pattern.sticky ? 'y' : '');
|
| pattern = pattern.source;
|
| }
|
| @@ -163,7 +168,7 @@ function RegExpExecJS(string) {
|
| // algorithm, step 5) even if the value is discarded for non-global RegExps.
|
| var i = TO_INTEGER(lastIndex);
|
|
|
| - var updateLastIndex = this.global || (harmony_regexps && this.sticky);
|
| + var updateLastIndex = this.global || (FLAG_harmony_regexps && this.sticky);
|
| if (updateLastIndex) {
|
| if (i < 0 || i > string.length) {
|
| this.lastIndex = 0;
|
| @@ -211,7 +216,7 @@ function RegExpTest(string) {
|
| // algorithm, step 5) even if the value is discarded for non-global RegExps.
|
| var i = TO_INTEGER(lastIndex);
|
|
|
| - if (this.global || (harmony_regexps && this.sticky)) {
|
| + if (this.global || (FLAG_harmony_regexps && this.sticky)) {
|
| if (i < 0 || i > string.length) {
|
| this.lastIndex = 0;
|
| return false;
|
| @@ -269,8 +274,8 @@ function RegExpToString() {
|
| if (this.global) result += 'g';
|
| if (this.ignoreCase) result += 'i';
|
| if (this.multiline) result += 'm';
|
| - if (harmony_unicode_regexps && this.unicode) result += 'u';
|
| - if (harmony_regexps && this.sticky) result += 'y';
|
| + if (FLAG_harmony_unicode_regexps && this.unicode) result += 'u';
|
| + if (FLAG_harmony_regexps && this.sticky) result += 'y';
|
| return result;
|
| }
|
|
|
|
|