Source code

Revision control

Copy as Markdown

Other Tools

// Repeat 1448582-{1,3,4}.js for classes.
(function(index) {
// Does not assert.
var c = class { constructor(){} };
if (index === 0) {
(function self() {
self.caller(1);
})();
}
})(0);
(function(index) {
var c = class { constructor(){} };
// Accessing |.name| sets the resolved-name flag, which should not be
// copied over to the function clone.
assertEq(c.name, "c");
if (index === 0) {
(function self() {
self.caller(1);
})();
}
})(0);
(function(index) {
var c = class { constructor(a){} };
// Accessing |.length| sets the resolved-length flag, which should not be
// copied over to the function clone.
assertEq(c.length, 1);
if (index === 0) {
(function self() {
self.caller(1);
})();
}
})(0);
// Repeat 1448582-{3,4}.js for generator functions.
(function(index) {
function* f() {}
// Accessing |.name| sets the resolved-name flag, which should not be
// copied over to the function clone.
assertEq(f.name, "f");
if (index === 0) {
(function self() {
self.caller(1);
})();
}
})(0);
(function(index) {
function* f(a) {}
// Accessing |.length| sets the resolved-length flag, which should not be
// copied over to the function clone.
assertEq(f.length, 1);
if (index === 0) {
(function self() {
self.caller(1);
})();
}
})(0);
// Repeat 1448582-{3,4}.js for async functions.
(function(index) {
async function f() {}
// Accessing |.name| sets the resolved-name flag, which should not be
// copied over to the function clone.
assertEq(f.name, "f");
if (index === 0) {
(function self() {
self.caller(1);
})();
}
})(0);
(function(index) {
async function f(a) {}
// Accessing |.length| sets the resolved-length flag, which should not be
// copied over to the function clone.
assertEq(f.length, 1);
if (index === 0) {
(function self() {
self.caller(1);
})();
}
})(0);
// Repeat 1448582-{3,4}.js for async generator functions.
(function(index) {
async function* f() {}
// Accessing |.name| sets the resolved-name flag, which should not be
// copied over to the function clone.
assertEq(f.name, "f");
if (index === 0) {
(function self() {
self.caller(1);
})();
}
})(0);
(function(index) {
async function* f(a) {}
// Accessing |.length| sets the resolved-length flag, which should not be
// copied over to the function clone.
assertEq(f.length, 1);
if (index === 0) {
(function self() {
self.caller(1);
})();
}
})(0);