revert fix for #2456 'Import namespace exports should be immutable'

This commit is contained in:
Vladimir Matveev
2015-03-31 17:35:26 -07:00
parent f239bbc3b1
commit cfda7df900
4 changed files with 16 additions and 114 deletions

View File

@@ -7354,23 +7354,6 @@ module ts {
}
}
function isImportedNameFromExternalModule(n: Node): boolean {
switch (n.kind) {
case SyntaxKind.ElementAccessExpression:
case SyntaxKind.PropertyAccessExpression: {
// all bindings for external module should be immutable
// so attempt to use a.b or a[b] as lhs will always fail
// no matter what b is
let symbol = findSymbol((<PropertyAccessExpression | ElementAccessExpression>n).expression);
return symbol && symbol.flags & SymbolFlags.Alias && isExternalModuleSymbol(resolveAlias(symbol));
}
case SyntaxKind.ParenthesizedExpression:
return isImportedNameFromExternalModule((<ParenthesizedExpression>n).expression);
default:
return false;
}
}
if (!isReferenceOrErrorExpression(n)) {
error(n, invalidReferenceMessage);
return false;
@@ -7381,10 +7364,6 @@ module ts {
return false;
}
if (isImportedNameFromExternalModule(n)) {
error(n, invalidReferenceMessage);
}
return true;
}