1234567891011121314151617181920212223242526 |
- 'use strict';
- var DESCRIPTORS = require('../internals/descriptors');
- var UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');
- var classof = require('../internals/classof-raw');
- var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
- var getInternalState = require('../internals/internal-state').get;
-
- var RegExpPrototype = RegExp.prototype;
- var $TypeError = TypeError;
-
- // `RegExp.prototype.dotAll` getter
- // https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall
- if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {
- defineBuiltInAccessor(RegExpPrototype, 'dotAll', {
- configurable: true,
- get: function dotAll() {
- if (this === RegExpPrototype) return;
- // We can't use InternalStateModule.getterFor because
- // we don't add metadata for regexps created by a literal.
- if (classof(this) === 'RegExp') {
- return !!getInternalState(this).dotAll;
- }
- throw new $TypeError('Incompatible receiver, RegExp required');
- }
- });
- }
|