1 var global = require('../internals/global');
2 var DESCRIPTORS = require('../internals/descriptors');
3 var UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');
4 var classof = require('../internals/classof-raw');
5 var defineProperty = require('../internals/object-define-property').f;
6 var getInternalState = require('../internals/internal-state').get;
8 var RegExpPrototype = RegExp.prototype;
9 var TypeError = global.TypeError;
11 // `RegExp.prototype.dotAll` getter
12 // https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall
13 if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {
14 defineProperty(RegExpPrototype, 'dotAll', {
17 if (this === RegExpPrototype) return undefined;
18 // We can't use InternalStateModule.getterFor because
19 // we don't add metadata for regexps created by a literal.
20 if (classof(this) === 'RegExp') {
21 return !!getInternalState(this).dotAll;
23 throw TypeError('Incompatible receiver, RegExp required');