TypeScript/tests/baselines/reference/commonJSImportNestedClassTypeReference.symbols
Nathan Shively-Sanders e350c357d2
Alias for module.exports.x = x (#40228)
* Alias for `module.exports.x = x`

This fixes #40155 in a surprisingly small amount of code.

* Treat any aliasable expression as an alias

* test internal references to exported class
2020-09-10 11:23:48 -07:00

44 lines
1.3 KiB
Plaintext

=== tests/cases/conformance/salsa/main.js ===
const { K } = require("./mod1");
>K : Symbol(K, Decl(main.js, 0, 7))
>require : Symbol(require)
>"./mod1" : Symbol("tests/cases/conformance/salsa/mod1", Decl(mod1.js, 0, 0))
/** @param {K} k */
function f(k) {
>f : Symbol(f, Decl(main.js, 0, 32))
>k : Symbol(k, Decl(main.js, 2, 11))
k.values()
>k.values : Symbol(K.values, Decl(mod1.js, 1, 13))
>k : Symbol(k, Decl(main.js, 2, 11))
>values : Symbol(K.values, Decl(mod1.js, 1, 13))
}
=== tests/cases/conformance/salsa/mod1.js ===
var NS = {}
>NS : Symbol(NS, Decl(mod1.js, 0, 3), Decl(mod1.js, 0, 11))
NS.K =class {
>NS.K : Symbol(K, Decl(mod1.js, 0, 11))
>NS : Symbol(NS, Decl(mod1.js, 0, 3), Decl(mod1.js, 0, 11))
>K : Symbol(K, Decl(mod1.js, 0, 11))
values() {
>values : Symbol(K.values, Decl(mod1.js, 1, 13))
return new NS.K()
>NS.K : Symbol(K, Decl(mod1.js, 0, 11))
>NS : Symbol(NS, Decl(mod1.js, 0, 3), Decl(mod1.js, 0, 11))
>K : Symbol(K, Decl(mod1.js, 0, 11))
}
}
exports.K = NS.K;
>exports.K : Symbol(K, Decl(mod1.js, 5, 1))
>exports : Symbol(K, Decl(mod1.js, 5, 1))
>K : Symbol(K, Decl(mod1.js, 5, 1))
>NS.K : Symbol(K, Decl(mod1.js, 0, 11))
>NS : Symbol(NS, Decl(mod1.js, 0, 3), Decl(mod1.js, 0, 11))
>K : Symbol(K, Decl(mod1.js, 0, 11))