| Index: test/mjsunit/strong/class-literals.js
|
| diff --git a/test/mjsunit/strong/class-literals.js b/test/mjsunit/strong/class-literals.js
|
| deleted file mode 100644
|
| index a0e7280abce4eb2b0bd04258e42ecff06639faa1..0000000000000000000000000000000000000000
|
| --- a/test/mjsunit/strong/class-literals.js
|
| +++ /dev/null
|
| @@ -1,159 +0,0 @@
|
| -// Copyright 2015 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: --strong-mode --allow-natives-syntax
|
| -
|
| -'use strict';
|
| -
|
| -function assertWeakClassWeakInstances(x) {
|
| - assertFalse(%IsStrong(x));
|
| - assertFalse(%IsStrong(x.prototype));
|
| - assertFalse(%IsStrong(new x));
|
| -}
|
| -
|
| -function assertWeakClassStrongInstances(x) {
|
| - assertFalse(%IsStrong(x));
|
| - assertFalse(%IsStrong(x.prototype));
|
| - assertTrue(%IsStrong(new x));
|
| -}
|
| -
|
| -function assertStrongClassWeakInstances(x) {
|
| - assertTrue(%IsStrong(x));
|
| - assertTrue(%IsStrong(x.prototype));
|
| - assertFalse(%IsStrong(new x));
|
| -}
|
| -
|
| -function assertStrongClassStrongInstances(x) {
|
| - assertTrue(%IsStrong(x));
|
| - assertTrue(%IsStrong(x.prototype));
|
| - assertTrue(%IsStrong(new x));
|
| -}
|
| -
|
| -function getWeakClass() {
|
| - return (class {});
|
| -}
|
| -
|
| -function getWeakClassExtends(x) {
|
| - return (class extends x {});
|
| -}
|
| -
|
| -function getStrongClass() {
|
| - "use strong";
|
| - return (class {});
|
| -}
|
| -
|
| -function getStrongClassExtends(x) {
|
| - "use strong";
|
| - return (class extends x {});
|
| -}
|
| -
|
| -(function SimpleWeakClassLiterals() {
|
| - class C {};
|
| - class D extends C {};
|
| - class E extends Object {};
|
| -
|
| - assertWeakClassWeakInstances(C);
|
| - assertWeakClassWeakInstances(D);
|
| - assertWeakClassWeakInstances(E);
|
| -
|
| - assertWeakClassWeakInstances(class {});
|
| - assertWeakClassWeakInstances(class extends Object {});
|
| - assertWeakClassWeakInstances(class extends C {});
|
| - assertWeakClassWeakInstances(class extends class {} {});
|
| -})();
|
| -
|
| -(function SimpleStrongClassLiterals() {
|
| - 'use strong';
|
| - class C {};
|
| - class D extends C {};
|
| -
|
| - assertStrongClassStrongInstances(C);
|
| - assertStrongClassStrongInstances(D);
|
| -
|
| - assertStrongClassStrongInstances(class {});
|
| - assertStrongClassStrongInstances(class extends C {});
|
| - assertStrongClassStrongInstances(class extends class {} {});
|
| -})();
|
| -
|
| -(function MixedWeakClassLiterals() {
|
| - class C extends getStrongClass() {};
|
| - class D extends getStrongClassExtends((class {})) {};
|
| - class E extends getStrongClassExtends(C) {};
|
| -
|
| - assertWeakClassStrongInstances(C);
|
| - assertWeakClassStrongInstances(class extends getStrongClass() {});
|
| -
|
| - assertWeakClassWeakInstances(D);
|
| - assertWeakClassWeakInstances(
|
| - class extends getStrongClassExtends((class {})) {});
|
| -
|
| - assertWeakClassStrongInstances(E);
|
| - assertWeakClassStrongInstances(
|
| - class extends getStrongClassExtends(class extends getStrongClass() {}) {});
|
| -})();
|
| -
|
| -(function MixedStrongClassLiterals() {
|
| - 'use strong';
|
| - class C extends getWeakClass() {};
|
| - class D extends getWeakClassExtends((class {})) {};
|
| - class E extends getWeakClassExtends(C) {};
|
| - class F extends Object {};
|
| -
|
| - assertStrongClassWeakInstances(C);
|
| - assertStrongClassWeakInstances(class extends getWeakClass() {});
|
| -
|
| - assertStrongClassStrongInstances(D);
|
| - assertStrongClassStrongInstances(
|
| - class extends getWeakClassExtends((class {})) {});
|
| -
|
| - assertStrongClassWeakInstances(E);
|
| - assertStrongClassWeakInstances(
|
| - class extends getWeakClassExtends(class extends getWeakClass() {}) {});
|
| -
|
| - assertStrongClassWeakInstances(F);
|
| - assertStrongClassWeakInstances(class extends Object {});
|
| -})();
|
| -
|
| -(function WeakMonkeyPatchedClassLiterals() {
|
| - class C {};
|
| - assertWeakClassWeakInstances(C);
|
| - C.__proto__ = getStrongClass();
|
| - // C's default constructor doesn't call super.
|
| - assertWeakClassWeakInstances(C);
|
| -
|
| - class D extends Object {};
|
| - assertWeakClassWeakInstances(D);
|
| - D.__proto__ = getStrongClass();
|
| - // D is a derived class, so its default constructor calls super.
|
| - assertWeakClassStrongInstances(D);
|
| -
|
| - class E extends (class {}) {};
|
| - E.__proto__ = C;
|
| - assertWeakClassWeakInstances(E);
|
| -
|
| - class F extends (class {}) {};
|
| - F.__proto__ = D;
|
| - assertWeakClassStrongInstances(F);
|
| -
|
| - class G extends getStrongClass() {};
|
| - G.__proto__ = getWeakClass();
|
| - assertWeakClassWeakInstances(G);
|
| -})();
|
| -
|
| -(function StrongMonkeyPatchedClassLiterals() {
|
| - let C = getStrongClassExtends(getWeakClassExtends(getStrongClass()));
|
| - let D = getStrongClassExtends(getWeakClassExtends(getWeakClass()));
|
| -
|
| - assertStrongClassStrongInstances(C);
|
| - C.__proto__.__proto__ = getWeakClass();
|
| - assertStrongClassWeakInstances(C);
|
| - C.__proto__.__proto__ = getStrongClass();
|
| - assertStrongClassStrongInstances(C);
|
| -
|
| - assertStrongClassWeakInstances(D);
|
| - D.__proto__.__proto__ = getStrongClass();
|
| - assertStrongClassStrongInstances(D);
|
| - D.__proto__.__proto__ = getWeakClass();
|
| - assertStrongClassWeakInstances(D);
|
| -})();
|
|
|