Ensuring local module names are unique in emit.

Fixes #41 and #42.
This commit is contained in:
Anders Hejlsberg 2014-07-18 17:04:06 -07:00 committed by unknown
parent 5d8773aa25
commit 85225c8f29
34 changed files with 264 additions and 209 deletions

View file

@ -32,6 +32,7 @@ module ts {
var parent: Node;
var container: Declaration;
var symbolCount = 0;
var lastLocals: Declaration;
var Symbol = objectAllocator.getSymbolConstructor();
if (!file.locals) {
@ -162,6 +163,14 @@ module ts {
}
}
// All nodes with locals are kept on a linked list in declaration order. This list is used by the getLocalNameOfContainer function
// in the type checker to validate that the local name used for a container is unique.
function initializeLocals(node: Declaration) {
node.locals = {};
if (lastLocals) lastLocals.nextLocals = node;
lastLocals = node;
}
function bindDeclaration(node: Declaration, symbolKind: SymbolFlags, symbolExcludes: SymbolFlags) {
switch (container.kind) {
case SyntaxKind.ModuleDeclaration:
@ -198,7 +207,7 @@ module ts {
declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes);
break;
}
if (symbolKind & SymbolFlags.HasLocals) node.locals = {};
if (symbolKind & SymbolFlags.HasLocals) initializeLocals(node);
var saveParent = parent;
var saveContainer = container;
parent = node;
@ -232,7 +241,7 @@ module ts {
function bindAnonymousDeclaration(node: Node, symbolKind: SymbolFlags, name: string) {
var symbol = createSymbol(symbolKind, name);
addDeclarationToSymbol(symbol, node, symbolKind);
if (symbolKind & SymbolFlags.HasLocals) node.locals = {};
if (symbolKind & SymbolFlags.HasLocals) initializeLocals(node);
var saveParent = parent;
var saveContainer = container;
parent = node;

View file

@ -3795,7 +3795,7 @@ module ts {
}
return checkUntypedCall(node);
}
// If FuncExprs apparent type(section 3.8.1) is a function type, the call is a typed function call.
// If FuncExpr's apparent type(section 3.8.1) is a function type, the call is a typed function call.
// TypeScript employs overload resolution in typed function calls in order to support functions
// with multiple call signatures.
if (!signatures.length) {
@ -3827,7 +3827,7 @@ module ts {
return checkUntypedCall(node);
}
// If ConstructExprs apparent type(section 3.8.1) is an object type with one or
// If ConstructExpr's apparent type(section 3.8.1) is an object type with one or
// more construct signatures, the expression is processed in the same manner as a
// function call, but using the construct signatures as the initial set of candidate
// signatures for overload resolution.The result type of the function call becomes
@ -3848,7 +3848,7 @@ module ts {
return checkCall(node, constructSignatures);
}
// If ConstructExprs apparent type is an object type with no construct signatures but
// If ConstructExpr's apparent type is an object type with no construct signatures but
// one or more call signatures, the expression is processed as a function call. A compile-time
// error occurs if the result of the function call is not Void. The type of the result of the
// operation is Any.
@ -6004,14 +6004,53 @@ module ts {
// Emitter support
function getModuleObjectName(node: ModuleDeclaration): string {
return getSourceTextOfNode(node.name);
}
function isExternalModuleSymbol(symbol: Symbol): boolean {
return symbol.flags & SymbolFlags.ValueModule && symbol.declarations.length === 1 && symbol.declarations[0].kind === SyntaxKind.SourceFile;
}
function isNodeParentedBy(node: Node, parent: Node): boolean {
while (node) {
if (node === parent) return true;
node = node.parent;
}
return false;
}
function isUniqueLocalName(name: string, container: Node): boolean {
name = escapeIdentifier(name);
if (container.locals) {
for (var node = container; isNodeParentedBy(node, container); node = node.nextLocals) {
if (hasProperty(node.locals, name) && node.locals[name].flags & (SymbolFlags.Value | SymbolFlags.ExportValue)) {
return false;
}
}
}
return true;
}
function getLocalNameOfContainer(container: Declaration): string {
var links = getNodeLinks(container);
if (!links.localModuleName) {
var name = container.name.text ? unescapeIdentifier(container.name.text) : "M";
while (!isUniqueLocalName(name, container)) {
name = "_" + name;
}
links.localModuleName = name;
}
return links.localModuleName;
}
function getLocalNameForSymbol(symbol: Symbol, location: Node): string {
var node = location;
while (node) {
if ((node.kind === SyntaxKind.ModuleDeclaration || node.kind === SyntaxKind.EnumDeclaration) && getSymbolOfNode(node) === symbol) {
return getLocalNameOfContainer(node);
}
node = node.parent;
}
Debug.fail("getLocalNameForSymbol failed");
}
function getExpressionNamePrefix(node: Identifier): string {
var symbol = getNodeLinks(node).resolvedSymbol;
if (symbol) {
@ -6021,15 +6060,11 @@ module ts {
// kind of entity. SymbolFlags.ExportHasLocal encompasses all the kinds that we
// do NOT prefix.
var exportSymbol = getExportSymbolOfValueSymbolIfExported(symbol);
var isExportedSymbolFoundInLocalScope = exportSymbol !== symbol;
var shouldEmitExportWithoutPrefix = (exportSymbol.flags & SymbolFlags.ExportHasLocal) !== 0;
if (isExportedSymbolFoundInLocalScope && !shouldEmitExportWithoutPrefix) {
if (symbol !== exportSymbol && !(exportSymbol.flags & SymbolFlags.ExportHasLocal)) {
symbol = exportSymbol;
}
// symbol will have a parent if it is an export symbol
if (symbol.parent) {
return isExternalModuleSymbol(symbol.parent) ? "exports" : symbolToString(symbol.parent);
return isExternalModuleSymbol(symbol.parent) ? "exports" : getLocalNameForSymbol(getParentOfSymbol(symbol), node.parent);
}
}
}
@ -6116,7 +6151,7 @@ module ts {
function invokeEmitter() {
var resolver: EmitResolver = {
getProgram: () => program,
getModuleObjectName: getModuleObjectName,
getLocalNameOfContainer: getLocalNameOfContainer,
getExpressionNamePrefix: getExpressionNamePrefix,
getPropertyAccessSubstitution: getPropertyAccessSubstitution,
getExportAssignmentName: getExportAssignmentName,

View file

@ -1043,7 +1043,7 @@ module ts {
emitStart(node.name);
if (node.flags & NodeFlags.Export) {
var container = getContainingModule(node);
write(container ? resolver.getModuleObjectName(container) : "exports");
write(container ? resolver.getLocalNameOfContainer(container) : "exports");
write(".");
}
emitNode(node.name);
@ -1444,16 +1444,18 @@ module ts {
writeLine();
emitStart(node);
write("(function (");
emit(node.name);
emitStart(node.name);
write(resolver.getLocalNameOfContainer(node));
emitEnd(node.name);
write(") {");
increaseIndent();
scopeEmitStart(node);
forEach(node.members, member => {
writeLine();
emitStart(member);
emitNode(node.name);
write(resolver.getLocalNameOfContainer(node));
write("[");
emitNode(node.name);
write(resolver.getLocalNameOfContainer(node));
write("[");
emitQuotedIdentifier(member.name);
write("] = ");
@ -1509,7 +1511,9 @@ module ts {
}
emitStart(node);
write("(function (");
emit(node.name);
emitStart(node.name);
write(resolver.getLocalNameOfContainer(node));
emitEnd(node.name);
write(") ");
if (node.body.kind === SyntaxKind.ModuleBlock) {
emit(node.body);

View file

@ -62,7 +62,12 @@ module ts {
// Add an extra underscore to identifiers that start with two underscores to avoid issues with magic names like '__proto__'
export function escapeIdentifier(identifier: string): string {
return identifier.charCodeAt(0) === CharacterCodes._ && identifier.charCodeAt(1) === CharacterCodes._ ? "_" + identifier : identifier;
return identifier.length >= 2 && identifier.charCodeAt(0) === CharacterCodes._ && identifier.charCodeAt(1) === CharacterCodes._ ? "_" + identifier : identifier;
}
// Remove extra underscore from escaped identifier
export function unescapeIdentifier(identifier: string): string {
return identifier.length >= 3 && identifier.charCodeAt(0) === CharacterCodes._ && identifier.charCodeAt(1) === CharacterCodes._ && identifier.charCodeAt(2) === CharacterCodes._ ? identifier.substr(1) : identifier;
}
// Return display name of an identifier

View file

@ -142,18 +142,18 @@ module ts {
As per ECMAScript Language Specification 3th Edition, Section 7.6: Identifiers
IdentifierStart ::
Can contain Unicode 3.0.0 categories:
Uppercase letter (Lu),
Lowercase letter (Ll),
Titlecase letter (Lt),
Modifier letter (Lm),
Other letter (Lo), or
Letter number (Nl).
Uppercase letter (Lu),
Lowercase letter (Ll),
Titlecase letter (Lt),
Modifier letter (Lm),
Other letter (Lo), or
Letter number (Nl).
IdentifierPart :: =
Can contain IdentifierStart + Unicode 3.0.0 categories:
Non-spacing mark (Mn),
Combining spacing mark (Mc),
Decimal number (Nd), or
Connector punctuation (Pc).
Non-spacing mark (Mn),
Combining spacing mark (Mc),
Decimal number (Nd), or
Connector punctuation (Pc).
Codepoint ranges for ES3 Identifiers are extracted from the Unicode 3.0.0 specification at:
http://www.unicode.org/Public/3.0-Update/UnicodeData-3.0.0.txt
@ -165,18 +165,18 @@ module ts {
As per ECMAScript Language Specification 5th Edition, Section 7.6: ISyntaxToken Names and Identifiers
IdentifierStart ::
Can contain Unicode 6.2 categories:
Uppercase letter (Lu),
Lowercase letter (Ll),
Titlecase letter (Lt),
Modifier letter (Lm),
Other letter (Lo), or
Letter number (Nl).
Uppercase letter (Lu),
Lowercase letter (Ll),
Titlecase letter (Lt),
Modifier letter (Lm),
Other letter (Lo), or
Letter number (Nl).
IdentifierPart ::
Can contain IdentifierStart + Unicode 6.2 categories:
Non-spacing mark (Mn),
Combining spacing mark (Mc),
Decimal number (Nd),
Connector punctuation (Pc),
Non-spacing mark (Mn),
Combining spacing mark (Mc),
Decimal number (Nd),
Connector punctuation (Pc),
<ZWNJ>, or
<ZWJ>.

View file

@ -240,6 +240,7 @@ module ts {
parent?: Node; // Parent node (initialized by binding)
symbol?: Symbol; // Symbol declared by node (initialized by binding)
locals?: SymbolTable; // Locals associated with node (initialized by binding)
nextLocals?: Node; // Next node in declaration order with locals (initialized by binding)
}
export interface NodeArray<T> extends Array<T>, TextRange { }
@ -614,7 +615,7 @@ module ts {
export interface EmitResolver {
getProgram(): Program;
getModuleObjectName(node: ModuleDeclaration): string;
getLocalNameOfContainer(container: Declaration): string;
getExpressionNamePrefix(node: Identifier): string;
getPropertyAccessSubstitution(node: PropertyAccess): string;
getExportAssignmentName(node: SourceFile): string;
@ -690,7 +691,7 @@ module ts {
ExportHasLocal = Function | Class | Enum | ValueModule,
HasLocals = Function | Module | Method | Constructor | Accessor | Signature,
HasLocals = Function | Enum | Module | Method | Constructor | Accessor | Signature,
HasExports = Class | Enum | Module,
HasMembers = Class | Interface | TypeLiteral | ObjectLiteral,
@ -742,7 +743,8 @@ module ts {
flags?: NodeCheckFlags; // Set of flags specific to Node
enumMemberValue?: number; // Constant value of enum member
isIllegalTypeReferenceInConstraint?: boolean; // Is type reference in constraint refers to the type parameter from the same list
isVisible?: boolean; // Is this node visible
isVisible?: boolean; // Is this node visible
localModuleName?: string; // Local name for module instance
}
export enum TypeFlags {

View file

@ -35,19 +35,19 @@ var ag2 = new A.A2<string, number>();
//// [ModuleWithExportedAndNonExportedClasses.js]
var A;
(function (A) {
(function (_A) {
var A = (function () {
function A() {
}
return A;
})();
A.A = A;
_A.A = A;
var AG = (function () {
function AG() {
}
return AG;
})();
A.AG = AG;
_A.AG = AG;
var A2 = (function () {
function A2() {
}

View file

@ -16,8 +16,8 @@ var M;
return C;
})();
M.C = C;
(function (C) {
C.C = M.C;
(function (_C) {
_C.C = M.C;
})(M.C || (M.C = {}));
var C = M.C;
})(M || (M = {}));

View file

@ -25,31 +25,31 @@ module M {
//// [collisionCodeGenModuleWithConstructorChildren.js]
var M;
(function (M) {
M.x = 3;
(function (_M) {
_M.x = 3;
var c = (function () {
function c(M, p) {
if (p === void 0) { p = M.x; }
if (p === void 0) { p = _M.x; }
}
return c;
})();
})(M || (M = {}));
var M;
(function (M) {
(function (_M) {
var d = (function () {
function d(M, p) {
if (p === void 0) { p = M.x; }
if (p === void 0) { p = _M.x; }
this.M = M;
}
return d;
})();
})(M || (M = {}));
var M;
(function (M) {
(function (_M) {
var d2 = (function () {
function d2() {
var M = 10;
var p = M.x;
var p = _M.x;
}
return d2;
})();

View file

@ -21,24 +21,24 @@ module M {
//// [collisionCodeGenModuleWithFunctionChildren.js]
var M;
(function (M) {
M.x = 3;
(function (_M) {
_M.x = 3;
function fn(M, p) {
if (p === void 0) { p = M.x; }
if (p === void 0) { p = _M.x; }
}
})(M || (M = {}));
var M;
(function (M) {
(function (_M) {
function fn2() {
var M;
var p = M.x;
var p = _M.x;
}
})(M || (M = {}));
var M;
(function (M) {
(function (_M) {
function fn3() {
function M() {
var p = M.x;
var p = _M.x;
}
}
})(M || (M = {}));

View file

@ -17,29 +17,29 @@ var foo = new m2._m2();
//// [collisionCodeGenModuleWithMemberClassConflict.js]
var m1;
(function (m1) {
(function (_m1) {
var m1 = (function () {
function m1() {
}
return m1;
})();
m1.m1 = m1;
_m1.m1 = m1;
})(m1 || (m1 = {}));
var foo = new m1.m1();
var m2;
(function (m2) {
(function (__m2) {
var m2 = (function () {
function m2() {
}
return m2;
})();
m2.m2 = m2;
__m2.m2 = m2;
var _m2 = (function () {
function _m2() {
}
return _m2;
})();
m2._m2 = _m2;
__m2._m2 = _m2;
})(m2 || (m2 = {}));
var foo = new m2.m2();
var foo = new m2._m2();

View file

@ -7,8 +7,8 @@ var foo = m1.m1;
//// [collisionCodeGenModuleWithMemberVariable.js]
var m1;
(function (m1) {
m1.m1 = 10;
var b = m1.m1;
(function (_m1) {
_m1.m1 = 10;
var b = _m1.m1;
})(m1 || (m1 = {}));
var foo = m1.m1;

View file

@ -34,37 +34,37 @@ module M { // Shouldnt bn _M
//// [collisionCodeGenModuleWithMethodChildren.js]
var M;
(function (M) {
M.x = 3;
(function (_M) {
_M.x = 3;
var c = (function () {
function c() {
}
c.prototype.fn = function (M, p) {
if (p === void 0) { p = M.x; }
if (p === void 0) { p = _M.x; }
};
return c;
})();
})(M || (M = {}));
var M;
(function (M) {
(function (_M) {
var d = (function () {
function d() {
}
d.prototype.fn2 = function () {
var M;
var p = M.x;
var p = _M.x;
};
return d;
})();
})(M || (M = {}));
var M;
(function (M) {
(function (_M) {
var e = (function () {
function e() {
}
e.prototype.fn3 = function () {
function M() {
var p = M.x;
var p = _M.x;
}
};
return e;

View file

@ -44,16 +44,16 @@ module M {
//// [collisionCodeGenModuleWithModuleChildren.js]
var M;
(function (M) {
M.x = 3;
(function (_M) {
_M.x = 3;
var m1;
(function (m1) {
var M = 10;
var p = M.x;
var p = _M.x;
})(m1 || (m1 = {}));
})(M || (M = {}));
var M;
(function (M) {
(function (_M) {
var m2;
(function (m2) {
var M = (function () {
@ -61,17 +61,17 @@ var M;
}
return M;
})();
var p = M.x;
var p = _M.x;
var p2 = new M();
})(m2 || (m2 = {}));
})(M || (M = {}));
var M;
(function (M) {
(function (_M) {
var m3;
(function (m3) {
function M() {
}
var p = M.x;
var p = _M.x;
var p2 = M();
})(m3 || (m3 = {}));
})(M || (M = {}));
@ -84,12 +84,12 @@ var M;
})(m3 || (m3 = {}));
})(M || (M = {}));
var M;
(function (M) {
(function (_M) {
var m4;
(function (m4) {
var M;
(function (M) {
var p = M.x;
var p = _M.x;
})(M || (M = {}));
})(m4 || (m4 = {}));
})(M || (M = {}));

View file

@ -31,13 +31,13 @@ var foo2 = new m2.m2();
//// [collisionCodeGenModuleWithModuleReopening.js]
var m1;
(function (m1) {
(function (_m1) {
var m1 = (function () {
function m1() {
}
return m1;
})();
m1.m1 = m1;
_m1.m1 = m1;
})(m1 || (m1 = {}));
var foo = new m1.m1();
var m1;
@ -65,16 +65,16 @@ var m2;
})(m2 || (m2 = {}));
var foo3 = new m2.c1();
var m2;
(function (m2) {
(function (_m2) {
var m2 = (function () {
function m2() {
}
return m2;
})();
m2.m2 = m2;
_m2.m2 = m2;
var b = new m2();
var d = m2.b10;
var c = new m2.c1();
var d = _m2.b10;
var c = new _m2.c1();
})(m2 || (m2 = {}));
var foo3 = new m2.c1();
var foo2 = new m2.m2();

View file

@ -10,7 +10,7 @@ var foo = new m1.c1();
//// [collisionCodeGenModuleWithPrivateMember.js]
var m1;
(function (m1) {
(function (_m1) {
var m1 = (function () {
function m1() {
}
@ -22,6 +22,6 @@ var m1;
}
return c1;
})();
m1.c1 = c1;
_m1.c1 = c1;
})(m1 || (m1 = {}));
var foo = new m1.c1();

View file

@ -11,12 +11,12 @@ var x = new 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكو
//// [collisionCodeGenModuleWithUnicodeNames.js]
var 才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123;
(function (才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123) {
(function (_才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123) {
var 才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123 = (function () {
function 才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123() {
}
return 才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123;
})();
才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123 = 才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123;
_才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123 = 才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123;
})(才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123 || (才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123 = {}));
var x = new 才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳रüışğİliيونيكودöÄüßAbcd123();

View file

@ -131,8 +131,8 @@ var moduleType1;
moduleType1.baz1;
})(moduleType1 || (moduleType1 = {}));
var moduleType\u0032;
(function (moduleType\u0032) {
moduleType\u0032.baz2;
(function (moduleType2) {
moduleType2.baz2;
})(moduleType\u0032 || (moduleType\u0032 = {}));
moduleType1.baz1 = 3;
moduleType\u0031.baz1 = 3;

View file

@ -9,8 +9,8 @@ var x = '';
//// [importAndVariableDeclarationConflict1.js]
var m;
(function (m) {
m.m = '';
(function (_m) {
_m.m = '';
})(m || (m = {}));
var x = m.m;
var x = '';

View file

@ -13,8 +13,8 @@ class C {
//// [importAndVariableDeclarationConflict2.js]
var m;
(function (m) {
m.m = '';
(function (_m) {
_m.m = '';
})(m || (m = {}));
var x = m.m;
var C = (function () {

View file

@ -9,8 +9,8 @@ import x = m.m;
//// [importAndVariableDeclarationConflict3.js]
var m;
(function (m) {
m.m = '';
(function (_m) {
_m.m = '';
})(m || (m = {}));
var x = m.m;
var x = m.m;

View file

@ -9,8 +9,8 @@ import x = m.m;
//// [importAndVariableDeclarationConflict4.js]
var m;
(function (m) {
m.m = '';
(function (_m) {
_m.m = '';
})(m || (m = {}));
var x = '';
var x = m.m;

View file

@ -18,13 +18,13 @@ module C {
//// [importedModuleAddToGlobal.js]
var B;
(function (B) {
(function (_B) {
var B = (function () {
function B() {
}
return B;
})();
B.B = B;
_B.B = B;
})(B || (B = {}));
var C;
(function (C) {

View file

@ -22,11 +22,11 @@ var my;
var data = my.data;
})(my || (my = {}));
var my;
(function (my) {
(function (data) {
(function (_my) {
(function (_data) {
function data(my) {
data.foo.buz();
_data.foo.buz();
}
})(my.data || (my.data = {}));
var data = my.data;
})(_my.data || (_my.data = {}));
var data = _my.data;
})(my || (my = {}));

View file

@ -19,14 +19,14 @@ var my;
var data = my.data;
})(my || (my = {}));
var my;
(function (my) {
(function (data) {
(function (foo) {
(function (_my) {
(function (_data) {
(function (_foo) {
function data(my, foo) {
data.buz();
_data.buz();
}
})(data.foo || (data.foo = {}));
var foo = data.foo;
})(my.data || (my.data = {}));
var data = my.data;
})(_data.foo || (_data.foo = {}));
var foo = _data.foo;
})(_my.data || (_my.data = {}));
var data = _my.data;
})(my || (my = {}));

View file

@ -19,7 +19,7 @@ module superContain {
//// [mergedModuleDeclarationCodeGen4.js]
var superContain;
(function (superContain) {
(function (contain) {
(function (_contain) {
(function (my) {
(function (buz) {
(function (data) {
@ -30,21 +30,21 @@ var superContain;
var data = buz.data;
})(my.buz || (my.buz = {}));
var buz = my.buz;
})(contain.my || (contain.my = {}));
var my = contain.my;
(function (my) {
(function (buz) {
(function (data) {
})(_contain.my || (_contain.my = {}));
var my = _contain.my;
(function (_my) {
(function (_buz) {
(function (_data) {
function bar(contain, my, buz, data) {
data.foo();
_data.foo();
}
data.bar = bar;
})(buz.data || (buz.data = {}));
var data = buz.data;
})(my.buz || (my.buz = {}));
var buz = my.buz;
})(contain.my || (contain.my = {}));
var my = contain.my;
_data.bar = bar;
})(_buz.data || (_buz.data = {}));
var data = _buz.data;
})(_my.buz || (_my.buz = {}));
var buz = _my.buz;
})(_contain.my || (_contain.my = {}));
var my = _contain.my;
})(superContain.contain || (superContain.contain = {}));
var contain = superContain.contain;
})(superContain || (superContain = {}));

View file

@ -20,7 +20,7 @@ module M.buz.plop {
//// [mergedModuleDeclarationCodeGen5.js]
var M;
(function (M) {
(function (_M) {
(function (buz) {
(function (plop) {
function doom() {
@ -31,13 +31,13 @@ var M;
plop.M = M;
})(buz.plop || (buz.plop = {}));
var plop = buz.plop;
})(M.buz || (M.buz = {}));
var buz = M.buz;
})(_M.buz || (_M.buz = {}));
var buz = _M.buz;
})(M || (M = {}));
var M;
(function (M) {
(function (buz) {
(function (plop) {
(function (_buz) {
(function (_plop) {
function gunk() {
}
function buz() {
@ -47,18 +47,18 @@ var M;
}
return fudge;
})();
plop.fudge = fudge;
_plop.fudge = fudge;
(function (plop) {
})(plop.plop || (plop.plop = {}));
var plop = plop.plop;
})(_plop.plop || (_plop.plop = {}));
var plop = _plop.plop;
var v1 = gunk;
var v2 = buz;
plop.v3 = plop.doom;
plop.v4 = plop.M;
plop.v5 = fudge;
plop.v6 = plop;
})(buz.plop || (buz.plop = {}));
var plop = buz.plop;
_plop.v3 = _plop.doom;
_plop.v4 = _plop.M;
_plop.v5 = fudge;
_plop.v6 = plop;
})(_buz.plop || (_buz.plop = {}));
var plop = _buz.plop;
})(M.buz || (M.buz = {}));
var buz = M.buz;
})(M || (M = {}));

View file

@ -58,7 +58,7 @@ var __extends = this.__extends || function (d, b) {
d.prototype = new __();
};
var A;
(function (A) {
(function (_A) {
var A = (function () {
function A() {
}

View file

@ -48,7 +48,7 @@ module D {
//// [nameCollision.js]
var A;
(function (A) {
(function (__A) {
var A = 12;
var _A = '';
})(A || (A = {}));
@ -57,7 +57,7 @@ var B;
var A = 12;
})(B || (B = {}));
var B;
(function (B) {
(function (_B) {
var B = (function () {
function B() {
}
@ -65,29 +65,29 @@ var B;
})();
})(B || (B = {}));
var X;
(function (X) {
(function (_X) {
var X = 13;
(function (Y) {
(function (_Y) {
var Y = 13;
(function (Z) {
(function (_Z) {
var X = 12;
var Y = 12;
var Z = 12;
})(Y.Z || (Y.Z = {}));
var Z = Y.Z;
})(X.Y || (X.Y = {}));
var Y = X.Y;
})(_Y.Z || (_Y.Z = {}));
var Z = _Y.Z;
})(_X.Y || (_X.Y = {}));
var Y = _X.Y;
})(X || (X = {}));
var Y;
(function (Y) {
(function (Y) {
(function (_Y) {
(function (_Y) {
(function (Y) {
Y[Y["Red"] = 0] = "Red";
Y[Y["Blue"] = 1] = "Blue";
})(Y.Y || (Y.Y = {}));
var Y = Y.Y;
})(Y.Y || (Y.Y = {}));
var Y = Y.Y;
})(_Y.Y || (_Y.Y = {}));
var Y = _Y.Y;
})(_Y.Y || (_Y.Y = {}));
var Y = _Y.Y;
})(Y || (Y = {}));
var D;
(function (D) {

View file

@ -112,7 +112,7 @@ var __extends = this.__extends || function (d, b) {
var Sample;
(function (Sample) {
(function (Actions) {
(function (Thing) {
(function (_Thing) {
(function (Find) {
var StartFindAction = (function () {
function StartFindAction() {
@ -126,8 +126,8 @@ var Sample;
return StartFindAction;
})();
Find.StartFindAction = StartFindAction;
})(Thing.Find || (Thing.Find = {}));
var Find = Thing.Find;
})(_Thing.Find || (_Thing.Find = {}));
var Find = _Thing.Find;
})(Actions.Thing || (Actions.Thing = {}));
var Thing = Actions.Thing;
})(Sample.Actions || (Sample.Actions = {}));

View file

@ -1,2 +1,2 @@
//// [recursiveClassReferenceTest.js.map]
{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":["Sample","Sample.Actions","Sample.Actions.Thing","Sample.Actions.Thing.Find","Sample.Actions.Thing.Find.StartFindAction","Sample.Actions.Thing.Find.StartFindAction.constructor","Sample.Actions.Thing.Find.StartFindAction.getId","Sample.Actions.Thing.Find.StartFindAction.run","Sample.Thing","Sample.Thing.Widgets","Sample.Thing.Widgets.FindWidget","Sample.Thing.Widgets.FindWidget.constructor","Sample.Thing.Widgets.FindWidget.gar","Sample.Thing.Widgets.FindWidget.getDomNode","Sample.Thing.Widgets.FindWidget.destroy","AbstractMode","AbstractMode.constructor","AbstractMode.getInitialState","Sample.Thing.Languages","Sample.Thing.Languages.PlainText","Sample.Thing.Languages.PlainText.State","Sample.Thing.Languages.PlainText.State.constructor","Sample.Thing.Languages.PlainText.State.clone","Sample.Thing.Languages.PlainText.State.equals","Sample.Thing.Languages.PlainText.State.getMode","Sample.Thing.Languages.PlainText.Mode","Sample.Thing.Languages.PlainText.Mode.constructor","Sample.Thing.Languages.PlainText.Mode.getInitialState"],"mappings":"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"}
{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":["Sample","Sample.Actions","Sample.Actions.Thing","Sample.Actions.Thing.Find","Sample.Actions.Thing.Find.StartFindAction","Sample.Actions.Thing.Find.StartFindAction.constructor","Sample.Actions.Thing.Find.StartFindAction.getId","Sample.Actions.Thing.Find.StartFindAction.run","Sample.Thing","Sample.Thing.Widgets","Sample.Thing.Widgets.FindWidget","Sample.Thing.Widgets.FindWidget.constructor","Sample.Thing.Widgets.FindWidget.gar","Sample.Thing.Widgets.FindWidget.getDomNode","Sample.Thing.Widgets.FindWidget.destroy","AbstractMode","AbstractMode.constructor","AbstractMode.getInitialState","Sample.Thing.Languages","Sample.Thing.Languages.PlainText","Sample.Thing.Languages.PlainText.State","Sample.Thing.Languages.PlainText.State.constructor","Sample.Thing.Languages.PlainText.State.clone","Sample.Thing.Languages.PlainText.State.equals","Sample.Thing.Languages.PlainText.State.getMode","Sample.Thing.Languages.PlainText.Mode","Sample.Thing.Languages.PlainText.Mode.constructor","Sample.Thing.Languages.PlainText.Mode.getInitialState"],"mappings":";;;;;;AA+BA,IAAO,MAAM,CAUZ;AAVD,WAAO,MAAM;IAACA,WAAAA,OAAOA;QAACC,WAAAA,MAAKA;YAACC,WAAAA,IAAIA,EAACA,CAACA;gBACjCC,IAAaA,eAAeA;oBAA5BC,SAAaA,eAAeA;oBAQ5BC,CAACA;oBANOD,+BAAKA,GAAZA;wBAAiBE,MAAMA,CAACA,IAAIA,CAACA;oBAACA,CAACA;oBAExBF,6BAAGA,GAAVA,UAAWA,KAA6BA;wBAEvCG,MAAMA,CAACA,IAAIA,CAACA;oBACbA,CAACA;oBACFH,sBAACA;gBAADA,CAACA,AARDD,IAQCA;gBARYA,oBAAeA,GAAfA,eAQZA,CAAAA;YACFA,CAACA,EAV2BD,WAAIA,KAAJA,WAAIA,QAU/BA;YAV2BA,IAAAA,IAAIA,GAAJA,WAU3BA,CAAAA;QAADA,CAACA,EAVqBD,aAAKA,KAALA,aAAKA,QAU1BA;QAVqBA,IAAAA,KAAKA,GAALA,aAUrBA,CAAAA;IAADA,CAACA,EAVaD,cAAOA,KAAPA,cAAOA,QAUpBA;IAVaA,IAAAA,OAAOA,GAAPA,cAUbA,CAAAA;AAADA,CAACA,EAVM,MAAM,KAAN,MAAM,QAUZ;AAED,IAAO,MAAM,CAoBZ;AApBD,WAAO,MAAM;IAACA,WAAAA,KAAKA;QAACQ,WAAAA,OAAOA,EAACA,CAACA;YAC5BC,IAAaA,UAAUA;gBAKtBC,SALYA,UAAUA,CAKFA,SAAkCA;oBAAlCC,cAASA,GAATA,SAASA,CAAyBA;oBAD9CA,YAAOA,GAAOA,IAAIA,CAACA;oBAGvBA,SAASA,CAACA,SAASA,CAACA,WAAWA,EAAEA,IAAIA,CAACA,CAACA;gBAC3CA,CAACA;gBANMD,wBAAGA,GAAVA,UAAWA,MAAyCA;oBAAIE,EAAEA,CAACA,CAACA,IAAIA,CAACA,CAACA,CAACA;wBAAAA,MAAMA,CAACA,MAAMA,CAACA,IAAIA,CAACA,CAACA;oBAAAA,CAACA;gBAAAA,CAACA;gBAQlFF,+BAAUA,GAAjBA;oBACCG,MAAMA,CAACA,OAAOA,CAACA;gBAChBA,CAACA;gBAEMH,4BAAOA,GAAdA;gBAEAI,CAACA;gBAEFJ,iBAACA;YAADA,CAACA,AAlBDD,IAkBCA;YAlBYA,kBAAUA,GAAVA,UAkBZA,CAAAA;QACFA,CAACA,EApBmBD,aAAOA,KAAPA,aAAOA,QAoB1BA;QApBmBA,IAAAA,OAAOA,GAAPA,aAoBnBA,CAAAA;IAADA,CAACA,EApBaR,YAAKA,KAALA,YAAKA,QAoBlBA;IApBaA,IAAAA,KAAKA,GAALA,YAoBbA,CAAAA;AAADA,CAACA,EApBM,MAAM,KAAN,MAAM,QAoBZ;AAGD,IAAM,YAAY;IAAlBe,SAAMA,YAAYA;IAAqEC,CAACA;IAA3CD,sCAAeA,GAAtBA;QAAmCE,MAAMA,CAACA,IAAIA,CAACA;IAAAA,CAACA;IAACF,mBAACA;AAADA,CAACA,AAAxF,IAAwF;AASxF,IAAO,MAAM,CAwBZ;AAxBD,WAAO,MAAM;IAACf,WAAAA,KAAKA;QAACQ,WAAAA,SAASA;YAACU,WAAAA,SAASA,EAACA,CAACA;gBAExCC,IAAaA,KAAKA;oBACXC,SADMA,KAAKA,CACSA,IAAWA;wBAAXC,SAAIA,GAAJA,IAAIA,CAAOA;oBAAIA,CAACA;oBACnCD,qBAAKA,GAAZA;wBACCE,MAAMA,CAACA,IAAIA,CAACA;oBACbA,CAACA;oBAEMF,sBAAMA,GAAbA,UAAcA,KAAYA;wBACzBG,MAAMA,CAACA,IAAIA,KAAKA,KAAKA,CAACA;oBACvBA,CAACA;oBAEMH,uBAAOA,GAAdA;wBAA0BI,MAAMA,CAACA,IAAIA,CAACA;oBAACA,CAACA;oBACzCJ,YAACA;gBAADA,CAACA,AAXDD,IAWCA;gBAXYA,eAAKA,GAALA,KAWZA,CAAAA;gBAEDA,IAAaA,IAAIA;oBAASM,UAAbA,IAAIA,UAAqBA;oBAAtCA,SAAaA,IAAIA;wBAASC,8BAAYA;oBAQtCA,CAACA;oBALOD,8BAAeA,GAAtBA;wBACCE,MAAMA,CAACA,IAAIA,KAAKA,CAACA,IAAIA,CAACA,CAACA;oBACxBA,CAACA;oBAGFF,WAACA;gBAADA,CAACA,AARDN,EAA0BA,YAAYA,EAQrCA;gBARYA,cAAIA,GAAJA,IAQZA,CAAAA;YACFA,CAACA,EAxB6BD,mBAASA,KAATA,mBAASA,QAwBtCA;YAxB6BA,IAAAA,SAASA,GAATA,mBAwB7BA,CAAAA;QAADA,CAACA,EAxBmBV,eAASA,KAATA,eAASA,QAwB5BA;QAxBmBA,IAAAA,SAASA,GAATA,eAwBnBA,CAAAA;IAADA,CAACA,EAxBaR,YAAKA,KAALA,YAAKA,QAwBlBA;IAxBaA,IAAAA,KAAKA,GAALA,YAwBbA,CAAAA;AAADA,CAACA,EAxBM,MAAM,KAAN,MAAM,QAwBZ"}

View file

@ -86,7 +86,7 @@ sourceFile:recursiveClassReferenceTest.ts
1->^^^^
2 > ^^^^^^^^^^^
3 > ^^^^^^^
4 > ^^^^^^->
4 > ^^^^^^^->
1->.
2 >
3 > Actions
@ -94,17 +94,17 @@ sourceFile:recursiveClassReferenceTest.ts
2 >Emitted(9, 16) Source(32, 15) + SourceIndex(0) name (Sample)
3 >Emitted(9, 23) Source(32, 22) + SourceIndex(0) name (Sample)
---
>>> (function (Thing) {
>>> (function (_Thing) {
1->^^^^^^^^
2 > ^^^^^^^^^^^
3 > ^^^^^
4 > ^^^^^^^->
3 > ^^^^^^
4 > ^^^^^^->
1->.
2 >
3 > Thing
1->Emitted(10, 9) Source(32, 23) + SourceIndex(0) name (Sample.Actions)
2 >Emitted(10, 20) Source(32, 23) + SourceIndex(0) name (Sample.Actions)
3 >Emitted(10, 25) Source(32, 28) + SourceIndex(0) name (Sample.Actions)
3 >Emitted(10, 26) Source(32, 28) + SourceIndex(0) name (Sample.Actions)
---
>>> (function (Find) {
1->^^^^^^^^^^^^
@ -307,48 +307,48 @@ sourceFile:recursiveClassReferenceTest.ts
4 >Emitted(23, 55) Source(41, 3) + SourceIndex(0) name (Sample.Actions.Thing.Find)
5 >Emitted(23, 56) Source(41, 3) + SourceIndex(0) name (Sample.Actions.Thing.Find)
---
>>> })(Thing.Find || (Thing.Find = {}));
>>> })(_Thing.Find || (_Thing.Find = {}));
1 >^^^^^^^^^^^^
2 > ^
3 > ^^
4 > ^^^^^^^^^^
5 > ^^^^^
6 > ^^^^^^^^^^
7 > ^^^^^^^^
4 > ^^^^^^^^^^^
5 > ^^^^^
6 > ^^^^^^^^^^^
7 > ^^^^^^^^
1 >
>
2 > }
3 >
4 > Find
5 >
6 > Find
7 > {
> export class StartFindAction implements Sample.Thing.IAction {
>
> public getId() { return "yo"; }
>
> public run(Thing:Sample.Thing.ICodeThing):boolean {
>
> return true;
> }
> }
> }
5 >
6 > Find
7 > {
> export class StartFindAction implements Sample.Thing.IAction {
>
> public getId() { return "yo"; }
>
> public run(Thing:Sample.Thing.ICodeThing):boolean {
>
> return true;
> }
> }
> }
1 >Emitted(24, 13) Source(42, 1) + SourceIndex(0) name (Sample.Actions.Thing.Find)
2 >Emitted(24, 14) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing.Find)
3 >Emitted(24, 16) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing)
4 >Emitted(24, 26) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing)
5 >Emitted(24, 31) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing)
6 >Emitted(24, 41) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing)
7 >Emitted(24, 49) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing)
4 >Emitted(24, 27) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing)
5 >Emitted(24, 32) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing)
6 >Emitted(24, 43) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing)
7 >Emitted(24, 51) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing)
---
>>> var Find = Thing.Find;
>>> var Find = _Thing.Find;
1 >^^^^^^^^^^^^
2 > ^^^^
3 > ^^^^
4 > ^^^
5 > ^^^^^^^^^^
6 > ^
7 > ^^^^^^^^^^^^^^^^^->
5 > ^^^^^^^^^^^
6 > ^
7 > ^^^^^^^^^^^^^^^^->
1 >
2 >
3 > Find
@ -364,13 +364,13 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
> }
6 >
6 >
1 >Emitted(25, 13) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing)
2 >Emitted(25, 17) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing)
3 >Emitted(25, 21) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing)
4 >Emitted(25, 24) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing)
5 >Emitted(25, 34) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing)
6 >Emitted(25, 35) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing)
5 >Emitted(25, 35) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing)
6 >Emitted(25, 36) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing)
---
>>> })(Actions.Thing || (Actions.Thing = {}));
1->^^^^^^^^

View file

@ -19,8 +19,8 @@ var M;
return C;
})();
M.C = C;
(function (C) {
C.C = M.C;
(function (_C) {
_C.C = M.C;
})(M.C || (M.C = {}));
var C = M.C;
;

View file

@ -8,10 +8,10 @@ var z = bar.bar();
//// [thisInModuleFunction1.js]
var bar;
(function (bar) {
(function (_bar) {
function bar() {
return this;
}
bar.bar = bar;
_bar.bar = bar;
})(bar || (bar = {}));
var z = bar.bar();