mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-09-28 20:56:36 +00:00
56 lines
1.2 KiB
JavaScript
56 lines
1.2 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
// ES6 draft rev34 (2015/02/20) 21.2.5.3 get RegExp.prototype.flags
|
|
function RegExpFlagsGetter() {
|
|
// Steps 1-2.
|
|
var R = this;
|
|
if (!IsObject(R))
|
|
ThrowTypeError(JSMSG_NOT_NONNULL_OBJECT, R === null ? "null" : typeof R);
|
|
|
|
// Step 3.
|
|
var result = "";
|
|
|
|
// Steps 4-6.
|
|
if (R.global)
|
|
result += "g";
|
|
|
|
// Steps 7-9.
|
|
if (R.ignoreCase)
|
|
result += "i";
|
|
|
|
// Steps 10-12.
|
|
if (R.multiline)
|
|
result += "m";
|
|
|
|
// Steps 13-15.
|
|
if (R.unicode)
|
|
result += "u";
|
|
|
|
// Steps 16-18.
|
|
if (R.sticky)
|
|
result += "y";
|
|
|
|
// Step 19.
|
|
return result;
|
|
}
|
|
|
|
// ES6 draft rc1 21.2.5.14.
|
|
function RegExpToString()
|
|
{
|
|
// Steps 1-2.
|
|
var R = this;
|
|
if (!IsObject(R))
|
|
ThrowTypeError(JSMSG_NOT_NONNULL_OBJECT, R === null ? "null" : typeof R);
|
|
|
|
// Steps 3-4.
|
|
var pattern = R.source;
|
|
|
|
// Steps 5-6.
|
|
var flags = R.flags;
|
|
|
|
// Step 7.
|
|
return '/' + pattern + '/' + flags;
|
|
}
|