Make export binding more robust
This changes the way we discover the kind of export in the case of an export declaration. This might be exporting a module member, as in let x = 42; export { x as y }; or it could be exporting an entire module previously imported, as in import * as other from "other"; export { other }; In each case, we must emit a proper fully qualified token. Our logic for detecting these cases was a bit busted previously. We now rely on real symbolic information rather than doing hokey name lookups.
This commit is contained in:
parent
a668db2e2c
commit
a2653093db
26 changed files with 1136 additions and 925 deletions
|
@ -1023,8 +1023,8 @@ export class Transformer {
|
|||
kind: ast.moduleKind,
|
||||
name: ident(this.getModuleName(modtok)),
|
||||
imports: this.currentModuleImportTokens,
|
||||
members: this.currentModuleMembers,
|
||||
exports: this.currentModuleExports,
|
||||
members: this.currentModuleMembers,
|
||||
});
|
||||
}
|
||||
finally {
|
||||
|
@ -1072,7 +1072,6 @@ export class Transformer {
|
|||
|
||||
private async transformExportStatement(
|
||||
modtok: tokens.ModuleToken, node: ts.Statement): Promise<ModuleElement[]> {
|
||||
|
||||
let elements: ModuleElement[] = await this.transformModuleDeclarationStatement(modtok, node);
|
||||
|
||||
// Default exports get the special name "default"; all others will just reuse the element name.
|
||||
|
@ -1093,8 +1092,14 @@ export class Transformer {
|
|||
else {
|
||||
let exports: ast.Export[] = [];
|
||||
for (let element of elements) {
|
||||
if (ast.isDefinition(<ast.Node>element)) {
|
||||
let member = <ast.ModuleMember>element;
|
||||
let member: ast.ModuleMember | undefined;
|
||||
if (isVariableDeclaration(element)) {
|
||||
member = (<VariableDeclaration<ast.ModuleProperty>>element).variable;
|
||||
}
|
||||
else if (ast.isDefinition(<ast.Node>element)) {
|
||||
member = <ast.ModuleMember>element;
|
||||
}
|
||||
if (member) {
|
||||
let id: tokens.Name = member.name.ident;
|
||||
exports.push(this.withLocation(node, <ast.Export>{
|
||||
kind: ast.exportKind,
|
||||
|
@ -1132,10 +1137,6 @@ export class Transformer {
|
|||
let source: string = this.transformStringLiteral(spec).value;
|
||||
sourceModule = this.resolveModuleReferenceByName(source);
|
||||
}
|
||||
else {
|
||||
// If there is no module specifier, we are exporting from the current compilation module.
|
||||
sourceModule = tokens.selfModule;
|
||||
}
|
||||
|
||||
if (node.exportClause) {
|
||||
// This is an export declaration of the form
|
||||
|
@ -1150,65 +1151,54 @@ export class Transformer {
|
|||
//
|
||||
// For every export clause, we will issue a top-level MuIL re-export AST node.
|
||||
for (let exportClause of node.exportClause.elements) {
|
||||
let name: ast.Identifier = this.transformIdentifier(exportClause.name);
|
||||
let srcname: ast.Identifier = this.transformIdentifier(exportClause.name);
|
||||
let dstname: ast.Identifier = srcname;
|
||||
if (exportClause.propertyName) {
|
||||
// The export is being renamed (`<propertyName> as <name>`). This yields an export node, even for
|
||||
// elements exported from the current module.
|
||||
let propertyName: ast.Identifier = this.transformIdentifier(exportClause.propertyName);
|
||||
exports.push(this.withLocation(exportClause, <ast.Export>{
|
||||
kind: ast.exportKind,
|
||||
name: name,
|
||||
referent: this.withLocation(exportClause.propertyName, <ast.Token>{
|
||||
kind: ast.tokenKind,
|
||||
tok: await this.createModuleRefMemberToken(sourceModule, propertyName.ident),
|
||||
}),
|
||||
}));
|
||||
// The export is being renamed (`export <propertyName> as <name>`). This yields an export node,
|
||||
// even for elements exported from the current module.
|
||||
srcname = this.transformIdentifier(exportClause.propertyName);
|
||||
}
|
||||
|
||||
// If this is an export from another module, create an export definition. Otherwise, for exports
|
||||
// referring to ambient elements inside of the current module, we need to do a bitt of investigation.
|
||||
let reftok: tokens.Token | undefined;
|
||||
if (sourceModule) {
|
||||
reftok = await this.createModuleRefMemberToken(sourceModule, srcname.ident);
|
||||
}
|
||||
else {
|
||||
// If this is an export from another module, create an export definition. Otherwise, for exports
|
||||
// from within the same module, just look up the definition and change its accessibility to public.
|
||||
if (sourceModule) {
|
||||
exports.push(this.withLocation(exportClause, <ast.Export>{
|
||||
kind: ast.exportKind,
|
||||
name: name,
|
||||
referent: this.withLocation(exportClause.name, <ast.Token>{
|
||||
kind: ast.tokenKind,
|
||||
tok: await this.createModuleRefMemberToken(sourceModule, name.ident),
|
||||
}),
|
||||
}));
|
||||
let expsym: ts.Symbol | undefined = this.checker().getSymbolAtLocation(exportClause.name);
|
||||
contract.assert(!!expsym);
|
||||
if (expsym.flags & ts.SymbolFlags.Alias) {
|
||||
expsym = this.checker().getAliasedSymbol(expsym);
|
||||
}
|
||||
if (expsym.flags & (ts.SymbolFlags.ValueModule | ts.SymbolFlags.NamespaceModule)) {
|
||||
// If this is a module symbol, then we are rexporting an import, e.g.:
|
||||
// import * as other from "other";
|
||||
// export {other};
|
||||
// Create a fully qualified token for that other module using the one we used on import.
|
||||
contract.assert(!!this.currentModuleImports);
|
||||
let modref: ModuleReference | undefined = this.currentModuleImports!.get(srcname.ident);
|
||||
contract.assert(!!modref);
|
||||
reftok = await this.createModuleToken(modref!);
|
||||
}
|
||||
else {
|
||||
// Otherwise, it must be a module member, e.g. an exported class, interface, or variable.
|
||||
contract.assert(!!this.currentModuleToken);
|
||||
contract.assert(!!this.currentModuleMembers);
|
||||
contract.assert(!!this.currentModuleImports);
|
||||
contract.assert(!!this.currentModuleImportTokens);
|
||||
// First look for a module member, for reexporting classes, interfaces, and variables.
|
||||
let reftok: tokens.Token | undefined;
|
||||
let member: ast.ModuleMember | undefined = this.currentModuleMembers![name.ident];
|
||||
if (member) {
|
||||
contract.assert(!!this.currentModuleToken);
|
||||
reftok = this.createModuleMemberToken(this.currentModuleToken!, name.ident);
|
||||
}
|
||||
else {
|
||||
// If that failed, look for a known import. This enables reexporting whole modules, e.g.:
|
||||
// import * as other from "other";
|
||||
// export {other};
|
||||
contract.assert(!!this.currentModuleImports);
|
||||
let modref: ModuleReference | undefined = this.currentModuleImports!.get(name.ident);
|
||||
contract.assert(!!modref);
|
||||
reftok = await this.createModuleToken(modref!);
|
||||
}
|
||||
|
||||
contract.assert(!!reftok, "Expected either a member or import match for export name");
|
||||
exports.push(this.withLocation(exportClause, <ast.Export>{
|
||||
kind: ast.exportKind,
|
||||
name: name,
|
||||
referent: this.withLocation(exportClause, <ast.Token>{
|
||||
kind: ast.tokenKind,
|
||||
tok: reftok,
|
||||
}),
|
||||
}));
|
||||
contract.assert(!!this.currentModuleMembers![srcname.ident]);
|
||||
reftok = this.createModuleMemberToken(this.currentModuleToken!, srcname.ident);
|
||||
}
|
||||
}
|
||||
|
||||
contract.assert(!!reftok, "Expected either a member or import match for export name");
|
||||
exports.push(this.withLocation(exportClause, <ast.Export>{
|
||||
kind: ast.exportKind,
|
||||
name: dstname,
|
||||
referent: this.copyLocation(srcname, <ast.Token>{
|
||||
kind: ast.tokenKind,
|
||||
tok: reftok,
|
||||
}),
|
||||
}));
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"a1": {
|
||||
"kind": "ModuleProperty",
|
||||
|
@ -5283,7 +5284,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"a": {
|
||||
"kind": "ModuleProperty",
|
||||
|
@ -289,7 +290,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
|
@ -21,7 +22,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
|
@ -21,7 +22,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"C": {
|
||||
"kind": "Class",
|
||||
|
@ -1762,7 +1763,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"au": {
|
||||
"kind": "ModuleProperty",
|
||||
|
@ -1318,7 +1319,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"modprop": {
|
||||
"kind": "ModuleProperty",
|
||||
|
@ -1570,7 +1571,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"B": {
|
||||
"kind": "Class",
|
||||
|
@ -753,7 +754,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"C": {
|
||||
"kind": "Class",
|
||||
|
@ -52,7 +53,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,50 +8,6 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"members": {
|
||||
"C": {
|
||||
"kind": "Class",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {},
|
||||
"abstract": false,
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
|
@ -98,6 +54,50 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"C": {
|
||||
"kind": "Class",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {},
|
||||
"abstract": false,
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,30 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"default": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "default"
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "class_exp_def_1:index:default"
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"default": {
|
||||
"kind": "Class",
|
||||
|
@ -41,30 +65,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"default": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "default"
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "class_exp_def_1:index:default"
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,140 @@
|
|||
"ident": "other"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"D": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "D",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:other:D",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
}
|
||||
}
|
||||
},
|
||||
"J": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "J",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:other:J",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 22
|
||||
}
|
||||
}
|
||||
},
|
||||
"w": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "w",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:other:w",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"D": {
|
||||
"kind": "Class",
|
||||
|
@ -202,96 +336,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"D": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "D",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:other:D",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
}
|
||||
}
|
||||
},
|
||||
"J": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "J",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:other:J",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 22
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
|
@ -327,6 +371,184 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"exports": {
|
||||
"other": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "other",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 14
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:other",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 14
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 14
|
||||
}
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 10
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:index:C",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 10
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 10
|
||||
}
|
||||
}
|
||||
},
|
||||
"I": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:index:I",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"v": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "v",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 15
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 16
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:index:v",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 15
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 16
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 15
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 16
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"C": {
|
||||
"kind": "Class",
|
||||
|
@ -521,184 +743,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"other": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "other",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 14
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:index:other",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 14
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 14
|
||||
}
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 10
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:index:C",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 10
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 9
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 10
|
||||
}
|
||||
}
|
||||
},
|
||||
"I": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:index:I",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"v": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "v",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 15
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 16
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "export:index:v",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 15
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 16
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 9,
|
||||
"column": 15
|
||||
},
|
||||
"end": {
|
||||
"line": 9,
|
||||
"column": 16
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"foo": {
|
||||
"kind": "ModuleMethod",
|
||||
|
@ -133,7 +134,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,52 @@
|
|||
"ident": "other"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"foo": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "foo",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 17
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "modules/func_cross_call:other:foo",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 17
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"foo": {
|
||||
"kind": "ModuleMethod",
|
||||
|
@ -66,52 +112,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"foo": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "foo",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 17
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "modules/func_cross_call:other:foo",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 17
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
|
@ -147,6 +147,7 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"exports": {},
|
||||
"members": {
|
||||
".init": {
|
||||
"kind": "ModuleMethod",
|
||||
|
@ -230,7 +231,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,52 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"foo": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "foo",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 17
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "func_exp_1:index:foo",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 17
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"foo": {
|
||||
"kind": "ModuleMethod",
|
||||
|
@ -133,52 +179,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"foo": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "foo",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 17
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "func_exp_1:index:foo",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 17
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,30 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"default": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "default"
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "func_def_exp_1:index:default"
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"default": {
|
||||
"kind": "ModuleMethod",
|
||||
|
@ -122,30 +146,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"default": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "default"
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "func_def_exp_1:index:default"
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"I": {
|
||||
"kind": "Class",
|
||||
|
@ -52,7 +53,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,50 +8,6 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"members": {
|
||||
"I": {
|
||||
"kind": "Class",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {},
|
||||
"interface": true,
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"I": {
|
||||
"kind": "Export",
|
||||
|
@ -98,6 +54,50 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"I": {
|
||||
"kind": "Class",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {},
|
||||
"interface": true,
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"A": {
|
||||
"kind": "Class",
|
||||
|
@ -219,7 +220,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,140 @@
|
|||
"ident": "other"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport:other:C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
}
|
||||
}
|
||||
},
|
||||
"I": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport:other:I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 22
|
||||
}
|
||||
}
|
||||
},
|
||||
"v": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "v",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport:other:v",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"C": {
|
||||
"kind": "Class",
|
||||
|
@ -202,96 +336,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport:other:C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
}
|
||||
}
|
||||
},
|
||||
"I": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport:other:I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 22
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
|
@ -311,19 +355,6 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"members": {
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
|
@ -458,6 +489,19 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,140 @@
|
|||
"ident": "other"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_all:other:C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
}
|
||||
}
|
||||
},
|
||||
"I": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_all:other:I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 22
|
||||
}
|
||||
}
|
||||
},
|
||||
"v": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "v",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_all:other:v",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"C": {
|
||||
"kind": "Class",
|
||||
|
@ -202,96 +336,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_all:other:C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
}
|
||||
}
|
||||
},
|
||||
"I": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_all:other:I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 22
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
|
@ -311,19 +355,6 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"members": {
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
|
@ -425,6 +456,19 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,140 @@
|
|||
"ident": "other"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_rename:other:C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
}
|
||||
}
|
||||
},
|
||||
"I": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_rename:other:I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 22
|
||||
}
|
||||
}
|
||||
},
|
||||
"v": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "v",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_rename:other:v",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 3,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 3,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"C": {
|
||||
"kind": "Class",
|
||||
|
@ -202,96 +336,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"C": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_rename:other:C",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 15
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 18
|
||||
}
|
||||
}
|
||||
},
|
||||
"I": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "reexport_rename:other:I",
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 18
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
"line": 2,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 2,
|
||||
"column": 22
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "other.ts",
|
||||
"start": {
|
||||
|
@ -311,19 +355,6 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"members": {
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"D": {
|
||||
"kind": "Export",
|
||||
|
@ -458,6 +489,19 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
".main": {
|
||||
"kind": "ModuleMethod",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": ".main"
|
||||
},
|
||||
"body": {
|
||||
"kind": "Block",
|
||||
"statements": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {},
|
||||
"members": {
|
||||
"x": {
|
||||
"kind": "ModuleProperty",
|
||||
|
@ -140,7 +141,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,52 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"x": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "x",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "var_exp_1:index:x",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 12
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 1,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 1,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"x": {
|
||||
"kind": "ModuleProperty",
|
||||
|
@ -140,7 +186,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
|
@ -8,6 +8,52 @@
|
|||
"ident": "index"
|
||||
},
|
||||
"imports": [],
|
||||
"exports": {
|
||||
"Point": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "Point",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 4,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 4,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "scenarios/point:index:Point",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 4,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 4,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 4,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 16,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"Point": {
|
||||
"kind": "Class",
|
||||
|
@ -858,52 +904,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"exports": {
|
||||
"Point": {
|
||||
"kind": "Export",
|
||||
"name": {
|
||||
"kind": "Identifier",
|
||||
"ident": "Point",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 4,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 4,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"referent": {
|
||||
"kind": "Token",
|
||||
"tok": "scenarios/point:index:Point",
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 4,
|
||||
"column": 14
|
||||
},
|
||||
"end": {
|
||||
"line": 4,
|
||||
"column": 19
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
"line": 4,
|
||||
"column": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 16,
|
||||
"column": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"loc": {
|
||||
"file": "index.ts",
|
||||
"start": {
|
||||
|
|
Loading…
Reference in a new issue