// Copyright 2020 the V8 project authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.// Flags: --allow-natives-syntax --no-stress-optassertTrue(%ArraySpeciesProtector());classMyArrayextendsArray{}Object.defineProperty(Array,Symbol.species,{value:MyArray});assertFalse(%ArraySpeciesProtector());assertTrue(%PromiseSpeciesProtector());classMyPromiseextendsPromise{}Object.defineProperty(Promise,Symbol.species,{value:MyPromise});assertFalse(%PromiseSpeciesProtector());assertTrue(%RegExpSpeciesProtector());classMyRegExpextendsRegExp{}Object.defineProperty(RegExp,Symbol.species,{value:MyRegExp});assertFalse(%RegExpSpeciesProtector());