f89de95955
* Start enabling element access special assignment * Treat element access assignment as special assignment in JS * Make declarations for bindable element access expressions * Fix navigationBar crash * Add multi-level test for JS * Propagate element access expressions to more code paths * Fix property access on `this` * Add quick info test * Uhhh I guess this is fine * Fix module["exports"] and property access chained off element access * Add test for this property assignment * Add test for and fix prototype property assignment * Fix teeeest??? * Update APIs * Fix element access declarations on `this` * Fix go-to-definition * Add declaration emit to tests * Reconcile with late-bound symbol element access assignment * Fix baselines * Add JS declaration back to tests * Fix JS declaration emit of non-late-bound string literal property names * Revert accidental auto-format * Use `isAccessExpression` * Add underscore escaping member to test * Fix and test navBar changes
31 lines
581 B
TypeScript
31 lines
581 B
TypeScript
// @allowJs: true
|
|
// @checkJs: true
|
|
// @emitDeclarationOnly: true
|
|
// @declaration: true
|
|
// @outDir: out
|
|
// @Filename: a.js
|
|
|
|
function Multimap4() {
|
|
this._map = {};
|
|
};
|
|
|
|
Multimap4["prototype"] = {
|
|
/**
|
|
* @param {string} key
|
|
* @returns {number} the value ok
|
|
*/
|
|
get(key) {
|
|
return this._map[key + ''];
|
|
}
|
|
};
|
|
|
|
Multimap4["prototype"]["add-on"] = function() {};
|
|
Multimap4["prototype"]["addon"] = function() {};
|
|
Multimap4["prototype"]["__underscores__"] = function() {};
|
|
|
|
const map4 = new Multimap4();
|
|
map4.get("");
|
|
map4["add-on"]();
|
|
map4.addon();
|
|
map4.__underscores__();
|