mirror of
https://github.com/swc-project/swc.git
synced 2024-12-19 11:42:13 +03:00
61 lines
969 B
TypeScript
61 lines
969 B
TypeScript
|
// @allowJs: true
|
||
|
// @checkJs: true
|
||
|
// @noEmit: true
|
||
|
// @filename: index.js
|
||
|
|
||
|
function C1() {
|
||
|
if (!(this instanceof C1)) return new C1();
|
||
|
this.x = 1;
|
||
|
}
|
||
|
|
||
|
const c1_v1 = C1();
|
||
|
const c1_v2 = new C1();
|
||
|
|
||
|
var C2 = function () {
|
||
|
if (!(this instanceof C2)) return new C2();
|
||
|
this.x = 1;
|
||
|
};
|
||
|
|
||
|
const c2_v1 = C2();
|
||
|
const c2_v2 = new C2();
|
||
|
|
||
|
/** @class */
|
||
|
function C3() {
|
||
|
if (!(this instanceof C3)) return new C3();
|
||
|
};
|
||
|
|
||
|
const c3_v1 = C3(); // error: @class tag requires 'new'
|
||
|
const c3_v2 = new C3();
|
||
|
|
||
|
/** @class */
|
||
|
var C4 = function () {
|
||
|
if (!(this instanceof C4)) return new C4();
|
||
|
};
|
||
|
|
||
|
const c4_v1 = C4(); // error: @class tag requires 'new'
|
||
|
const c4_v2 = new C4();
|
||
|
|
||
|
var c5_v1;
|
||
|
c5_v1 = function f() { };
|
||
|
new c5_v1();
|
||
|
|
||
|
var c5_v2;
|
||
|
c5_v2 = class { };
|
||
|
new c5_v2();
|
||
|
|
||
|
/** @class */
|
||
|
function C6() {
|
||
|
this.functions = [x => x, x => x + 1, x => x - 1]
|
||
|
};
|
||
|
|
||
|
var c6_v1 = new C6();
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @constructor
|
||
|
* @param {number} num
|
||
|
*/
|
||
|
function C7(num) {}
|
||
|
|
||
|
var c7_v1 = new C7();
|