2017-11-22 00:03:44 +01:00
|
|
|
// @noEmit: true
|
|
|
|
// @allowJs: true
|
|
|
|
// @checkJs: true
|
2017-11-28 22:46:14 +01:00
|
|
|
|
|
|
|
// @Filename: def.js
|
|
|
|
var Outer = {};
|
|
|
|
|
2017-11-22 00:03:44 +01:00
|
|
|
// @Filename: a.js
|
2017-11-28 22:46:14 +01:00
|
|
|
Outer.Inner = class {
|
2017-11-22 00:03:44 +01:00
|
|
|
constructor() {
|
|
|
|
/** @type {number} */
|
|
|
|
this.y = 12
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-02-13 23:17:46 +01:00
|
|
|
/** @type {Outer.Inner} */
|
|
|
|
var local
|
|
|
|
local.y
|
|
|
|
var inner = new Outer.Inner()
|
|
|
|
inner.y
|
|
|
|
|
2017-11-28 22:46:14 +01:00
|
|
|
// @Filename: b.js
|
|
|
|
/** @type {Outer.Inner} */
|
2018-02-13 23:17:46 +01:00
|
|
|
var x
|
2017-11-22 00:03:44 +01:00
|
|
|
x.y
|
2018-02-13 23:17:46 +01:00
|
|
|
var z = new Outer.Inner()
|
|
|
|
z.y
|