2018-04-02 18:47:01 +02:00
|
|
|
// @noEmit: true
|
|
|
|
// @allowJs: true
|
|
|
|
// @checkJs: true
|
|
|
|
// @noImplicitAny: true
|
|
|
|
// @Filename: types.d.ts
|
|
|
|
declare function require(name: string): any;
|
|
|
|
declare var exports: any;
|
|
|
|
// @Filename: mod.js
|
|
|
|
/// <reference path='./types.d.ts'/>
|
2019-08-22 00:36:35 +02:00
|
|
|
var A = function A() {
|
2018-04-02 18:47:01 +02:00
|
|
|
this.a = 1
|
|
|
|
}
|
2019-08-22 00:36:35 +02:00
|
|
|
var B = function B() {
|
2018-04-02 18:47:01 +02:00
|
|
|
this.b = 2
|
|
|
|
}
|
|
|
|
exports.A = A
|
|
|
|
exports.B = B
|
|
|
|
A.prototype = B.prototype = {
|
|
|
|
/** @param {number} n */
|
|
|
|
m(n) {
|
|
|
|
return n + 1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// @Filename: use.js
|
|
|
|
/// <reference path='./types.d.ts'/>
|
|
|
|
var mod = require('./mod');
|
|
|
|
var a = new mod.A()
|
|
|
|
var b = new mod.B()
|
|
|
|
a.m('nope')
|
|
|
|
b.m('not really')
|