Files
2018-08-02 17:53:23 +01:00

49 lines
708 B
JavaScript

class C {
m() {}
}
class D extends C {
constructor() {
super(); // OK
}
}
let c = new C(); // OK
C(); // NOT OK
new (x=>x); // NOT OK
c.m(); // OK
new c.m(); // NOT OK
var o = {
f: function() {},
g() {}
};
o.f(); // OK
new o.f(); // OK
o.g(); // OK
new o.g(); // NOT OK
function f(b) {
var g;
if (b)
g = class {};
else
g = (() => {});
console.log();
if (!b)
g(); // OK
else
new g(); // OK
}
function* g() {}
async function h() {}
new g() // NOT OK
new h() // NOT OK
C.call(); // NOT OK
C.apply(); // NOT OK
//semmle-extractor-options: --experimental