12345678910111213141516171819202122232425 |
- 'use strict';
- require('./es6.regexp.flags');
- var anObject = require('./_an-object');
- var $flags = require('./_flags');
- var DESCRIPTORS = require('./_descriptors');
- var TO_STRING = 'toString';
- var $toString = /./[TO_STRING];
- var define = function (fn) {
- require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);
- };
- // 21.2.5.14 RegExp.prototype.toString()
- if (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {
- define(function toString() {
- var R = anObject(this);
- return '/'.concat(R.source, '/',
- 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
- });
- // FF44- RegExp#toString has a wrong name
- } else if ($toString.name != TO_STRING) {
- define(function toString() {
- return $toString.call(this);
- });
- }
|