Cleaned up emit of enum declaration

This commit is contained in:
Ron Buckton
2016-10-17 00:43:02 -07:00
parent f025e0caed
commit bb8a3c41db
65 changed files with 266 additions and 300 deletions
@@ -792,12 +792,6 @@ namespace ts {
function visitExpressionStatementForEnumOrNamespaceDeclaration(node: ExpressionStatement, original: EnumDeclaration | ModuleDeclaration): VisitResult<Statement> {
const statements: Statement[] = [node];
// Preserve old behavior for enums in which a variable statement is emitted after the body itself.
if (hasModifier(original, ModifierFlags.Export) &&
original.kind === SyntaxKind.EnumDeclaration &&
isFirstDeclarationOfKind(original, SyntaxKind.EnumDeclaration)) {
addVarForExportedEnumOrNamespaceDeclaration(statements, original);
}
addExportMemberAssignments(statements, <Identifier>original.name);
+2 -8
View File
@@ -692,12 +692,6 @@ namespace ts {
const originalNode = getOriginalNode(node);
if ((originalNode.kind === SyntaxKind.ModuleDeclaration || originalNode.kind === SyntaxKind.EnumDeclaration) && hasModifier(originalNode, ModifierFlags.Export)) {
const name = getDeclarationName(<ModuleDeclaration | EnumDeclaration>originalNode);
// We only need to hoistVariableDeclaration for EnumDeclaration
// as ModuleDeclaration is already hoisted when the transformer call visitVariableStatement
// which then call transformsVariable for each declaration in declarationList
if (originalNode.kind === SyntaxKind.EnumDeclaration) {
hoistVariableDeclaration(name);
}
return [
node,
createExportStatement(name, name)
@@ -849,7 +843,7 @@ namespace ts {
visitNode(node.statement, visitNestedNode, isStatement, /*optional*/ false, liftToBlock),
node.expression
);
}
}
/**
* Visits the body of a WhileStatement to hoist declarations.
@@ -862,7 +856,7 @@ namespace ts {
node.expression,
visitNode(node.statement, visitNestedNode, isStatement, /*optional*/ false, liftToBlock)
);
}
}
/**
* Visits the body of a LabeledStatement to hoist declarations.
+22 -41
View File
@@ -2517,29 +2517,6 @@ namespace ts {
|| compilerOptions.isolatedModules;
}
function shouldEmitVarForEnumDeclaration(node: EnumDeclaration | ModuleDeclaration) {
return isFirstEmittedDeclarationInScope(node)
&& (!hasModifier(node, ModifierFlags.Export)
|| isES6ExportedDeclaration(node));
}
/*
* Adds a trailing VariableStatement for an enum or module declaration.
*/
function addVarForEnumExportedFromNamespace(statements: Statement[], node: EnumDeclaration | ModuleDeclaration) {
const statement = createVariableStatement(
/*modifiers*/ undefined,
[createVariableDeclaration(
getDeclarationName(node),
/*type*/ undefined,
getExportName(node)
)]
);
setSourceMapRange(statement, node);
statements.push(statement);
}
/**
* Visits an enum declaration.
*
@@ -2562,7 +2539,7 @@ namespace ts {
// a leading variable declaration, we should not emit leading comments for the
// enum body.
recordEmittedDeclarationInScope(node);
if (shouldEmitVarForEnumDeclaration(node)) {
if (isFirstEmittedDeclarationInScope(node)) {
addVarForEnumOrModuleDeclaration(statements, node);
// We should still emit the comments if we are emitting a system module.
@@ -2580,6 +2557,25 @@ namespace ts {
// `exportName` is the expression used within this node's container for any exported references.
const exportName = getExportName(node);
// x || (x = {})
// exports.x || (exports.x = {})
let moduleArg =
createLogicalOr(
exportName,
createAssignment(
exportName,
createObjectLiteral()
)
);
if (hasModifier(node, ModifierFlags.Export) && !isES6ExportedDeclaration(node)) {
// `localName` is the expression used within this node's containing scope for any local references.
const localName = getLocalName(node);
// x = (exports.x || (exports.x = {}))
moduleArg = createAssignment(localName, moduleArg);
}
// (function (x) {
// x[x["y"] = 0] = "y";
// ...
@@ -2596,13 +2592,7 @@ namespace ts {
transformEnumBody(node, containerName)
),
/*typeArguments*/ undefined,
[createLogicalOr(
exportName,
createAssignment(
exportName,
createObjectLiteral()
)
)]
[moduleArg]
),
/*location*/ node
);
@@ -2610,11 +2600,6 @@ namespace ts {
setOriginalNode(enumStatement, node);
setEmitFlags(enumStatement, emitFlags);
statements.push(enumStatement);
if (isNamespaceExport(node)) {
addVarForEnumExportedFromNamespace(statements, node);
}
return statements;
}
@@ -2739,10 +2724,6 @@ namespace ts {
return false;
}
function shouldEmitVarForModuleDeclaration(node: ModuleDeclaration) {
return isFirstEmittedDeclarationInScope(node);
}
/**
* Adds a leading VariableStatement for a enum or module declaration.
*/
@@ -2817,7 +2798,7 @@ namespace ts {
// a leading variable declaration, we should not emit leading comments for the
// module body.
recordEmittedDeclarationInScope(node);
if (shouldEmitVarForModuleDeclaration(node)) {
if (isFirstEmittedDeclarationInScope(node)) {
addVarForEnumOrModuleDeclaration(statements, node);
// We should still emit the comments if we are emitting a system module.
if (moduleKind !== ModuleKind.System || currentScope !== currentSourceFile) {
@@ -14,11 +14,11 @@ var b = A.Day.Monday;
//// [ModuleWithExportedAndNonExportedEnums.js]
var A;
(function (A) {
var Color;
(function (Color) {
Color[Color["Red"] = 0] = "Red";
Color[Color["Blue"] = 1] = "Blue";
})(A.Color || (A.Color = {}));
var Color = A.Color;
})(Color = A.Color || (A.Color = {}));
var Day;
(function (Day) {
Day[Day["Monday"] = 0] = "Monday";
@@ -15,12 +15,12 @@ if(foo.E1.A === 0){
//// [foo_0.js]
define(["require", "exports"], function (require, exports) {
"use strict";
var E1;
(function (E1) {
E1[E1["A"] = 0] = "A";
E1[E1["B"] = 1] = "B";
E1[E1["C"] = 2] = "C";
})(exports.E1 || (exports.E1 = {}));
var E1 = exports.E1;
})(E1 = exports.E1 || (exports.E1 = {}));
});
//// [foo_1.js]
define(["require", "exports", "./foo_0"], function (require, exports, foo) {
@@ -42,12 +42,12 @@ define(["require", "exports"], function (require, exports) {
}());
exports.C1 = C1;
C1.s1 = true;
var E1;
(function (E1) {
E1[E1["A"] = 0] = "A";
E1[E1["B"] = 1] = "B";
E1[E1["C"] = 2] = "C";
})(exports.E1 || (exports.E1 = {}));
var E1 = exports.E1;
})(E1 = exports.E1 || (exports.E1 = {}));
});
//// [foo_1.js]
define(["require", "exports"], function (require, exports) {
@@ -63,16 +63,16 @@ module m4 {
//// [collisionExportsRequireAndEnum_externalmodule.js]
define(["require", "exports"], function (require, exports) {
"use strict";
var require;
(function (require) {
require[require["_thisVal1"] = 0] = "_thisVal1";
require[require["_thisVal2"] = 1] = "_thisVal2";
})(exports.require || (exports.require = {}));
var require = exports.require;
})(require = exports.require || (exports.require = {}));
var exports;
(function (exports) {
exports[exports["_thisVal1"] = 0] = "_thisVal1";
exports[exports["_thisVal2"] = 1] = "_thisVal2";
})(exports.exports || (exports.exports = {}));
var exports = exports.exports;
})(exports = exports.exports || (exports.exports = {}));
var m1;
(function (m1) {
var require;
@@ -88,16 +88,16 @@ define(["require", "exports"], function (require, exports) {
})(m1 || (m1 = {}));
var m2;
(function (m2) {
var require;
(function (require) {
require[require["_thisVal1"] = 0] = "_thisVal1";
require[require["_thisVal2"] = 1] = "_thisVal2";
})(m2.require || (m2.require = {}));
var require = m2.require;
})(require = m2.require || (m2.require = {}));
var exports;
(function (exports) {
exports[exports["_thisVal1"] = 0] = "_thisVal1";
exports[exports["_thisVal2"] = 1] = "_thisVal2";
})(m2.exports || (m2.exports = {}));
var exports = m2.exports;
})(exports = m2.exports || (m2.exports = {}));
})(m2 || (m2 = {}));
});
//// [collisionExportsRequireAndEnum_globalFile.js]
@@ -126,14 +126,14 @@ var m3;
})(m3 || (m3 = {}));
var m4;
(function (m4) {
var require;
(function (require) {
require[require["_thisVal1"] = 0] = "_thisVal1";
require[require["_thisVal2"] = 1] = "_thisVal2";
})(m4.require || (m4.require = {}));
var require = m4.require;
})(require = m4.require || (m4.require = {}));
var exports;
(function (exports) {
exports[exports["_thisVal1"] = 0] = "_thisVal1";
exports[exports["_thisVal2"] = 1] = "_thisVal2";
})(m4.exports || (m4.exports = {}));
var exports = m4.exports;
})(exports = m4.exports || (m4.exports = {}));
})(m4 || (m4 = {}));
@@ -11,9 +11,9 @@ export enum Color {
/**
* comment
*/
var Color;
(function (Color) {
Color[Color["r"] = 0] = "r";
Color[Color["g"] = 1] = "g";
Color[Color["b"] = 2] = "b";
})(exports.Color || (exports.Color = {}));
var Color = exports.Color;
})(Color = exports.Color || (exports.Color = {}));
@@ -41,12 +41,12 @@ var C1 = (function () {
}());
exports.C1 = C1;
C1.s1 = true;
var E1;
(function (E1) {
E1[E1["A"] = 0] = "A";
E1[E1["B"] = 1] = "B";
E1[E1["C"] = 2] = "C";
})(exports.E1 || (exports.E1 = {}));
var E1 = exports.E1;
})(E1 = exports.E1 || (exports.E1 = {}));
//// [foo_1.js]
"use strict";
var i;
@@ -31,12 +31,12 @@ var m1;
return c;
}());
m1.c = c;
var e;
(function (e) {
e[e["weekday"] = 0] = "weekday";
e[e["weekend"] = 1] = "weekend";
e[e["holiday"] = 2] = "holiday";
})(m1.e || (m1.e = {}));
var e = m1.e;
})(e = m1.e || (m1.e = {}));
})(m1 || (m1 = {}));
var a;
var b = {
@@ -33,9 +33,9 @@ var X;
var M;
(function (M) {
})(M = base.M || (base.M = {}));
var E;
(function (E) {
})(base.E || (base.E = {}));
var E = base.E;
})(E = base.E || (base.E = {}));
})(base = Y.base || (Y.base = {}));
})(Y = X.Y || (X.Y = {}));
})(X || (X = {}));
@@ -68,10 +68,10 @@ var M;
return E;
}(C));
P.E = E;
var D;
(function (D) {
D[D["f"] = 0] = "f";
})(P.D || (P.D = {}));
var D = P.D;
})(D = P.D || (P.D = {}));
P.w = M.D.f; // error, should be typeof M.D.f
P.x = M.C.f; // error, should be typeof M.C.f
P.x = M.E.f; // error, should be typeof M.E.f
@@ -138,9 +138,9 @@ var m;
}
return City;
}());
var Enum;
(function (Enum) {
Enum[Enum["claw"] = (function () { return 10; })()] = "claw";
})(m.Enum || (m.Enum = {}));
var Enum = m.Enum;
})(Enum = m.Enum || (m.Enum = {}));
m.v = function (x) { return new City(Enum.claw); };
})(m || (m = {}));
@@ -92,78 +92,77 @@ merged2 = abc; // ok
//// [enumAssignmentCompat3.js]
var First;
(function (First) {
var E;
(function (E) {
E[E["a"] = 0] = "a";
E[E["b"] = 1] = "b";
E[E["c"] = 2] = "c";
})(First.E || (First.E = {}));
var E = First.E;
})(E = First.E || (First.E = {}));
})(First || (First = {}));
var Abc;
(function (Abc) {
var E;
(function (E) {
E[E["a"] = 0] = "a";
E[E["b"] = 1] = "b";
E[E["c"] = 2] = "c";
})(Abc.E || (Abc.E = {}));
var E = Abc.E;
})(E = Abc.E || (Abc.E = {}));
var Nope;
(function (Nope) {
Nope[Nope["a"] = 0] = "a";
Nope[Nope["b"] = 1] = "b";
Nope[Nope["c"] = 2] = "c";
})(Abc.Nope || (Abc.Nope = {}));
var Nope = Abc.Nope;
})(Nope = Abc.Nope || (Abc.Nope = {}));
})(Abc || (Abc = {}));
var Abcd;
(function (Abcd) {
var E;
(function (E) {
E[E["a"] = 0] = "a";
E[E["b"] = 1] = "b";
E[E["c"] = 2] = "c";
E[E["d"] = 3] = "d";
})(Abcd.E || (Abcd.E = {}));
var E = Abcd.E;
})(E = Abcd.E || (Abcd.E = {}));
})(Abcd || (Abcd = {}));
var Ab;
(function (Ab) {
var E;
(function (E) {
E[E["a"] = 0] = "a";
E[E["b"] = 1] = "b";
})(Ab.E || (Ab.E = {}));
var E = Ab.E;
})(E = Ab.E || (Ab.E = {}));
})(Ab || (Ab = {}));
var Cd;
(function (Cd) {
var E;
(function (E) {
E[E["c"] = 0] = "c";
E[E["d"] = 1] = "d";
})(Cd.E || (Cd.E = {}));
var E = Cd.E;
})(E = Cd.E || (Cd.E = {}));
})(Cd || (Cd = {}));
var Decl;
(function (Decl) {
})(Decl || (Decl = {}));
var Merged;
(function (Merged) {
var E;
(function (E) {
E[E["a"] = 0] = "a";
E[E["b"] = 1] = "b";
})(Merged.E || (Merged.E = {}));
var E = Merged.E;
})(E = Merged.E || (Merged.E = {}));
(function (E) {
E[E["c"] = 3] = "c";
E[E["d"] = 4] = "d";
})(Merged.E || (Merged.E = {}));
var E = Merged.E;
})(E = Merged.E || (Merged.E = {}));
})(Merged || (Merged = {}));
var Merged2;
(function (Merged2) {
var E;
(function (E) {
E[E["a"] = 0] = "a";
E[E["b"] = 1] = "b";
E[E["c"] = 2] = "c";
})(Merged2.E || (Merged2.E = {}));
var E = Merged2.E;
})(E = Merged2.E || (Merged2.E = {}));
(function (E) {
E.d = 5;
})(E = Merged2.E || (Merged2.E = {}));
@@ -26,20 +26,20 @@ let broken = [
//// [enumAssignmentCompat4.js]
var M;
(function (M) {
var MyEnum;
(function (MyEnum) {
MyEnum[MyEnum["BAR"] = 0] = "BAR";
})(M.MyEnum || (M.MyEnum = {}));
var MyEnum = M.MyEnum;
})(MyEnum = M.MyEnum || (M.MyEnum = {}));
M.object2 = {
foo: MyEnum.BAR
};
})(M || (M = {}));
var N;
(function (N) {
var MyEnum;
(function (MyEnum) {
MyEnum[MyEnum["FOO"] = 0] = "FOO";
})(N.MyEnum || (N.MyEnum = {}));
var MyEnum = N.MyEnum;
})(MyEnum = N.MyEnum || (N.MyEnum = {}));
;
N.object1 = {
foo: MyEnum.FOO
@@ -12,10 +12,10 @@ var x = f.Mode.Open;
//// [enumFromExternalModule_0.js]
"use strict";
var Mode;
(function (Mode) {
Mode[Mode["Open"] = 0] = "Open";
})(exports.Mode || (exports.Mode = {}));
var Mode = exports.Mode;
})(Mode = exports.Mode || (exports.Mode = {}));
//// [enumFromExternalModule_1.js]
"use strict";
///<reference path='enumFromExternalModule_0.ts'/>
@@ -32,35 +32,35 @@ const e5: Ka.Foo | boolean = Z.Foo.A; // ok
//// [enumLiteralAssignableToEnumInsideUnion.js]
var X;
(function (X) {
var Foo;
(function (Foo) {
Foo[Foo["A"] = 0] = "A";
Foo[Foo["B"] = 1] = "B";
})(X.Foo || (X.Foo = {}));
var Foo = X.Foo;
})(Foo = X.Foo || (X.Foo = {}));
})(X || (X = {}));
var Y;
(function (Y) {
var Foo;
(function (Foo) {
Foo[Foo["A"] = 0] = "A";
Foo[Foo["B"] = 1] = "B";
})(Y.Foo || (Y.Foo = {}));
var Foo = Y.Foo;
})(Foo = Y.Foo || (Y.Foo = {}));
})(Y || (Y = {}));
var Z;
(function (Z) {
var Foo;
(function (Foo) {
Foo[Foo["A"] = 2] = "A";
Foo[Foo["B"] = 4] = "B";
})(Z.Foo || (Z.Foo = {}));
var Foo = Z.Foo;
})(Foo = Z.Foo || (Z.Foo = {}));
})(Z || (Z = {}));
var Ka;
(function (Ka) {
var Foo;
(function (Foo) {
Foo[Foo["A"] = 1024] = "A";
Foo[Foo["B"] = 2048] = "B";
})(Ka.Foo || (Ka.Foo = {}));
var Foo = Ka.Foo;
})(Foo = Ka.Foo || (Ka.Foo = {}));
})(Ka || (Ka = {}));
var e0 = Y.Foo.A; // ok
var e1 = Z.Foo.A; // not legal, Z is computed
+14 -16
View File
@@ -82,35 +82,33 @@ var M1;
EImpl1[EImpl1["E"] = 2] = "E";
EImpl1[EImpl1["F"] = 3] = "F";
})(EImpl1 || (EImpl1 = {}));
var EConst1;
(function (EConst1) {
EConst1[EConst1["A"] = 3] = "A";
EConst1[EConst1["B"] = 2] = "B";
EConst1[EConst1["C"] = 1] = "C";
})(M1.EConst1 || (M1.EConst1 = {}));
var EConst1 = M1.EConst1;
})(EConst1 = M1.EConst1 || (M1.EConst1 = {}));
(function (EConst1) {
EConst1[EConst1["D"] = 7] = "D";
EConst1[EConst1["E"] = 9] = "E";
EConst1[EConst1["F"] = 8] = "F";
})(M1.EConst1 || (M1.EConst1 = {}));
var EConst1 = M1.EConst1;
})(EConst1 = M1.EConst1 || (M1.EConst1 = {}));
var x = [EConst1.A, EConst1.B, EConst1.C, EConst1.D, EConst1.E, EConst1.F];
})(M1 || (M1 = {}));
// Enum with only computed members across 2 declarations with the same root module
var M2;
(function (M2) {
var EComp2;
(function (EComp2) {
EComp2[EComp2["A"] = 'foo'.length] = "A";
EComp2[EComp2["B"] = 'foo'.length] = "B";
EComp2[EComp2["C"] = 'foo'.length] = "C";
})(M2.EComp2 || (M2.EComp2 = {}));
var EComp2 = M2.EComp2;
})(EComp2 = M2.EComp2 || (M2.EComp2 = {}));
(function (EComp2) {
EComp2[EComp2["D"] = 'foo'.length] = "D";
EComp2[EComp2["E"] = 'foo'.length] = "E";
EComp2[EComp2["F"] = 'foo'.length] = "F";
})(M2.EComp2 || (M2.EComp2 = {}));
var EComp2 = M2.EComp2;
})(EComp2 = M2.EComp2 || (M2.EComp2 = {}));
var x = [EComp2.A, EComp2.B, EComp2.C, EComp2.D, EComp2.E, EComp2.F];
})(M2 || (M2 = {}));
// Enum with initializer in only one of two declarations with constant members with the same root module
@@ -130,41 +128,41 @@ var M3;
// Enums with same name but different root module
var M4;
(function (M4) {
var Color;
(function (Color) {
Color[Color["Red"] = 0] = "Red";
Color[Color["Green"] = 1] = "Green";
Color[Color["Blue"] = 2] = "Blue";
})(M4.Color || (M4.Color = {}));
var Color = M4.Color;
})(Color = M4.Color || (M4.Color = {}));
})(M4 || (M4 = {}));
var M5;
(function (M5) {
var Color;
(function (Color) {
Color[Color["Red"] = 0] = "Red";
Color[Color["Green"] = 1] = "Green";
Color[Color["Blue"] = 2] = "Blue";
})(M5.Color || (M5.Color = {}));
var Color = M5.Color;
})(Color = M5.Color || (M5.Color = {}));
})(M5 || (M5 = {}));
var M6;
(function (M6) {
var A;
(function (A) {
var Color;
(function (Color) {
Color[Color["Red"] = 0] = "Red";
Color[Color["Green"] = 1] = "Green";
Color[Color["Blue"] = 2] = "Blue";
})(A.Color || (A.Color = {}));
var Color = A.Color;
})(Color = A.Color || (A.Color = {}));
})(A = M6.A || (M6.A = {}));
})(M6 || (M6 = {}));
(function (M6) {
var A;
(function (A) {
var Color;
(function (Color) {
Color[Color["Yellow"] = 1] = "Yellow";
})(A.Color || (A.Color = {}));
var Color = A.Color;
})(Color = A.Color || (A.Color = {}));
})(A = M6.A || (M6.A = {}));
var t = A.Color.Yellow;
t = A.Color.Red;
+30 -30
View File
@@ -46,84 +46,84 @@ module M2 {
// Enum with constant, computed, constant members split across 3 declarations with the same root module
var M;
(function (M) {
var E1;
(function (E1) {
E1[E1["A"] = 0] = "A";
})(M.E1 || (M.E1 = {}));
var E1 = M.E1;
})(E1 = M.E1 || (M.E1 = {}));
var E2;
(function (E2) {
E2[E2["C"] = 0] = "C";
})(M.E2 || (M.E2 = {}));
var E2 = M.E2;
})(E2 = M.E2 || (M.E2 = {}));
var E3;
(function (E3) {
E3[E3["A"] = 0] = "A";
})(M.E3 || (M.E3 = {}));
var E3 = M.E3;
})(E3 = M.E3 || (M.E3 = {}));
})(M || (M = {}));
(function (M) {
var E1;
(function (E1) {
E1[E1["B"] = 'foo'.length] = "B";
})(M.E1 || (M.E1 = {}));
var E1 = M.E1;
})(E1 = M.E1 || (M.E1 = {}));
var E2;
(function (E2) {
E2[E2["B"] = 'foo'.length] = "B";
})(M.E2 || (M.E2 = {}));
var E2 = M.E2;
})(E2 = M.E2 || (M.E2 = {}));
var E3;
(function (E3) {
E3[E3["C"] = 0] = "C";
})(M.E3 || (M.E3 = {}));
var E3 = M.E3;
})(E3 = M.E3 || (M.E3 = {}));
})(M || (M = {}));
(function (M) {
var E1;
(function (E1) {
E1[E1["C"] = 0] = "C";
})(M.E1 || (M.E1 = {}));
var E1 = M.E1;
})(E1 = M.E1 || (M.E1 = {}));
var E2;
(function (E2) {
E2[E2["A"] = 0] = "A";
})(M.E2 || (M.E2 = {}));
var E2 = M.E2;
})(E2 = M.E2 || (M.E2 = {}));
var E3;
(function (E3) {
E3[E3["B"] = 'foo'.length] = "B";
})(M.E3 || (M.E3 = {}));
var E3 = M.E3;
})(E3 = M.E3 || (M.E3 = {}));
})(M || (M = {}));
// Enum with no initializer in either declaration with constant members with the same root module
var M1;
(function (M1) {
var E1;
(function (E1) {
E1[E1["A"] = 0] = "A";
})(M1.E1 || (M1.E1 = {}));
var E1 = M1.E1;
})(E1 = M1.E1 || (M1.E1 = {}));
})(M1 || (M1 = {}));
(function (M1) {
var E1;
(function (E1) {
E1[E1["B"] = 0] = "B";
})(M1.E1 || (M1.E1 = {}));
var E1 = M1.E1;
})(E1 = M1.E1 || (M1.E1 = {}));
})(M1 || (M1 = {}));
(function (M1) {
var E1;
(function (E1) {
E1[E1["C"] = 0] = "C";
})(M1.E1 || (M1.E1 = {}));
var E1 = M1.E1;
})(E1 = M1.E1 || (M1.E1 = {}));
})(M1 || (M1 = {}));
// Enum with initializer in only one of three declarations with constant members with the same root module
var M2;
(function (M2) {
var E1;
(function (E1) {
E1[E1["A"] = 0] = "A";
})(M2.E1 || (M2.E1 = {}));
var E1 = M2.E1;
})(E1 = M2.E1 || (M2.E1 = {}));
})(M2 || (M2 = {}));
(function (M2) {
var E1;
(function (E1) {
E1[E1["B"] = 0] = "B";
})(M2.E1 || (M2.E1 = {}));
var E1 = M2.E1;
})(E1 = M2.E1 || (M2.E1 = {}));
})(M2 || (M2 = {}));
(function (M2) {
var E1;
(function (E1) {
E1[E1["C"] = 0] = "C";
})(M2.E1 || (M2.E1 = {}));
var E1 = M2.E1;
})(E1 = M2.E1 || (M2.E1 = {}));
})(M2 || (M2 = {}));
@@ -59,9 +59,9 @@ define(["require", "exports"], function (require, exports) {
function M_F() { }
M.M_F = M_F;
// enum
var M_E;
(function (M_E) {
})(M.M_E || (M.M_E = {}));
var M_E = M.M_E;
})(M_E = M.M_E || (M.M_E = {}));
// alias
M.M_A = M_M;
})(M = exports.M || (exports.M = {}));
@@ -63,12 +63,12 @@ var x = 0 /* a */;
var y = 0 /* x */;
export var m1;
(function (m1) {
var e3;
(function (e3) {
e3[e3["a"] = 0] = "a";
e3[e3["b"] = 1] = "b";
e3[e3["c"] = 2] = "c";
})(m1.e3 || (m1.e3 = {}));
var e3 = m1.e3;
})(e3 = m1.e3 || (m1.e3 = {}));
var e4;
(function (e4) {
e4[e4["x"] = 0] = "x";
@@ -82,12 +82,12 @@ export var m1;
})(m1 || (m1 = {}));
var m2;
(function (m2) {
var e5;
(function (e5) {
e5[e5["a"] = 0] = "a";
e5[e5["b"] = 1] = "b";
e5[e5["c"] = 2] = "c";
})(m2.e5 || (m2.e5 = {}));
var e5 = m2.e5;
})(e5 = m2.e5 || (m2.e5 = {}));
var e6;
(function (e6) {
e6[e6["x"] = 0] = "x";
@@ -62,12 +62,12 @@ var x = e1.a;
var y = e2.x;
export var m1;
(function (m1) {
var e3;
(function (e3) {
e3[e3["a"] = 0] = "a";
e3[e3["b"] = 1] = "b";
e3[e3["c"] = 2] = "c";
})(m1.e3 || (m1.e3 = {}));
var e3 = m1.e3;
})(e3 = m1.e3 || (m1.e3 = {}));
var e4;
(function (e4) {
e4[e4["x"] = 0] = "x";
@@ -81,12 +81,12 @@ export var m1;
})(m1 || (m1 = {}));
var m2;
(function (m2) {
var e5;
(function (e5) {
e5[e5["a"] = 0] = "a";
e5[e5["b"] = 1] = "b";
e5[e5["c"] = 2] = "c";
})(m2.e5 || (m2.e5 = {}));
var e5 = m2.e5;
})(e5 = m2.e5 || (m2.e5 = {}));
var e6;
(function (e6) {
e6[e6["x"] = 0] = "x";
@@ -50,9 +50,9 @@ export var M;
function M_F() { }
M.M_F = M_F;
// enum
var M_E;
(function (M_E) {
})(M.M_E || (M.M_E = {}));
var M_E = M.M_E;
})(M_E = M.M_E || (M.M_E = {}));
// alias
M.M_A = M_M;
})(M || (M = {}));
@@ -52,9 +52,9 @@ export var M;
function M_F() { }
M.M_F = M_F;
// enum
var M_E;
(function (M_E) {
})(M.M_E || (M.M_E = {}));
var M_E = M.M_E;
})(M_E = M.M_E || (M.M_E = {}));
// alias
M.M_A = M_M;
})(M || (M = {}));
@@ -13,12 +13,12 @@ export = C1;
//// [foo_0.js]
define(["require", "exports"], function (require, exports) {
"use strict";
var E1;
(function (E1) {
E1[E1["A"] = 0] = "A";
E1[E1["B"] = 1] = "B";
E1[E1["C"] = 2] = "C";
})(exports.E1 || (exports.E1 = {}));
var E1 = exports.E1;
})(E1 = exports.E1 || (exports.E1 = {}));
var C1 = (function () {
function C1() {
}
+2 -2
View File
@@ -90,10 +90,10 @@ var D;
// validate all exportable statements
var E;
(function (E) {
var Color;
(function (Color) {
Color[Color["Red"] = 0] = "Red";
})(E.Color || (E.Color = {}));
var Color = E.Color;
})(Color = E.Color || (E.Color = {}));
function fn() { }
E.fn = fn;
var C = (function () {
@@ -49,12 +49,12 @@ define(["require", "exports"], function (require, exports) {
}());
exports.C = C;
exports.C1 = C;
var E;
(function (E) {
E[E["A"] = 0] = "A";
E[E["B"] = 1] = "B";
E[E["C"] = 2] = "C";
})(exports.E || (exports.E = {}));
var E = exports.E;
})(E = exports.E || (exports.E = {}));
exports.E1 = E;
var M;
(function (M) {
@@ -45,12 +45,12 @@ class C {
}
exports.C = C;
exports.C1 = C;
var E;
(function (E) {
E[E["A"] = 0] = "A";
E[E["B"] = 1] = "B";
E[E["C"] = 2] = "C";
})(exports.E || (exports.E = {}));
var E = exports.E;
})(E = exports.E || (exports.E = {}));
exports.E1 = E;
var M;
(function (M) {
@@ -48,12 +48,12 @@ var C = (function () {
}());
exports.C = C;
exports.C1 = C;
var E;
(function (E) {
E[E["A"] = 0] = "A";
E[E["B"] = 1] = "B";
E[E["C"] = 2] = "C";
})(exports.E || (exports.E = {}));
var E = exports.E;
})(E = exports.E || (exports.E = {}));
exports.E1 = E;
var M;
(function (M) {
@@ -37,11 +37,11 @@ var TypeScript2;
;
;
;
var PullSymbolVisibility;
(function (PullSymbolVisibility) {
PullSymbolVisibility[PullSymbolVisibility["Private"] = 0] = "Private";
PullSymbolVisibility[PullSymbolVisibility["Public"] = 1] = "Public";
})(TypeScript2.PullSymbolVisibility || (TypeScript2.PullSymbolVisibility = {}));
var PullSymbolVisibility = TypeScript2.PullSymbolVisibility;
})(PullSymbolVisibility = TypeScript2.PullSymbolVisibility || (TypeScript2.PullSymbolVisibility = {}));
var PullSymbol = (function () {
function PullSymbol(name, declKind) {
}
@@ -101,11 +101,11 @@ var p2 = new m2.Point();
var p2 = new M2.Point();
var M3;
(function (M3) {
var Color;
(function (Color) {
Color[Color["Blue"] = 0] = "Blue";
Color[Color["Red"] = 1] = "Red";
})(M3.Color || (M3.Color = {}));
var Color = M3.Color;
})(Color = M3.Color || (M3.Color = {}));
})(M3 || (M3 = {}));
var m3;
var m3 = M3;
@@ -55,12 +55,12 @@ M.test();
//// [interfaceAssignmentCompat.js]
var M;
(function (M) {
var Color;
(function (Color) {
Color[Color["Green"] = 0] = "Green";
Color[Color["Blue"] = 1] = "Blue";
Color[Color["Brown"] = 2] = "Brown";
})(M.Color || (M.Color = {}));
var Color = M.Color;
})(Color = M.Color || (M.Color = {}));
function CompareEyes(a, b) {
return a.color - b.color;
}
@@ -16,12 +16,12 @@ module c {
//// [internalAliasEnum.js]
var a;
(function (a) {
var weekend;
(function (weekend) {
weekend[weekend["Friday"] = 0] = "Friday";
weekend[weekend["Saturday"] = 1] = "Saturday";
weekend[weekend["Sunday"] = 2] = "Sunday";
})(a.weekend || (a.weekend = {}));
var weekend = a.weekend;
})(weekend = a.weekend || (a.weekend = {}));
})(a || (a = {}));
var c;
(function (c) {
@@ -17,12 +17,12 @@ export module c {
"use strict";
var a;
(function (a) {
var weekend;
(function (weekend) {
weekend[weekend["Friday"] = 0] = "Friday";
weekend[weekend["Saturday"] = 1] = "Saturday";
weekend[weekend["Sunday"] = 2] = "Sunday";
})(a.weekend || (a.weekend = {}));
var weekend = a.weekend;
})(weekend = a.weekend || (a.weekend = {}));
})(a = exports.a || (exports.a = {}));
var c;
(function (c) {
@@ -17,12 +17,12 @@ export module c {
"use strict";
var a;
(function (a) {
var weekend;
(function (weekend) {
weekend[weekend["Friday"] = 0] = "Friday";
weekend[weekend["Saturday"] = 1] = "Saturday";
weekend[weekend["Sunday"] = 2] = "Sunday";
})(a.weekend || (a.weekend = {}));
var weekend = a.weekend;
})(weekend = a.weekend || (a.weekend = {}));
})(a = exports.a || (exports.a = {}));
var c;
(function (c) {
@@ -18,12 +18,12 @@ var happyFriday = c.b.Friday;
"use strict";
var a;
(function (a) {
var weekend;
(function (weekend) {
weekend[weekend["Friday"] = 0] = "Friday";
weekend[weekend["Saturday"] = 1] = "Saturday";
weekend[weekend["Sunday"] = 2] = "Sunday";
})(a.weekend || (a.weekend = {}));
var weekend = a.weekend;
})(weekend = a.weekend || (a.weekend = {}));
})(a = exports.a || (exports.a = {}));
var c;
(function (c) {
@@ -16,12 +16,12 @@ define(["require", "exports"], function (require, exports) {
"use strict";
var a;
(function (a) {
var weekend;
(function (weekend) {
weekend[weekend["Friday"] = 0] = "Friday";
weekend[weekend["Saturday"] = 1] = "Saturday";
weekend[weekend["Sunday"] = 2] = "Sunday";
})(a.weekend || (a.weekend = {}));
var weekend = a.weekend;
})(weekend = a.weekend || (a.weekend = {}));
})(a = exports.a || (exports.a = {}));
exports.b = a.weekend;
exports.bVal = exports.b.Sunday;
@@ -16,12 +16,12 @@ define(["require", "exports"], function (require, exports) {
"use strict";
var a;
(function (a) {
var weekend;
(function (weekend) {
weekend[weekend["Friday"] = 0] = "Friday";
weekend[weekend["Saturday"] = 1] = "Saturday";
weekend[weekend["Sunday"] = 2] = "Sunday";
})(a.weekend || (a.weekend = {}));
var weekend = a.weekend;
})(weekend = a.weekend || (a.weekend = {}));
})(a = exports.a || (exports.a = {}));
var b = a.weekend;
exports.bVal = b.Sunday;
@@ -16,13 +16,13 @@ module App {
//// [localImportNameVsGlobalName.js]
var Keyboard;
(function (Keyboard) {
var Key;
(function (Key) {
Key[Key["UP"] = 0] = "UP";
Key[Key["DOWN"] = 1] = "DOWN";
Key[Key["LEFT"] = 2] = "LEFT";
Key[Key["RIGHT"] = 3] = "RIGHT";
})(Keyboard.Key || (Keyboard.Key = {}));
var Key = Keyboard.Key;
})(Key = Keyboard.Key || (Keyboard.Key = {}));
})(Keyboard || (Keyboard = {}));
var App;
(function (App) {
@@ -10,9 +10,9 @@ export type E = E;
//// [f1.js]
"use strict";
var E;
(function (E) {
E[E["X"] = 0] = "X";
})(exports.E || (exports.E = {}));
var E = exports.E;
})(E = exports.E || (exports.E = {}));
//// [f2.js]
"use strict";
@@ -42,11 +42,11 @@ M.foo.z // error
//// [mergedDeclarations3.js]
var M;
(function (M) {
var Color;
(function (Color) {
Color[Color["Red"] = 0] = "Red";
Color[Color["Green"] = 1] = "Green";
})(M.Color || (M.Color = {}));
var Color = M.Color;
})(Color = M.Color || (M.Color = {}));
})(M || (M = {}));
(function (M) {
var Color;
@@ -45,9 +45,9 @@ var M;
return fudge;
}());
plop_1.fudge = fudge;
var plop;
(function (plop) {
})(plop_1.plop || (plop_1.plop = {}));
var plop = plop_1.plop;
})(plop = plop_1.plop || (plop_1.plop = {}));
// Emit these references as follows
var v1 = gunk; // gunk
var v2 = buz; // buz
@@ -43,10 +43,10 @@ var C2 = (function () {
C2.prototype.p2 = function () { };
return C2;
}());
var E1;
(function (E1) {
E1[E1["A"] = 0] = "A";
})(exports.E1 || (exports.E1 = {}));
var E1 = exports.E1;
})(E1 = exports.E1 || (exports.E1 = {}));
var u = E1.A;
var E2;
(function (E2) {
@@ -67,12 +67,12 @@ var Kettle = (function () {
exports.Kettle = Kettle;
exports.Pot = 2;
exports.Pot = 42; // Shouldn't error
var Utensils;
(function (Utensils) {
Utensils[Utensils["Spoon"] = 0] = "Spoon";
Utensils[Utensils["Fork"] = 1] = "Fork";
Utensils[Utensils["Knife"] = 2] = "Knife";
})(exports.Utensils || (exports.Utensils = {}));
var Utensils = exports.Utensils;
})(Utensils = exports.Utensils || (exports.Utensils = {}));
(function (Utensils) {
Utensils[Utensils["Spork"] = 3] = "Spork";
})(exports.Utensils || (exports.Utensils = {}));
})(Utensils = exports.Utensils || (exports.Utensils = {}));
@@ -15,11 +15,11 @@ export enum Animals {
//// [c.js]
"use strict";
var Animals;
(function (Animals) {
Animals[Animals["Cat"] = 0] = "Cat";
Animals[Animals["Dog"] = 1] = "Dog";
})(exports.Animals || (exports.Animals = {}));
var Animals = exports.Animals;
})(Animals = exports.Animals || (exports.Animals = {}));
;
//// [b.js]
"use strict";
@@ -86,12 +86,12 @@ var M;
function someExportedInnerFunc() { return -2; }
InnerMod.someExportedInnerFunc = someExportedInnerFunc;
})(InnerMod = M.InnerMod || (M.InnerMod = {}));
var E;
(function (E) {
E[E["A"] = 0] = "A";
E[E["B"] = 1] = "B";
E[E["C"] = 2] = "C";
})(M.E || (M.E = {}));
var E = M.E;
})(E = M.E || (M.E = {}));
M.x = 5;
var y = M.x + M.x;
var B = (function () {
@@ -151,11 +151,11 @@ var Y;
return A;
}());
})(Module = Y.Module || (Y.Module = {}));
var Color;
(function (Color) {
Color[Color["Blue"] = 0] = "Blue";
Color[Color["Red"] = 1] = "Red";
})(Y.Color || (Y.Color = {}));
var Color = Y.Color;
})(Color = Y.Color || (Y.Color = {}));
Y.x = 12;
function F(s) {
return 2;
+2 -2
View File
@@ -85,11 +85,11 @@ var Y;
(function (Y_2) {
var Y;
(function (Y_3) {
var Y;
(function (Y) {
Y[Y["Red"] = 0] = "Red";
Y[Y["Blue"] = 1] = "Blue";
})(Y_3.Y || (Y_3.Y = {}));
var Y = Y_3.Y;
})(Y = Y_3.Y || (Y_3.Y = {}));
})(Y = Y_2.Y || (Y_2.Y = {}));
})(Y || (Y = {}));
// no collision, since interface doesn't
+2 -2
View File
@@ -10,10 +10,10 @@
//// [parserEnum1.js]
"use strict";
var SignatureFlags;
(function (SignatureFlags) {
SignatureFlags[SignatureFlags["None"] = 0] = "None";
SignatureFlags[SignatureFlags["IsIndexer"] = 1] = "IsIndexer";
SignatureFlags[SignatureFlags["IsStringIndexer"] = 2] = "IsStringIndexer";
SignatureFlags[SignatureFlags["IsNumberIndexer"] = 4] = "IsNumberIndexer";
})(exports.SignatureFlags || (exports.SignatureFlags = {}));
var SignatureFlags = exports.SignatureFlags;
})(SignatureFlags = exports.SignatureFlags || (exports.SignatureFlags = {}));
+2 -2
View File
@@ -10,10 +10,10 @@
//// [parserEnum2.js]
"use strict";
var SignatureFlags;
(function (SignatureFlags) {
SignatureFlags[SignatureFlags["None"] = 0] = "None";
SignatureFlags[SignatureFlags["IsIndexer"] = 1] = "IsIndexer";
SignatureFlags[SignatureFlags["IsStringIndexer"] = 2] = "IsStringIndexer";
SignatureFlags[SignatureFlags["IsNumberIndexer"] = 4] = "IsNumberIndexer";
})(exports.SignatureFlags || (exports.SignatureFlags = {}));
var SignatureFlags = exports.SignatureFlags;
})(SignatureFlags = exports.SignatureFlags || (exports.SignatureFlags = {}));
+2 -2
View File
@@ -6,6 +6,6 @@
//// [parserEnum3.js]
"use strict";
var SignatureFlags;
(function (SignatureFlags) {
})(exports.SignatureFlags || (exports.SignatureFlags = {}));
var SignatureFlags = exports.SignatureFlags;
})(SignatureFlags = exports.SignatureFlags || (exports.SignatureFlags = {}));
+2 -2
View File
@@ -7,6 +7,6 @@
//// [parserEnum4.js]
"use strict";
var SignatureFlags;
(function (SignatureFlags) {
})(exports.SignatureFlags || (exports.SignatureFlags = {}));
var SignatureFlags = exports.SignatureFlags;
})(SignatureFlags = exports.SignatureFlags || (exports.SignatureFlags = {}));
@@ -466,6 +466,7 @@ var __extends = (this && this.__extends) || function (d, b) {
///<reference path='typescript.ts' />
var TypeScript;
(function (TypeScript) {
var TokenID;
(function (TokenID) {
// Keywords
TokenID[TokenID["Any"] = 0] = "Any";
@@ -584,8 +585,7 @@ var TypeScript;
TokenID[TokenID["Lim"] = 112] = "Lim";
TokenID[TokenID["LimFixed"] = 105] = "LimFixed";
TokenID[TokenID["LimKeyword"] = 53] = "LimKeyword";
})(TypeScript.TokenID || (TypeScript.TokenID = {}));
var TokenID = TypeScript.TokenID;
})(TokenID = TypeScript.TokenID || (TypeScript.TokenID = {}));
TypeScript.tokenTable = new TokenInfo[];
TypeScript.nodeTypeTable = new string[];
TypeScript.nodeTypeToTokTable = new number[];
@@ -602,6 +602,7 @@ var TypeScript;
TypeScript.noRegexTable[TokenID.CloseBrace] = true;
TypeScript.noRegexTable[TokenID.True] = true;
TypeScript.noRegexTable[TokenID.False] = true;
var OperatorPrecedence;
(function (OperatorPrecedence) {
OperatorPrecedence[OperatorPrecedence["None"] = 0] = "None";
OperatorPrecedence[OperatorPrecedence["Comma"] = 1] = "Comma";
@@ -619,8 +620,8 @@ var TypeScript;
OperatorPrecedence[OperatorPrecedence["Multiplicative"] = 13] = "Multiplicative";
OperatorPrecedence[OperatorPrecedence["Unary"] = 14] = "Unary";
OperatorPrecedence[OperatorPrecedence["Lim"] = 15] = "Lim";
})(TypeScript.OperatorPrecedence || (TypeScript.OperatorPrecedence = {}));
var OperatorPrecedence = TypeScript.OperatorPrecedence;
})(OperatorPrecedence = TypeScript.OperatorPrecedence || (TypeScript.OperatorPrecedence = {}));
var Reservation;
(function (Reservation) {
Reservation[Reservation["None"] = 0] = "None";
Reservation[Reservation["Javascript"] = 1] = "Javascript";
@@ -630,8 +631,7 @@ var TypeScript;
Reservation[Reservation["TypeScriptAndJS"] = 5] = "TypeScriptAndJS";
Reservation[Reservation["TypeScriptAndJSFuture"] = 6] = "TypeScriptAndJSFuture";
Reservation[Reservation["TypeScriptAndJSFutureStrict"] = 12] = "TypeScriptAndJSFutureStrict";
})(TypeScript.Reservation || (TypeScript.Reservation = {}));
var Reservation = TypeScript.Reservation;
})(Reservation = TypeScript.Reservation || (TypeScript.Reservation = {}));
var TokenInfo = (function () {
function TokenInfo(tokenId, reservation, binopPrecedence, binopNodeType, unopPrecedence, unopNodeType, text, ers) {
this.tokenId = tokenId;
@@ -773,6 +773,7 @@ var TypeScript;
return TypeScript.tokenTable[tokenId];
}
TypeScript.lookupToken = lookupToken;
var TokenClass;
(function (TokenClass) {
TokenClass[TokenClass["Punctuation"] = 0] = "Punctuation";
TokenClass[TokenClass["Keyword"] = 1] = "Keyword";
@@ -781,8 +782,7 @@ var TypeScript;
TokenClass[TokenClass["Whitespace"] = 4] = "Whitespace";
TokenClass[TokenClass["Identifier"] = 5] = "Identifier";
TokenClass[TokenClass["Literal"] = 6] = "Literal";
})(TypeScript.TokenClass || (TypeScript.TokenClass = {}));
var TokenClass = TypeScript.TokenClass;
})(TokenClass = TypeScript.TokenClass || (TypeScript.TokenClass = {}));
var SavedToken = (function () {
function SavedToken(tok, minChar, limChar) {
this.tok = tok;
@@ -957,6 +957,7 @@ var TypeScript;
return AstPathContext;
}());
TypeScript.AstPathContext = AstPathContext;
var GetAstPathOptions;
(function (GetAstPathOptions) {
GetAstPathOptions[GetAstPathOptions["Default"] = 0] = "Default";
GetAstPathOptions[GetAstPathOptions["EdgeInclusive"] = 1] = "EdgeInclusive";
@@ -968,8 +969,7 @@ var TypeScript;
// we don't find the "precomment" attached to the errorneous empty stmt.
//TODO: It would be nice to be able to get rid of this.
GetAstPathOptions[GetAstPathOptions["DontPruneSearchBasedOnPosition"] = 2] = "DontPruneSearchBasedOnPosition";
})(TypeScript.GetAstPathOptions || (TypeScript.GetAstPathOptions = {}));
var GetAstPathOptions = TypeScript.GetAstPathOptions;
})(GetAstPathOptions = TypeScript.GetAstPathOptions || (TypeScript.GetAstPathOptions = {}));
///
/// Return the stack of AST nodes containing "position"
///
+28 -28
View File
@@ -281,6 +281,7 @@ var TypeScript;
return (val & flag) != 0;
}
TypeScript.hasFlag = hasFlag;
var ErrorRecoverySet;
(function (ErrorRecoverySet) {
ErrorRecoverySet[ErrorRecoverySet["None"] = 0] = "None";
ErrorRecoverySet[ErrorRecoverySet["Comma"] = 1] = "Comma";
@@ -320,8 +321,8 @@ var TypeScript;
ErrorRecoverySet[ErrorRecoverySet["ExprStart"] = 520158210] = "ExprStart";
ErrorRecoverySet[ErrorRecoverySet["StmtStart"] = 1608580098] = "StmtStart";
ErrorRecoverySet[ErrorRecoverySet["Postfix"] = 49280] = "Postfix";
})(TypeScript.ErrorRecoverySet || (TypeScript.ErrorRecoverySet = {}));
var ErrorRecoverySet = TypeScript.ErrorRecoverySet;
})(ErrorRecoverySet = TypeScript.ErrorRecoverySet || (TypeScript.ErrorRecoverySet = {}));
var AllowedElements;
(function (AllowedElements) {
AllowedElements[AllowedElements["None"] = 0] = "None";
AllowedElements[AllowedElements["ModuleDeclarations"] = 4] = "ModuleDeclarations";
@@ -331,8 +332,8 @@ var TypeScript;
AllowedElements[AllowedElements["Properties"] = 2048] = "Properties";
AllowedElements[AllowedElements["Global"] = 1052] = "Global";
AllowedElements[AllowedElements["QuickParse"] = 3100] = "QuickParse";
})(TypeScript.AllowedElements || (TypeScript.AllowedElements = {}));
var AllowedElements = TypeScript.AllowedElements;
})(AllowedElements = TypeScript.AllowedElements || (TypeScript.AllowedElements = {}));
var Modifiers;
(function (Modifiers) {
Modifiers[Modifiers["None"] = 0] = "None";
Modifiers[Modifiers["Private"] = 1] = "Private";
@@ -343,8 +344,8 @@ var TypeScript;
Modifiers[Modifiers["Getter"] = 32] = "Getter";
Modifiers[Modifiers["Setter"] = 64] = "Setter";
Modifiers[Modifiers["Static"] = 128] = "Static";
})(TypeScript.Modifiers || (TypeScript.Modifiers = {}));
var Modifiers = TypeScript.Modifiers;
})(Modifiers = TypeScript.Modifiers || (TypeScript.Modifiers = {}));
var ASTFlags;
(function (ASTFlags) {
ASTFlags[ASTFlags["None"] = 0] = "None";
ASTFlags[ASTFlags["ExplicitSemicolon"] = 1] = "ExplicitSemicolon";
@@ -362,8 +363,8 @@ var TypeScript;
// The flag is used to communicate this piece of information to the calling parseTerm, which intern will remove it.
// Once we have a better way to associate information with nodes, this flag should not be used.
ASTFlags[ASTFlags["SkipNextRParen"] = 2048] = "SkipNextRParen";
})(TypeScript.ASTFlags || (TypeScript.ASTFlags = {}));
var ASTFlags = TypeScript.ASTFlags;
})(ASTFlags = TypeScript.ASTFlags || (TypeScript.ASTFlags = {}));
var DeclFlags;
(function (DeclFlags) {
DeclFlags[DeclFlags["None"] = 0] = "None";
DeclFlags[DeclFlags["Exported"] = 1] = "Exported";
@@ -374,8 +375,8 @@ var TypeScript;
DeclFlags[DeclFlags["LocalStatic"] = 32] = "LocalStatic";
DeclFlags[DeclFlags["GetAccessor"] = 64] = "GetAccessor";
DeclFlags[DeclFlags["SetAccessor"] = 128] = "SetAccessor";
})(TypeScript.DeclFlags || (TypeScript.DeclFlags = {}));
var DeclFlags = TypeScript.DeclFlags;
})(DeclFlags = TypeScript.DeclFlags || (TypeScript.DeclFlags = {}));
var ModuleFlags;
(function (ModuleFlags) {
ModuleFlags[ModuleFlags["None"] = 0] = "None";
ModuleFlags[ModuleFlags["Exported"] = 1] = "Exported";
@@ -391,8 +392,8 @@ var TypeScript;
ModuleFlags[ModuleFlags["IsWholeFile"] = 1024] = "IsWholeFile";
ModuleFlags[ModuleFlags["IsDynamic"] = 2048] = "IsDynamic";
ModuleFlags[ModuleFlags["MustCaptureThis"] = 4096] = "MustCaptureThis";
})(TypeScript.ModuleFlags || (TypeScript.ModuleFlags = {}));
var ModuleFlags = TypeScript.ModuleFlags;
})(ModuleFlags = TypeScript.ModuleFlags || (TypeScript.ModuleFlags = {}));
var SymbolFlags;
(function (SymbolFlags) {
SymbolFlags[SymbolFlags["None"] = 0] = "None";
SymbolFlags[SymbolFlags["Exported"] = 1] = "Exported";
@@ -415,8 +416,8 @@ var TypeScript;
SymbolFlags[SymbolFlags["RecursivelyReferenced"] = 131072] = "RecursivelyReferenced";
SymbolFlags[SymbolFlags["Bound"] = 262144] = "Bound";
SymbolFlags[SymbolFlags["CompilerGenerated"] = 524288] = "CompilerGenerated";
})(TypeScript.SymbolFlags || (TypeScript.SymbolFlags = {}));
var SymbolFlags = TypeScript.SymbolFlags;
})(SymbolFlags = TypeScript.SymbolFlags || (TypeScript.SymbolFlags = {}));
var VarFlags;
(function (VarFlags) {
VarFlags[VarFlags["None"] = 0] = "None";
VarFlags[VarFlags["Exported"] = 1] = "Exported";
@@ -437,8 +438,8 @@ var TypeScript;
VarFlags[VarFlags["ClassSuperMustBeFirstCallInConstructor"] = 32768] = "ClassSuperMustBeFirstCallInConstructor";
VarFlags[VarFlags["Constant"] = 65536] = "Constant";
VarFlags[VarFlags["MustCaptureThis"] = 131072] = "MustCaptureThis";
})(TypeScript.VarFlags || (TypeScript.VarFlags = {}));
var VarFlags = TypeScript.VarFlags;
})(VarFlags = TypeScript.VarFlags || (TypeScript.VarFlags = {}));
var FncFlags;
(function (FncFlags) {
FncFlags[FncFlags["None"] = 0] = "None";
FncFlags[FncFlags["Exported"] = 1] = "Exported";
@@ -461,19 +462,19 @@ var TypeScript;
FncFlags[FncFlags["IsFunctionExpression"] = 131072] = "IsFunctionExpression";
FncFlags[FncFlags["ClassMethod"] = 262144] = "ClassMethod";
FncFlags[FncFlags["ClassPropertyMethodExported"] = 524288] = "ClassPropertyMethodExported";
})(TypeScript.FncFlags || (TypeScript.FncFlags = {}));
var FncFlags = TypeScript.FncFlags;
})(FncFlags = TypeScript.FncFlags || (TypeScript.FncFlags = {}));
var SignatureFlags;
(function (SignatureFlags) {
SignatureFlags[SignatureFlags["None"] = 0] = "None";
SignatureFlags[SignatureFlags["IsIndexer"] = 1] = "IsIndexer";
SignatureFlags[SignatureFlags["IsStringIndexer"] = 2] = "IsStringIndexer";
SignatureFlags[SignatureFlags["IsNumberIndexer"] = 4] = "IsNumberIndexer";
})(TypeScript.SignatureFlags || (TypeScript.SignatureFlags = {}));
var SignatureFlags = TypeScript.SignatureFlags;
})(SignatureFlags = TypeScript.SignatureFlags || (TypeScript.SignatureFlags = {}));
function ToDeclFlags(fncOrVarOrSymbolOrModuleFlags) {
return fncOrVarOrSymbolOrModuleFlags;
}
TypeScript.ToDeclFlags = ToDeclFlags;
var TypeFlags;
(function (TypeFlags) {
TypeFlags[TypeFlags["None"] = 0] = "None";
TypeFlags[TypeFlags["HasImplementation"] = 1] = "HasImplementation";
@@ -484,8 +485,8 @@ var TypeScript;
TypeFlags[TypeFlags["HasBaseType"] = 32] = "HasBaseType";
TypeFlags[TypeFlags["HasBaseTypeOfObject"] = 64] = "HasBaseTypeOfObject";
TypeFlags[TypeFlags["IsClass"] = 128] = "IsClass";
})(TypeScript.TypeFlags || (TypeScript.TypeFlags = {}));
var TypeFlags = TypeScript.TypeFlags;
})(TypeFlags = TypeScript.TypeFlags || (TypeScript.TypeFlags = {}));
var TypeRelationshipFlags;
(function (TypeRelationshipFlags) {
TypeRelationshipFlags[TypeRelationshipFlags["SuccessfulComparison"] = 0] = "SuccessfulComparison";
TypeRelationshipFlags[TypeRelationshipFlags["SourceIsNullTargetIsVoidOrUndefined"] = 1] = "SourceIsNullTargetIsVoidOrUndefined";
@@ -495,19 +496,18 @@ var TypeScript;
TypeRelationshipFlags[TypeRelationshipFlags["IncompatibleReturnTypes"] = 16] = "IncompatibleReturnTypes";
TypeRelationshipFlags[TypeRelationshipFlags["IncompatiblePropertyTypes"] = 32] = "IncompatiblePropertyTypes";
TypeRelationshipFlags[TypeRelationshipFlags["IncompatibleParameterTypes"] = 64] = "IncompatibleParameterTypes";
})(TypeScript.TypeRelationshipFlags || (TypeScript.TypeRelationshipFlags = {}));
var TypeRelationshipFlags = TypeScript.TypeRelationshipFlags;
})(TypeRelationshipFlags = TypeScript.TypeRelationshipFlags || (TypeScript.TypeRelationshipFlags = {}));
var CodeGenTarget;
(function (CodeGenTarget) {
CodeGenTarget[CodeGenTarget["ES3"] = 0] = "ES3";
CodeGenTarget[CodeGenTarget["ES5"] = 1] = "ES5";
})(TypeScript.CodeGenTarget || (TypeScript.CodeGenTarget = {}));
var CodeGenTarget = TypeScript.CodeGenTarget;
})(CodeGenTarget = TypeScript.CodeGenTarget || (TypeScript.CodeGenTarget = {}));
var ModuleGenTarget;
(function (ModuleGenTarget) {
ModuleGenTarget[ModuleGenTarget["Synchronous"] = 0] = "Synchronous";
ModuleGenTarget[ModuleGenTarget["Asynchronous"] = 1] = "Asynchronous";
ModuleGenTarget[ModuleGenTarget["Local"] = 2] = "Local";
})(TypeScript.ModuleGenTarget || (TypeScript.ModuleGenTarget = {}));
var ModuleGenTarget = TypeScript.ModuleGenTarget;
})(ModuleGenTarget = TypeScript.ModuleGenTarget || (TypeScript.ModuleGenTarget = {}));
// Compiler defaults to generating ES5-compliant code for
// - getters and setters
TypeScript.codeGenTarget = CodeGenTarget.ES3;
@@ -126,6 +126,7 @@ module TypeScript {
var TypeScript;
(function (TypeScript) {
// Note: Any addition to the NodeType should also be supported with addition to AstWalkerDetailCallback
var NodeType;
(function (NodeType) {
NodeType[NodeType["None"] = 0] = "None";
NodeType[NodeType["Empty"] = 1] = "Empty";
@@ -236,6 +237,5 @@ var TypeScript;
NodeType[NodeType["Debugger"] = 106] = "Debugger";
NodeType[NodeType["GeneralNode"] = 71] = "GeneralNode";
NodeType[NodeType["LastAsg"] = 41] = "LastAsg";
})(TypeScript.NodeType || (TypeScript.NodeType = {}));
var NodeType = TypeScript.NodeType;
})(NodeType = TypeScript.NodeType || (TypeScript.NodeType = {}));
})(TypeScript || (TypeScript = {}));
@@ -163,11 +163,11 @@ var m_private;
return c_private;
}());
m_private.c_private = c_private;
var e_private;
(function (e_private) {
e_private[e_private["Happy"] = 0] = "Happy";
e_private[e_private["Grumpy"] = 1] = "Grumpy";
})(m_private.e_private || (m_private.e_private = {}));
var e_private = m_private.e_private;
})(e_private = m_private.e_private || (m_private.e_private = {}));
function f_private() {
return new c_private();
}
@@ -192,11 +192,11 @@ var m_public;
return c_public;
}());
m_public.c_public = c_public;
var e_public;
(function (e_public) {
e_public[e_public["Happy"] = 0] = "Happy";
e_public[e_public["Grumpy"] = 1] = "Grumpy";
})(m_public.e_public || (m_public.e_public = {}));
var e_public = m_public.e_public;
})(e_public = m_public.e_public || (m_public.e_public = {}));
function f_public() {
return new c_public();
}
@@ -164,11 +164,11 @@ define(["require", "exports"], function (require, exports) {
return c_private;
}());
m_private.c_private = c_private;
var e_private;
(function (e_private) {
e_private[e_private["Happy"] = 0] = "Happy";
e_private[e_private["Grumpy"] = 1] = "Grumpy";
})(m_private.e_private || (m_private.e_private = {}));
var e_private = m_private.e_private;
})(e_private = m_private.e_private || (m_private.e_private = {}));
function f_private() {
return new c_private();
}
@@ -193,11 +193,11 @@ define(["require", "exports"], function (require, exports) {
return c_public;
}());
m_public.c_public = c_public;
var e_public;
(function (e_public) {
e_public[e_public["Happy"] = 0] = "Happy";
e_public[e_public["Grumpy"] = 1] = "Grumpy";
})(m_public.e_public || (m_public.e_public = {}));
var e_public = m_public.e_public;
})(e_public = m_public.e_public || (m_public.e_public = {}));
function f_public() {
return new c_public();
}
@@ -111,11 +111,11 @@ define(["require", "exports"], function (require, exports) {
return c_private;
}());
m_private.c_private = c_private;
var e_private;
(function (e_private) {
e_private[e_private["Happy"] = 0] = "Happy";
e_private[e_private["Grumpy"] = 1] = "Grumpy";
})(m_private.e_private || (m_private.e_private = {}));
var e_private = m_private.e_private;
})(e_private = m_private.e_private || (m_private.e_private = {}));
function f_private() {
return new c_private();
}
@@ -140,11 +140,11 @@ define(["require", "exports"], function (require, exports) {
return c_public;
}());
m_public.c_public = c_public;
var e_public;
(function (e_public) {
e_public[e_public["Happy"] = 0] = "Happy";
e_public[e_public["Grumpy"] = 1] = "Grumpy";
})(m_public.e_public || (m_public.e_public = {}));
var e_public = m_public.e_public;
})(e_public = m_public.e_public || (m_public.e_public = {}));
function f_public() {
return new c_public();
}
@@ -112,11 +112,11 @@ define(["require", "exports"], function (require, exports) {
return c_private;
}());
m_private.c_private = c_private;
var e_private;
(function (e_private) {
e_private[e_private["Happy"] = 0] = "Happy";
e_private[e_private["Grumpy"] = 1] = "Grumpy";
})(m_private.e_private || (m_private.e_private = {}));
var e_private = m_private.e_private;
})(e_private = m_private.e_private || (m_private.e_private = {}));
function f_private() {
return new c_private();
}
@@ -141,11 +141,11 @@ define(["require", "exports"], function (require, exports) {
return c_public;
}());
m_public.c_public = c_public;
var e_public;
(function (e_public) {
e_public[e_public["Happy"] = 0] = "Happy";
e_public[e_public["Grumpy"] = 1] = "Grumpy";
})(m_public.e_public || (m_public.e_public = {}));
var e_public = m_public.e_public;
})(e_public = m_public.e_public || (m_public.e_public = {}));
function f_public() {
return new c_public();
}
+2 -2
View File
@@ -6,8 +6,8 @@
//// [scannerEnum1.js]
"use strict";
var CodeGenTarget;
(function (CodeGenTarget) {
CodeGenTarget[CodeGenTarget["ES3"] = 0] = "ES3";
CodeGenTarget[CodeGenTarget["ES5"] = 1] = "ES5";
})(exports.CodeGenTarget || (exports.CodeGenTarget = {}));
var CodeGenTarget = exports.CodeGenTarget;
})(CodeGenTarget = exports.CodeGenTarget || (exports.CodeGenTarget = {}));
@@ -29,10 +29,10 @@ System.register([], function (exports_1, context_1) {
TopLevelConstEnum[TopLevelConstEnum["X"] = 0] = "X";
})(TopLevelConstEnum || (TopLevelConstEnum = {}));
(function (M) {
var NonTopLevelConstEnum;
(function (NonTopLevelConstEnum) {
NonTopLevelConstEnum[NonTopLevelConstEnum["X"] = 0] = "X";
})(M.NonTopLevelConstEnum || (M.NonTopLevelConstEnum = {}));
var NonTopLevelConstEnum = M.NonTopLevelConstEnum;
})(NonTopLevelConstEnum = M.NonTopLevelConstEnum || (M.NonTopLevelConstEnum = {}));
})(M || (M = {}));
}
};
@@ -34,7 +34,7 @@ System.register([], function (exports_1, context_1) {
})(C = C || (C = {}));
exports_1("C", C);
(function (E) {
})(E || (E = {}));
})(E = E || (E = {}));
exports_1("E", E);
(function (E) {
var x;
@@ -34,7 +34,7 @@ System.register([], function (exports_1, context_1) {
exports_1("TopLevelModule", TopLevelModule);
(function (TopLevelEnum) {
TopLevelEnum[TopLevelEnum["E"] = 0] = "E";
})(TopLevelEnum || (TopLevelEnum = {}));
})(TopLevelEnum = TopLevelEnum || (TopLevelEnum = {}));
exports_1("TopLevelEnum", TopLevelEnum);
(function (TopLevelModule2) {
var NonTopLevelClass = (function () {
@@ -49,10 +49,10 @@ System.register([], function (exports_1, context_1) {
})(NonTopLevelModule = TopLevelModule2.NonTopLevelModule || (TopLevelModule2.NonTopLevelModule = {}));
function NonTopLevelFunction() { }
TopLevelModule2.NonTopLevelFunction = NonTopLevelFunction;
var NonTopLevelEnum;
(function (NonTopLevelEnum) {
NonTopLevelEnum[NonTopLevelEnum["E"] = 0] = "E";
})(TopLevelModule2.NonTopLevelEnum || (TopLevelModule2.NonTopLevelEnum = {}));
var NonTopLevelEnum = TopLevelModule2.NonTopLevelEnum;
})(NonTopLevelEnum = TopLevelModule2.NonTopLevelEnum || (TopLevelModule2.NonTopLevelEnum = {}));
})(TopLevelModule2 = TopLevelModule2 || (TopLevelModule2 = {}));
exports_1("TopLevelModule2", TopLevelModule2);
}
@@ -74,10 +74,10 @@ var M;
M.C = C;
})(M = exports.M || (exports.M = {}));
exports.Z = M;
var E;
(function (E) {
E[E["A"] = 0] = "A";
})(exports.E || (exports.E = {}));
var E = exports.E;
})(E = exports.E || (exports.E = {}));
function foo() { }
exports.foo = foo;
(function (foo) {