Merge pull request #335 from Microsoft/export_assignments_on_links
move exportAssignSymbol to symbolLinks
This commit is contained in:
commit
23117a9d97
2 changed files with 7 additions and 5 deletions
|
@ -443,13 +443,15 @@ module ts {
|
|||
return moduleSymbol;
|
||||
}
|
||||
|
||||
function getExportAssignmentSymbol(symbol: Symbol): Symbol {
|
||||
function getExportAssignmentSymbol(symbol: Symbol): Symbol {
|
||||
checkTypeOfExportAssignmentSymbol(symbol);
|
||||
return symbol.exportAssignSymbol === unknownSymbol ? undefined : symbol.exportAssignSymbol;
|
||||
var symbolLinks = getSymbolLinks(symbol);
|
||||
return symbolLinks.exportAssignSymbol === unknownSymbol ? undefined : symbolLinks.exportAssignSymbol;
|
||||
}
|
||||
|
||||
function checkTypeOfExportAssignmentSymbol(containerSymbol: Symbol): void {
|
||||
if (!containerSymbol.exportAssignSymbol) {
|
||||
var symbolLinks = getSymbolLinks(containerSymbol);
|
||||
if (!symbolLinks.exportAssignSymbol) {
|
||||
var exportInformation = collectExportInformationForSourceFileOrModule(containerSymbol);
|
||||
if (exportInformation.exportAssignments.length) {
|
||||
if (exportInformation.exportAssignments.length > 1) {
|
||||
|
@ -470,7 +472,7 @@ module ts {
|
|||
var exportSymbol = resolveName(node, node.exportName.text, meaning, Diagnostics.Cannot_find_name_0, identifierToString(node.exportName));
|
||||
}
|
||||
}
|
||||
containerSymbol.exportAssignSymbol = exportSymbol || unknownSymbol;
|
||||
symbolLinks.exportAssignSymbol = exportSymbol || unknownSymbol;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -717,7 +717,6 @@ module ts {
|
|||
members?: SymbolTable; // Class, interface or literal instance members
|
||||
exports?: SymbolTable; // Module exports
|
||||
exportSymbol?: Symbol; // Exported symbol associated with this symbol
|
||||
exportAssignSymbol?: Symbol; // Symbol exported from external module
|
||||
valueDeclaration?: Declaration // First value declaration of the symbol
|
||||
}
|
||||
|
||||
|
@ -727,6 +726,7 @@ module ts {
|
|||
declaredType?: Type; // Type of class, interface, enum, or type parameter
|
||||
mapper?: TypeMapper; // Type mapper for instantiation alias
|
||||
referenced?: boolean; // True if alias symbol has been referenced as a value
|
||||
exportAssignSymbol?: Symbol; // Symbol exported from external module
|
||||
}
|
||||
|
||||
export interface TransientSymbol extends Symbol, SymbolLinks { }
|
||||
|
|
Loading…
Reference in a new issue