You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					26 lines
				
				826 B
			
		
		
			
		
	
	
					26 lines
				
				826 B
			| 
											3 years ago
										 | '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); | ||
|  |   }); | ||
|  | } |