mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
enum cleanup: apply constant folding to all enum initializers, inline accesses only for const enums
This commit is contained in:
+32
-20
@@ -9560,7 +9560,7 @@ module ts {
|
||||
}
|
||||
var initializer = member.initializer;
|
||||
if (initializer) {
|
||||
autoValue = getConstantValueForEnumMemberInitializer(initializer, enumIsConst);
|
||||
autoValue = getConstantValueForEnumMemberInitializer(initializer);
|
||||
if (autoValue === undefined) {
|
||||
if (enumIsConst) {
|
||||
error(initializer, Diagnostics.In_const_enum_declarations_member_initializer_must_be_constant_expression);
|
||||
@@ -9570,7 +9570,7 @@ module ts {
|
||||
// If it is a constant value (not undefined), it is syntactically constrained to be a number.
|
||||
// Also, we do not need to check this for ambients because there is already
|
||||
// a syntax error if it is not a constant.
|
||||
checkTypeAssignableTo(checkExpression(initializer), enumType, initializer, /*headMessage*/ undefined);
|
||||
checkTypeAssignableTo(checkExpression(initializer), enumType, initializer, /*headMessage*/ undefined);
|
||||
}
|
||||
}
|
||||
else if (enumIsConst) {
|
||||
@@ -9595,7 +9595,7 @@ module ts {
|
||||
nodeLinks.flags |= NodeCheckFlags.EnumValuesComputed;
|
||||
}
|
||||
|
||||
function getConstantValueForEnumMemberInitializer(initializer: Expression, enumIsConst: boolean): number {
|
||||
function getConstantValueForEnumMemberInitializer(initializer: Expression): number {
|
||||
return evalConstant(initializer);
|
||||
|
||||
function evalConstant(e: Node): number {
|
||||
@@ -9608,14 +9608,10 @@ module ts {
|
||||
switch ((<PrefixUnaryExpression>e).operator) {
|
||||
case SyntaxKind.PlusToken: return value;
|
||||
case SyntaxKind.MinusToken: return -value;
|
||||
case SyntaxKind.TildeToken: return enumIsConst ? ~value : undefined;
|
||||
case SyntaxKind.TildeToken: return ~value;
|
||||
}
|
||||
return undefined;
|
||||
case SyntaxKind.BinaryExpression:
|
||||
if (!enumIsConst) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
var left = evalConstant((<BinaryExpression>e).left);
|
||||
if (left === undefined) {
|
||||
return undefined;
|
||||
@@ -9641,14 +9637,10 @@ module ts {
|
||||
case SyntaxKind.NumericLiteral:
|
||||
return +(<LiteralExpression>e).text;
|
||||
case SyntaxKind.ParenthesizedExpression:
|
||||
return enumIsConst ? evalConstant((<ParenthesizedExpression>e).expression) : undefined;
|
||||
return evalConstant((<ParenthesizedExpression>e).expression);
|
||||
case SyntaxKind.Identifier:
|
||||
case SyntaxKind.ElementAccessExpression:
|
||||
case SyntaxKind.PropertyAccessExpression:
|
||||
if (!enumIsConst) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
var member = initializer.parent;
|
||||
var currentType = getTypeOfSymbol(getSymbolOfNode(member.parent));
|
||||
var enumType: Type;
|
||||
@@ -9661,19 +9653,37 @@ module ts {
|
||||
propertyName = (<Identifier>e).text;
|
||||
}
|
||||
else {
|
||||
var expression: Expression;
|
||||
if (e.kind === SyntaxKind.ElementAccessExpression) {
|
||||
if ((<ElementAccessExpression>e).argumentExpression === undefined ||
|
||||
(<ElementAccessExpression>e).argumentExpression.kind !== SyntaxKind.StringLiteral) {
|
||||
return undefined;
|
||||
}
|
||||
var enumType = getTypeOfNode((<ElementAccessExpression>e).expression);
|
||||
expression = (<ElementAccessExpression>e).expression;
|
||||
propertyName = (<LiteralExpression>(<ElementAccessExpression>e).argumentExpression).text;
|
||||
}
|
||||
else {
|
||||
var enumType = getTypeOfNode((<PropertyAccessExpression>e).expression);
|
||||
expression = (<PropertyAccessExpression>e).expression;
|
||||
propertyName = (<PropertyAccessExpression>e).name.text;
|
||||
}
|
||||
if (enumType !== currentType) {
|
||||
|
||||
// expression part in ElementAccess\PropertyAccess should be either identifier or dottedName
|
||||
var current = expression;
|
||||
while (current) {
|
||||
if (current.kind === SyntaxKind.Identifier) {
|
||||
break;
|
||||
}
|
||||
else if (current.kind === SyntaxKind.PropertyAccessExpression) {
|
||||
current = (<ElementAccessExpression>current).expression;
|
||||
}
|
||||
else {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
var enumType = checkExpression(expression);
|
||||
// allow references to constant members of other enums
|
||||
if (!(enumType.symbol && (enumType.symbol.flags & SymbolFlags.Enum))) {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
@@ -9681,10 +9691,12 @@ module ts {
|
||||
if (propertyName === undefined) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
var property = getPropertyOfObjectType(enumType, propertyName);
|
||||
if (!property || !(property.flags & SymbolFlags.EnumMember)) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
var propertyDecl = property.valueDeclaration;
|
||||
// self references are illegal
|
||||
if (member === propertyDecl) {
|
||||
@@ -9695,6 +9707,7 @@ module ts {
|
||||
if (!isDefinedBefore(propertyDecl, member)) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return <number>getNodeLinks(propertyDecl).enumMemberValue;
|
||||
}
|
||||
}
|
||||
@@ -10866,10 +10879,9 @@ module ts {
|
||||
|
||||
var symbol = getNodeLinks(node).resolvedSymbol;
|
||||
if (symbol && (symbol.flags & SymbolFlags.EnumMember)) {
|
||||
var declaration = symbol.valueDeclaration;
|
||||
var constantValue: number;
|
||||
if (declaration.kind === SyntaxKind.EnumMember) {
|
||||
return getEnumMemberValue(<EnumMember>declaration);
|
||||
// inline property\index accesses only for const enums
|
||||
if (isConstEnumDeclaration(symbol.valueDeclaration.parent)) {
|
||||
return getEnumMemberValue(<EnumMember>symbol.valueDeclaration);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4612,15 +4612,12 @@ module ts {
|
||||
}
|
||||
|
||||
function writeEnumMemberDeclarationValue(member: EnumMember) {
|
||||
if (!member.initializer || isConst(member.parent)) {
|
||||
var value = resolver.getConstantValue(member);
|
||||
if (value !== undefined) {
|
||||
write(value.toString());
|
||||
return;
|
||||
}
|
||||
var value = resolver.getConstantValue(member);
|
||||
if (value !== undefined) {
|
||||
write(value.toString());
|
||||
return;
|
||||
}
|
||||
|
||||
if (member.initializer) {
|
||||
else if (member.initializer) {
|
||||
emit(member.initializer);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -34,6 +34,6 @@ var enumdule;
|
||||
enumdule.Point = Point;
|
||||
})(enumdule || (enumdule = {}));
|
||||
var x;
|
||||
var x = 0 /* Red */;
|
||||
var x = enumdule.Red;
|
||||
var y;
|
||||
var y = new enumdule.Point(0, 0);
|
||||
|
||||
@@ -34,6 +34,6 @@ var enumdule;
|
||||
enumdule[enumdule["Blue"] = 1] = "Blue";
|
||||
})(enumdule || (enumdule = {}));
|
||||
var x;
|
||||
var x = 0 /* Red */;
|
||||
var x = enumdule.Red;
|
||||
var y;
|
||||
var y = new enumdule.Point(0, 0);
|
||||
|
||||
@@ -26,6 +26,6 @@ var A;
|
||||
})(Day || (Day = {}));
|
||||
})(A || (A = {}));
|
||||
// not an error since exported
|
||||
var a = 0 /* Red */;
|
||||
var a = A.Color.Red;
|
||||
// error not exported
|
||||
var b = A.Day.Monday;
|
||||
|
||||
@@ -79,7 +79,7 @@ var r11 = a + foo();
|
||||
var r12 = a + C;
|
||||
var r13 = a + new C();
|
||||
var r14 = a + E;
|
||||
var r15 = a + 0 /* a */;
|
||||
var r15 = a + E.a;
|
||||
var r16 = a + M;
|
||||
var r17 = a + '';
|
||||
var r18 = a + 123;
|
||||
|
||||
@@ -83,6 +83,6 @@ var r14 = b + d;
|
||||
var r15 = b + foo;
|
||||
var r16 = b + foo();
|
||||
var r17 = b + C;
|
||||
var r18 = 0 /* a */ + new C();
|
||||
var r19 = 0 /* a */ + C.foo();
|
||||
var r20 = 0 /* a */ + M;
|
||||
var r18 = E.a + new C();
|
||||
var r19 = E.a + C.foo();
|
||||
var r20 = E.a + M;
|
||||
|
||||
@@ -49,13 +49,13 @@ var r2 = a + null;
|
||||
var r3 = null + b;
|
||||
var r4 = null + 1;
|
||||
var r5 = null + c;
|
||||
var r6 = null + 0 /* a */;
|
||||
var r7 = null + 0 /* 'a' */;
|
||||
var r6 = null + E.a;
|
||||
var r7 = null + E['a'];
|
||||
var r8 = b + null;
|
||||
var r9 = 1 + null;
|
||||
var r10 = c + null;
|
||||
var r11 = 0 /* a */ + null;
|
||||
var r12 = 0 /* 'a' */ + null;
|
||||
var r11 = E.a + null;
|
||||
var r12 = E['a'] + null;
|
||||
// null + string
|
||||
var r13 = null + d;
|
||||
var r14 = null + '';
|
||||
|
||||
@@ -43,10 +43,10 @@ var r2 = a + b;
|
||||
var r3 = b + a;
|
||||
var r4 = b + b;
|
||||
var r5 = 0 + a;
|
||||
var r6 = 0 /* a */ + 0;
|
||||
var r7 = 0 /* a */ + 1 /* b */;
|
||||
var r8 = 0 /* 'a' */ + 1 /* 'b' */;
|
||||
var r9 = 0 /* 'a' */ + 0 /* 'c' */;
|
||||
var r6 = E.a + 0;
|
||||
var r7 = E.a + E.b;
|
||||
var r8 = E['a'] + E['b'];
|
||||
var r9 = E['a'] + F['c'];
|
||||
var r10 = a + c;
|
||||
var r11 = c + a;
|
||||
var r12 = b + c;
|
||||
|
||||
@@ -72,7 +72,7 @@ var r13 = f + x;
|
||||
var r14 = g + x;
|
||||
// other cases
|
||||
var r15 = x + E;
|
||||
var r16 = x + 0 /* a */;
|
||||
var r16 = x + E.a;
|
||||
var r17 = x + '';
|
||||
var r18 = x + 0;
|
||||
var r19 = x + { a: '' };
|
||||
|
||||
@@ -49,13 +49,13 @@ var r2 = a + undefined;
|
||||
var r3 = undefined + b;
|
||||
var r4 = undefined + 1;
|
||||
var r5 = undefined + c;
|
||||
var r6 = undefined + 0 /* a */;
|
||||
var r7 = undefined + 0 /* 'a' */;
|
||||
var r6 = undefined + E.a;
|
||||
var r7 = undefined + E['a'];
|
||||
var r8 = b + undefined;
|
||||
var r9 = 1 + undefined;
|
||||
var r10 = c + undefined;
|
||||
var r11 = 0 /* a */ + undefined;
|
||||
var r12 = 0 /* 'a' */ + undefined;
|
||||
var r11 = E.a + undefined;
|
||||
var r12 = E['a'] + undefined;
|
||||
// undefined + string
|
||||
var r13 = undefined + d;
|
||||
var r14 = undefined + '';
|
||||
|
||||
@@ -23,6 +23,6 @@ define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
//// [foo_1.js]
|
||||
define(["require", "exports", "./foo_0"], function (require, exports, foo) {
|
||||
if (0 /* A */ === 0) {
|
||||
if (foo.E1.A === 0) {
|
||||
}
|
||||
});
|
||||
|
||||
@@ -166,127 +166,127 @@ var ra2 = c * b;
|
||||
var ra3 = c * c;
|
||||
var ra4 = a * c;
|
||||
var ra5 = b * c;
|
||||
var ra6 = 0 /* a */ * a;
|
||||
var ra7 = 0 /* a */ * b;
|
||||
var ra8 = 0 /* a */ * 1 /* b */;
|
||||
var ra9 = 0 /* a */ * 1;
|
||||
var ra10 = a * 1 /* b */;
|
||||
var ra11 = b * 1 /* b */;
|
||||
var ra12 = 1 * 1 /* b */;
|
||||
var ra6 = E.a * a;
|
||||
var ra7 = E.a * b;
|
||||
var ra8 = E.a * E.b;
|
||||
var ra9 = E.a * 1;
|
||||
var ra10 = a * E.b;
|
||||
var ra11 = b * E.b;
|
||||
var ra12 = 1 * E.b;
|
||||
// operator /
|
||||
var rb1 = c / a;
|
||||
var rb2 = c / b;
|
||||
var rb3 = c / c;
|
||||
var rb4 = a / c;
|
||||
var rb5 = b / c;
|
||||
var rb6 = 0 /* a */ / a;
|
||||
var rb7 = 0 /* a */ / b;
|
||||
var rb8 = 0 /* a */ / 1 /* b */;
|
||||
var rb9 = 0 /* a */ / 1;
|
||||
var rb10 = a / 1 /* b */;
|
||||
var rb11 = b / 1 /* b */;
|
||||
var rb12 = 1 / 1 /* b */;
|
||||
var rb6 = E.a / a;
|
||||
var rb7 = E.a / b;
|
||||
var rb8 = E.a / E.b;
|
||||
var rb9 = E.a / 1;
|
||||
var rb10 = a / E.b;
|
||||
var rb11 = b / E.b;
|
||||
var rb12 = 1 / E.b;
|
||||
// operator %
|
||||
var rc1 = c % a;
|
||||
var rc2 = c % b;
|
||||
var rc3 = c % c;
|
||||
var rc4 = a % c;
|
||||
var rc5 = b % c;
|
||||
var rc6 = 0 /* a */ % a;
|
||||
var rc7 = 0 /* a */ % b;
|
||||
var rc8 = 0 /* a */ % 1 /* b */;
|
||||
var rc9 = 0 /* a */ % 1;
|
||||
var rc10 = a % 1 /* b */;
|
||||
var rc11 = b % 1 /* b */;
|
||||
var rc12 = 1 % 1 /* b */;
|
||||
var rc6 = E.a % a;
|
||||
var rc7 = E.a % b;
|
||||
var rc8 = E.a % E.b;
|
||||
var rc9 = E.a % 1;
|
||||
var rc10 = a % E.b;
|
||||
var rc11 = b % E.b;
|
||||
var rc12 = 1 % E.b;
|
||||
// operator -
|
||||
var rd1 = c - a;
|
||||
var rd2 = c - b;
|
||||
var rd3 = c - c;
|
||||
var rd4 = a - c;
|
||||
var rd5 = b - c;
|
||||
var rd6 = 0 /* a */ - a;
|
||||
var rd7 = 0 /* a */ - b;
|
||||
var rd8 = 0 /* a */ - 1 /* b */;
|
||||
var rd9 = 0 /* a */ - 1;
|
||||
var rd10 = a - 1 /* b */;
|
||||
var rd11 = b - 1 /* b */;
|
||||
var rd12 = 1 - 1 /* b */;
|
||||
var rd6 = E.a - a;
|
||||
var rd7 = E.a - b;
|
||||
var rd8 = E.a - E.b;
|
||||
var rd9 = E.a - 1;
|
||||
var rd10 = a - E.b;
|
||||
var rd11 = b - E.b;
|
||||
var rd12 = 1 - E.b;
|
||||
// operator <<
|
||||
var re1 = c << a;
|
||||
var re2 = c << b;
|
||||
var re3 = c << c;
|
||||
var re4 = a << c;
|
||||
var re5 = b << c;
|
||||
var re6 = 0 /* a */ << a;
|
||||
var re7 = 0 /* a */ << b;
|
||||
var re8 = 0 /* a */ << 1 /* b */;
|
||||
var re9 = 0 /* a */ << 1;
|
||||
var re10 = a << 1 /* b */;
|
||||
var re11 = b << 1 /* b */;
|
||||
var re12 = 1 << 1 /* b */;
|
||||
var re6 = E.a << a;
|
||||
var re7 = E.a << b;
|
||||
var re8 = E.a << E.b;
|
||||
var re9 = E.a << 1;
|
||||
var re10 = a << E.b;
|
||||
var re11 = b << E.b;
|
||||
var re12 = 1 << E.b;
|
||||
// operator >>
|
||||
var rf1 = c >> a;
|
||||
var rf2 = c >> b;
|
||||
var rf3 = c >> c;
|
||||
var rf4 = a >> c;
|
||||
var rf5 = b >> c;
|
||||
var rf6 = 0 /* a */ >> a;
|
||||
var rf7 = 0 /* a */ >> b;
|
||||
var rf8 = 0 /* a */ >> 1 /* b */;
|
||||
var rf9 = 0 /* a */ >> 1;
|
||||
var rf10 = a >> 1 /* b */;
|
||||
var rf11 = b >> 1 /* b */;
|
||||
var rf12 = 1 >> 1 /* b */;
|
||||
var rf6 = E.a >> a;
|
||||
var rf7 = E.a >> b;
|
||||
var rf8 = E.a >> E.b;
|
||||
var rf9 = E.a >> 1;
|
||||
var rf10 = a >> E.b;
|
||||
var rf11 = b >> E.b;
|
||||
var rf12 = 1 >> E.b;
|
||||
// operator >>>
|
||||
var rg1 = c >>> a;
|
||||
var rg2 = c >>> b;
|
||||
var rg3 = c >>> c;
|
||||
var rg4 = a >>> c;
|
||||
var rg5 = b >>> c;
|
||||
var rg6 = 0 /* a */ >>> a;
|
||||
var rg7 = 0 /* a */ >>> b;
|
||||
var rg8 = 0 /* a */ >>> 1 /* b */;
|
||||
var rg9 = 0 /* a */ >>> 1;
|
||||
var rg10 = a >>> 1 /* b */;
|
||||
var rg11 = b >>> 1 /* b */;
|
||||
var rg12 = 1 >>> 1 /* b */;
|
||||
var rg6 = E.a >>> a;
|
||||
var rg7 = E.a >>> b;
|
||||
var rg8 = E.a >>> E.b;
|
||||
var rg9 = E.a >>> 1;
|
||||
var rg10 = a >>> E.b;
|
||||
var rg11 = b >>> E.b;
|
||||
var rg12 = 1 >>> E.b;
|
||||
// operator &
|
||||
var rh1 = c & a;
|
||||
var rh2 = c & b;
|
||||
var rh3 = c & c;
|
||||
var rh4 = a & c;
|
||||
var rh5 = b & c;
|
||||
var rh6 = 0 /* a */ & a;
|
||||
var rh7 = 0 /* a */ & b;
|
||||
var rh8 = 0 /* a */ & 1 /* b */;
|
||||
var rh9 = 0 /* a */ & 1;
|
||||
var rh10 = a & 1 /* b */;
|
||||
var rh11 = b & 1 /* b */;
|
||||
var rh12 = 1 & 1 /* b */;
|
||||
var rh6 = E.a & a;
|
||||
var rh7 = E.a & b;
|
||||
var rh8 = E.a & E.b;
|
||||
var rh9 = E.a & 1;
|
||||
var rh10 = a & E.b;
|
||||
var rh11 = b & E.b;
|
||||
var rh12 = 1 & E.b;
|
||||
// operator ^
|
||||
var ri1 = c ^ a;
|
||||
var ri2 = c ^ b;
|
||||
var ri3 = c ^ c;
|
||||
var ri4 = a ^ c;
|
||||
var ri5 = b ^ c;
|
||||
var ri6 = 0 /* a */ ^ a;
|
||||
var ri7 = 0 /* a */ ^ b;
|
||||
var ri8 = 0 /* a */ ^ 1 /* b */;
|
||||
var ri9 = 0 /* a */ ^ 1;
|
||||
var ri10 = a ^ 1 /* b */;
|
||||
var ri11 = b ^ 1 /* b */;
|
||||
var ri12 = 1 ^ 1 /* b */;
|
||||
var ri6 = E.a ^ a;
|
||||
var ri7 = E.a ^ b;
|
||||
var ri8 = E.a ^ E.b;
|
||||
var ri9 = E.a ^ 1;
|
||||
var ri10 = a ^ E.b;
|
||||
var ri11 = b ^ E.b;
|
||||
var ri12 = 1 ^ E.b;
|
||||
// operator |
|
||||
var rj1 = c | a;
|
||||
var rj2 = c | b;
|
||||
var rj3 = c | c;
|
||||
var rj4 = a | c;
|
||||
var rj5 = b | c;
|
||||
var rj6 = 0 /* a */ | a;
|
||||
var rj7 = 0 /* a */ | b;
|
||||
var rj8 = 0 /* a */ | 1 /* b */;
|
||||
var rj9 = 0 /* a */ | 1;
|
||||
var rj10 = a | 1 /* b */;
|
||||
var rj11 = b | 1 /* b */;
|
||||
var rj12 = 1 | 1 /* b */;
|
||||
var rj6 = E.a | a;
|
||||
var rj7 = E.a | b;
|
||||
var rj8 = E.a | E.b;
|
||||
var rj9 = E.a | 1;
|
||||
var rj10 = a | E.b;
|
||||
var rj11 = b | E.b;
|
||||
var rj12 = 1 | E.b;
|
||||
|
||||
@@ -175,127 +175,127 @@ var ra2 = c * b;
|
||||
var ra3 = c * c;
|
||||
var ra4 = a * c;
|
||||
var ra5 = b * c;
|
||||
var ra6 = 0 /* a */ * a;
|
||||
var ra7 = 0 /* a */ * b;
|
||||
var ra8 = 0 /* a */ * 1 /* b */;
|
||||
var ra9 = 0 /* a */ * 1;
|
||||
var ra10 = a * 1 /* b */;
|
||||
var ra11 = b * 1 /* b */;
|
||||
var ra12 = 1 * 1 /* b */;
|
||||
var ra6 = E.a * a;
|
||||
var ra7 = E.a * b;
|
||||
var ra8 = E.a * E.b;
|
||||
var ra9 = E.a * 1;
|
||||
var ra10 = a * E.b;
|
||||
var ra11 = b * E.b;
|
||||
var ra12 = 1 * E.b;
|
||||
// operator /
|
||||
var rb1 = c / a;
|
||||
var rb2 = c / b;
|
||||
var rb3 = c / c;
|
||||
var rb4 = a / c;
|
||||
var rb5 = b / c;
|
||||
var rb6 = 0 /* a */ / a;
|
||||
var rb7 = 0 /* a */ / b;
|
||||
var rb8 = 0 /* a */ / 1 /* b */;
|
||||
var rb9 = 0 /* a */ / 1;
|
||||
var rb10 = a / 1 /* b */;
|
||||
var rb11 = b / 1 /* b */;
|
||||
var rb12 = 1 / 1 /* b */;
|
||||
var rb6 = E.a / a;
|
||||
var rb7 = E.a / b;
|
||||
var rb8 = E.a / E.b;
|
||||
var rb9 = E.a / 1;
|
||||
var rb10 = a / E.b;
|
||||
var rb11 = b / E.b;
|
||||
var rb12 = 1 / E.b;
|
||||
// operator %
|
||||
var rc1 = c % a;
|
||||
var rc2 = c % b;
|
||||
var rc3 = c % c;
|
||||
var rc4 = a % c;
|
||||
var rc5 = b % c;
|
||||
var rc6 = 0 /* a */ % a;
|
||||
var rc7 = 0 /* a */ % b;
|
||||
var rc8 = 0 /* a */ % 1 /* b */;
|
||||
var rc9 = 0 /* a */ % 1;
|
||||
var rc10 = a % 1 /* b */;
|
||||
var rc11 = b % 1 /* b */;
|
||||
var rc12 = 1 % 1 /* b */;
|
||||
var rc6 = E.a % a;
|
||||
var rc7 = E.a % b;
|
||||
var rc8 = E.a % E.b;
|
||||
var rc9 = E.a % 1;
|
||||
var rc10 = a % E.b;
|
||||
var rc11 = b % E.b;
|
||||
var rc12 = 1 % E.b;
|
||||
// operator -
|
||||
var rd1 = c - a;
|
||||
var rd2 = c - b;
|
||||
var rd3 = c - c;
|
||||
var rd4 = a - c;
|
||||
var rd5 = b - c;
|
||||
var rd6 = 0 /* a */ - a;
|
||||
var rd7 = 0 /* a */ - b;
|
||||
var rd8 = 0 /* a */ - 1 /* b */;
|
||||
var rd9 = 0 /* a */ - 1;
|
||||
var rd10 = a - 1 /* b */;
|
||||
var rd11 = b - 1 /* b */;
|
||||
var rd12 = 1 - 1 /* b */;
|
||||
var rd6 = E.a - a;
|
||||
var rd7 = E.a - b;
|
||||
var rd8 = E.a - E.b;
|
||||
var rd9 = E.a - 1;
|
||||
var rd10 = a - E.b;
|
||||
var rd11 = b - E.b;
|
||||
var rd12 = 1 - E.b;
|
||||
// operator <<
|
||||
var re1 = c << a;
|
||||
var re2 = c << b;
|
||||
var re3 = c << c;
|
||||
var re4 = a << c;
|
||||
var re5 = b << c;
|
||||
var re6 = 0 /* a */ << a;
|
||||
var re7 = 0 /* a */ << b;
|
||||
var re8 = 0 /* a */ << 1 /* b */;
|
||||
var re9 = 0 /* a */ << 1;
|
||||
var re10 = a << 1 /* b */;
|
||||
var re11 = b << 1 /* b */;
|
||||
var re12 = 1 << 1 /* b */;
|
||||
var re6 = E.a << a;
|
||||
var re7 = E.a << b;
|
||||
var re8 = E.a << E.b;
|
||||
var re9 = E.a << 1;
|
||||
var re10 = a << E.b;
|
||||
var re11 = b << E.b;
|
||||
var re12 = 1 << E.b;
|
||||
// operator >>
|
||||
var rf1 = c >> a;
|
||||
var rf2 = c >> b;
|
||||
var rf3 = c >> c;
|
||||
var rf4 = a >> c;
|
||||
var rf5 = b >> c;
|
||||
var rf6 = 0 /* a */ >> a;
|
||||
var rf7 = 0 /* a */ >> b;
|
||||
var rf8 = 0 /* a */ >> 1 /* b */;
|
||||
var rf9 = 0 /* a */ >> 1;
|
||||
var rf10 = a >> 1 /* b */;
|
||||
var rf11 = b >> 1 /* b */;
|
||||
var rf12 = 1 >> 1 /* b */;
|
||||
var rf6 = E.a >> a;
|
||||
var rf7 = E.a >> b;
|
||||
var rf8 = E.a >> E.b;
|
||||
var rf9 = E.a >> 1;
|
||||
var rf10 = a >> E.b;
|
||||
var rf11 = b >> E.b;
|
||||
var rf12 = 1 >> E.b;
|
||||
// operator >>>
|
||||
var rg1 = c >>> a;
|
||||
var rg2 = c >>> b;
|
||||
var rg3 = c >>> c;
|
||||
var rg4 = a >>> c;
|
||||
var rg5 = b >>> c;
|
||||
var rg6 = 0 /* a */ >>> a;
|
||||
var rg7 = 0 /* a */ >>> b;
|
||||
var rg8 = 0 /* a */ >>> 1 /* b */;
|
||||
var rg9 = 0 /* a */ >>> 1;
|
||||
var rg10 = a >>> 1 /* b */;
|
||||
var rg11 = b >>> 1 /* b */;
|
||||
var rg12 = 1 >>> 1 /* b */;
|
||||
var rg6 = E.a >>> a;
|
||||
var rg7 = E.a >>> b;
|
||||
var rg8 = E.a >>> E.b;
|
||||
var rg9 = E.a >>> 1;
|
||||
var rg10 = a >>> E.b;
|
||||
var rg11 = b >>> E.b;
|
||||
var rg12 = 1 >>> E.b;
|
||||
// operator &
|
||||
var rh1 = c & a;
|
||||
var rh2 = c & b;
|
||||
var rh3 = c & c;
|
||||
var rh4 = a & c;
|
||||
var rh5 = b & c;
|
||||
var rh6 = 0 /* a */ & a;
|
||||
var rh7 = 0 /* a */ & b;
|
||||
var rh8 = 0 /* a */ & 1 /* b */;
|
||||
var rh9 = 0 /* a */ & 1;
|
||||
var rh10 = a & 1 /* b */;
|
||||
var rh11 = b & 1 /* b */;
|
||||
var rh12 = 1 & 1 /* b */;
|
||||
var rh6 = E.a & a;
|
||||
var rh7 = E.a & b;
|
||||
var rh8 = E.a & E.b;
|
||||
var rh9 = E.a & 1;
|
||||
var rh10 = a & E.b;
|
||||
var rh11 = b & E.b;
|
||||
var rh12 = 1 & E.b;
|
||||
// operator ^
|
||||
var ri1 = c ^ a;
|
||||
var ri2 = c ^ b;
|
||||
var ri3 = c ^ c;
|
||||
var ri4 = a ^ c;
|
||||
var ri5 = b ^ c;
|
||||
var ri6 = 0 /* a */ ^ a;
|
||||
var ri7 = 0 /* a */ ^ b;
|
||||
var ri8 = 0 /* a */ ^ 1 /* b */;
|
||||
var ri9 = 0 /* a */ ^ 1;
|
||||
var ri10 = a ^ 1 /* b */;
|
||||
var ri11 = b ^ 1 /* b */;
|
||||
var ri12 = 1 ^ 1 /* b */;
|
||||
var ri6 = E.a ^ a;
|
||||
var ri7 = E.a ^ b;
|
||||
var ri8 = E.a ^ E.b;
|
||||
var ri9 = E.a ^ 1;
|
||||
var ri10 = a ^ E.b;
|
||||
var ri11 = b ^ E.b;
|
||||
var ri12 = 1 ^ E.b;
|
||||
// operator |
|
||||
var rj1 = c | a;
|
||||
var rj2 = c | b;
|
||||
var rj3 = c | c;
|
||||
var rj4 = a | c;
|
||||
var rj5 = b | c;
|
||||
var rj6 = 0 /* a */ | a;
|
||||
var rj7 = 0 /* a */ | b;
|
||||
var rj8 = 0 /* a */ | 1 /* b */;
|
||||
var rj9 = 0 /* a */ | 1;
|
||||
var rj10 = a | 1 /* b */;
|
||||
var rj11 = b | 1 /* b */;
|
||||
var rj12 = 1 | 1 /* b */;
|
||||
var rj6 = E.a | a;
|
||||
var rj7 = E.a | b;
|
||||
var rj8 = E.a | E.b;
|
||||
var rj9 = E.a | 1;
|
||||
var rj10 = a | E.b;
|
||||
var rj11 = b | E.b;
|
||||
var rj12 = 1 | E.b;
|
||||
|
||||
@@ -634,18 +634,18 @@ var r1f3 = f * c;
|
||||
var r1f4 = f * d;
|
||||
var r1f5 = f * e;
|
||||
var r1f6 = f * f;
|
||||
var r1g1 = 0 /* a */ * a; //ok
|
||||
var r1g2 = 0 /* a */ * b;
|
||||
var r1g3 = 0 /* a */ * c; //ok
|
||||
var r1g4 = 0 /* a */ * d;
|
||||
var r1g5 = 0 /* a */ * e;
|
||||
var r1g6 = 0 /* a */ * f;
|
||||
var r1h1 = a * 1 /* b */; //ok
|
||||
var r1h2 = b * 1 /* b */;
|
||||
var r1h3 = c * 1 /* b */; //ok
|
||||
var r1h4 = d * 1 /* b */;
|
||||
var r1h5 = e * 1 /* b */;
|
||||
var r1h6 = f * 1 /* b */;
|
||||
var r1g1 = E.a * a; //ok
|
||||
var r1g2 = E.a * b;
|
||||
var r1g3 = E.a * c; //ok
|
||||
var r1g4 = E.a * d;
|
||||
var r1g5 = E.a * e;
|
||||
var r1g6 = E.a * f;
|
||||
var r1h1 = a * E.b; //ok
|
||||
var r1h2 = b * E.b;
|
||||
var r1h3 = c * E.b; //ok
|
||||
var r1h4 = d * E.b;
|
||||
var r1h5 = e * E.b;
|
||||
var r1h6 = f * E.b;
|
||||
// operator /
|
||||
var r2a1 = a / a; //ok
|
||||
var r2a2 = a / b;
|
||||
@@ -683,18 +683,18 @@ var r2f3 = f / c;
|
||||
var r2f4 = f / d;
|
||||
var r2f5 = f / e;
|
||||
var r2f6 = f / f;
|
||||
var r2g1 = 0 /* a */ / a; //ok
|
||||
var r2g2 = 0 /* a */ / b;
|
||||
var r2g3 = 0 /* a */ / c; //ok
|
||||
var r2g4 = 0 /* a */ / d;
|
||||
var r2g5 = 0 /* a */ / e;
|
||||
var r2g6 = 0 /* a */ / f;
|
||||
var r2h1 = a / 1 /* b */; //ok
|
||||
var r2h2 = b / 1 /* b */;
|
||||
var r2h3 = c / 1 /* b */; //ok
|
||||
var r2h4 = d / 1 /* b */;
|
||||
var r2h5 = e / 1 /* b */;
|
||||
var r2h6 = f / 1 /* b */;
|
||||
var r2g1 = E.a / a; //ok
|
||||
var r2g2 = E.a / b;
|
||||
var r2g3 = E.a / c; //ok
|
||||
var r2g4 = E.a / d;
|
||||
var r2g5 = E.a / e;
|
||||
var r2g6 = E.a / f;
|
||||
var r2h1 = a / E.b; //ok
|
||||
var r2h2 = b / E.b;
|
||||
var r2h3 = c / E.b; //ok
|
||||
var r2h4 = d / E.b;
|
||||
var r2h5 = e / E.b;
|
||||
var r2h6 = f / E.b;
|
||||
// operator %
|
||||
var r3a1 = a % a; //ok
|
||||
var r3a2 = a % b;
|
||||
@@ -732,18 +732,18 @@ var r3f3 = f % c;
|
||||
var r3f4 = f % d;
|
||||
var r3f5 = f % e;
|
||||
var r3f6 = f % f;
|
||||
var r3g1 = 0 /* a */ % a; //ok
|
||||
var r3g2 = 0 /* a */ % b;
|
||||
var r3g3 = 0 /* a */ % c; //ok
|
||||
var r3g4 = 0 /* a */ % d;
|
||||
var r3g5 = 0 /* a */ % e;
|
||||
var r3g6 = 0 /* a */ % f;
|
||||
var r3h1 = a % 1 /* b */; //ok
|
||||
var r3h2 = b % 1 /* b */;
|
||||
var r3h3 = c % 1 /* b */; //ok
|
||||
var r3h4 = d % 1 /* b */;
|
||||
var r3h5 = e % 1 /* b */;
|
||||
var r3h6 = f % 1 /* b */;
|
||||
var r3g1 = E.a % a; //ok
|
||||
var r3g2 = E.a % b;
|
||||
var r3g3 = E.a % c; //ok
|
||||
var r3g4 = E.a % d;
|
||||
var r3g5 = E.a % e;
|
||||
var r3g6 = E.a % f;
|
||||
var r3h1 = a % E.b; //ok
|
||||
var r3h2 = b % E.b;
|
||||
var r3h3 = c % E.b; //ok
|
||||
var r3h4 = d % E.b;
|
||||
var r3h5 = e % E.b;
|
||||
var r3h6 = f % E.b;
|
||||
// operator -
|
||||
var r4a1 = a - a; //ok
|
||||
var r4a2 = a - b;
|
||||
@@ -781,18 +781,18 @@ var r4f3 = f - c;
|
||||
var r4f4 = f - d;
|
||||
var r4f5 = f - e;
|
||||
var r4f6 = f - f;
|
||||
var r4g1 = 0 /* a */ - a; //ok
|
||||
var r4g2 = 0 /* a */ - b;
|
||||
var r4g3 = 0 /* a */ - c; //ok
|
||||
var r4g4 = 0 /* a */ - d;
|
||||
var r4g5 = 0 /* a */ - e;
|
||||
var r4g6 = 0 /* a */ - f;
|
||||
var r4h1 = a - 1 /* b */; //ok
|
||||
var r4h2 = b - 1 /* b */;
|
||||
var r4h3 = c - 1 /* b */; //ok
|
||||
var r4h4 = d - 1 /* b */;
|
||||
var r4h5 = e - 1 /* b */;
|
||||
var r4h6 = f - 1 /* b */;
|
||||
var r4g1 = E.a - a; //ok
|
||||
var r4g2 = E.a - b;
|
||||
var r4g3 = E.a - c; //ok
|
||||
var r4g4 = E.a - d;
|
||||
var r4g5 = E.a - e;
|
||||
var r4g6 = E.a - f;
|
||||
var r4h1 = a - E.b; //ok
|
||||
var r4h2 = b - E.b;
|
||||
var r4h3 = c - E.b; //ok
|
||||
var r4h4 = d - E.b;
|
||||
var r4h5 = e - E.b;
|
||||
var r4h6 = f - E.b;
|
||||
// operator <<
|
||||
var r5a1 = a << a; //ok
|
||||
var r5a2 = a << b;
|
||||
@@ -830,18 +830,18 @@ var r5f3 = f << c;
|
||||
var r5f4 = f << d;
|
||||
var r5f5 = f << e;
|
||||
var r5f6 = f << f;
|
||||
var r5g1 = 0 /* a */ << a; //ok
|
||||
var r5g2 = 0 /* a */ << b;
|
||||
var r5g3 = 0 /* a */ << c; //ok
|
||||
var r5g4 = 0 /* a */ << d;
|
||||
var r5g5 = 0 /* a */ << e;
|
||||
var r5g6 = 0 /* a */ << f;
|
||||
var r5h1 = a << 1 /* b */; //ok
|
||||
var r5h2 = b << 1 /* b */;
|
||||
var r5h3 = c << 1 /* b */; //ok
|
||||
var r5h4 = d << 1 /* b */;
|
||||
var r5h5 = e << 1 /* b */;
|
||||
var r5h6 = f << 1 /* b */;
|
||||
var r5g1 = E.a << a; //ok
|
||||
var r5g2 = E.a << b;
|
||||
var r5g3 = E.a << c; //ok
|
||||
var r5g4 = E.a << d;
|
||||
var r5g5 = E.a << e;
|
||||
var r5g6 = E.a << f;
|
||||
var r5h1 = a << E.b; //ok
|
||||
var r5h2 = b << E.b;
|
||||
var r5h3 = c << E.b; //ok
|
||||
var r5h4 = d << E.b;
|
||||
var r5h5 = e << E.b;
|
||||
var r5h6 = f << E.b;
|
||||
// operator >>
|
||||
var r6a1 = a >> a; //ok
|
||||
var r6a2 = a >> b;
|
||||
@@ -879,18 +879,18 @@ var r6f3 = f >> c;
|
||||
var r6f4 = f >> d;
|
||||
var r6f5 = f >> e;
|
||||
var r6f6 = f >> f;
|
||||
var r6g1 = 0 /* a */ >> a; //ok
|
||||
var r6g2 = 0 /* a */ >> b;
|
||||
var r6g3 = 0 /* a */ >> c; //ok
|
||||
var r6g4 = 0 /* a */ >> d;
|
||||
var r6g5 = 0 /* a */ >> e;
|
||||
var r6g6 = 0 /* a */ >> f;
|
||||
var r6h1 = a >> 1 /* b */; //ok
|
||||
var r6h2 = b >> 1 /* b */;
|
||||
var r6h3 = c >> 1 /* b */; //ok
|
||||
var r6h4 = d >> 1 /* b */;
|
||||
var r6h5 = e >> 1 /* b */;
|
||||
var r6h6 = f >> 1 /* b */;
|
||||
var r6g1 = E.a >> a; //ok
|
||||
var r6g2 = E.a >> b;
|
||||
var r6g3 = E.a >> c; //ok
|
||||
var r6g4 = E.a >> d;
|
||||
var r6g5 = E.a >> e;
|
||||
var r6g6 = E.a >> f;
|
||||
var r6h1 = a >> E.b; //ok
|
||||
var r6h2 = b >> E.b;
|
||||
var r6h3 = c >> E.b; //ok
|
||||
var r6h4 = d >> E.b;
|
||||
var r6h5 = e >> E.b;
|
||||
var r6h6 = f >> E.b;
|
||||
// operator >>>
|
||||
var r7a1 = a >>> a; //ok
|
||||
var r7a2 = a >>> b;
|
||||
@@ -928,18 +928,18 @@ var r7f3 = f >>> c;
|
||||
var r7f4 = f >>> d;
|
||||
var r7f5 = f >>> e;
|
||||
var r7f6 = f >>> f;
|
||||
var r7g1 = 0 /* a */ >>> a; //ok
|
||||
var r7g2 = 0 /* a */ >>> b;
|
||||
var r7g3 = 0 /* a */ >>> c; //ok
|
||||
var r7g4 = 0 /* a */ >>> d;
|
||||
var r7g5 = 0 /* a */ >>> e;
|
||||
var r7g6 = 0 /* a */ >>> f;
|
||||
var r7h1 = a >>> 1 /* b */; //ok
|
||||
var r7h2 = b >>> 1 /* b */;
|
||||
var r7h3 = c >>> 1 /* b */; //ok
|
||||
var r7h4 = d >>> 1 /* b */;
|
||||
var r7h5 = e >>> 1 /* b */;
|
||||
var r7h6 = f >>> 1 /* b */;
|
||||
var r7g1 = E.a >>> a; //ok
|
||||
var r7g2 = E.a >>> b;
|
||||
var r7g3 = E.a >>> c; //ok
|
||||
var r7g4 = E.a >>> d;
|
||||
var r7g5 = E.a >>> e;
|
||||
var r7g6 = E.a >>> f;
|
||||
var r7h1 = a >>> E.b; //ok
|
||||
var r7h2 = b >>> E.b;
|
||||
var r7h3 = c >>> E.b; //ok
|
||||
var r7h4 = d >>> E.b;
|
||||
var r7h5 = e >>> E.b;
|
||||
var r7h6 = f >>> E.b;
|
||||
// operator &
|
||||
var r8a1 = a & a; //ok
|
||||
var r8a2 = a & b;
|
||||
@@ -977,18 +977,18 @@ var r8f3 = f & c;
|
||||
var r8f4 = f & d;
|
||||
var r8f5 = f & e;
|
||||
var r8f6 = f & f;
|
||||
var r8g1 = 0 /* a */ & a; //ok
|
||||
var r8g2 = 0 /* a */ & b;
|
||||
var r8g3 = 0 /* a */ & c; //ok
|
||||
var r8g4 = 0 /* a */ & d;
|
||||
var r8g5 = 0 /* a */ & e;
|
||||
var r8g6 = 0 /* a */ & f;
|
||||
var r8h1 = a & 1 /* b */; //ok
|
||||
var r8h2 = b & 1 /* b */;
|
||||
var r8h3 = c & 1 /* b */; //ok
|
||||
var r8h4 = d & 1 /* b */;
|
||||
var r8h5 = e & 1 /* b */;
|
||||
var r8h6 = f & 1 /* b */;
|
||||
var r8g1 = E.a & a; //ok
|
||||
var r8g2 = E.a & b;
|
||||
var r8g3 = E.a & c; //ok
|
||||
var r8g4 = E.a & d;
|
||||
var r8g5 = E.a & e;
|
||||
var r8g6 = E.a & f;
|
||||
var r8h1 = a & E.b; //ok
|
||||
var r8h2 = b & E.b;
|
||||
var r8h3 = c & E.b; //ok
|
||||
var r8h4 = d & E.b;
|
||||
var r8h5 = e & E.b;
|
||||
var r8h6 = f & E.b;
|
||||
// operator ^
|
||||
var r9a1 = a ^ a; //ok
|
||||
var r9a2 = a ^ b;
|
||||
@@ -1026,18 +1026,18 @@ var r9f3 = f ^ c;
|
||||
var r9f4 = f ^ d;
|
||||
var r9f5 = f ^ e;
|
||||
var r9f6 = f ^ f;
|
||||
var r9g1 = 0 /* a */ ^ a; //ok
|
||||
var r9g2 = 0 /* a */ ^ b;
|
||||
var r9g3 = 0 /* a */ ^ c; //ok
|
||||
var r9g4 = 0 /* a */ ^ d;
|
||||
var r9g5 = 0 /* a */ ^ e;
|
||||
var r9g6 = 0 /* a */ ^ f;
|
||||
var r9h1 = a ^ 1 /* b */; //ok
|
||||
var r9h2 = b ^ 1 /* b */;
|
||||
var r9h3 = c ^ 1 /* b */; //ok
|
||||
var r9h4 = d ^ 1 /* b */;
|
||||
var r9h5 = e ^ 1 /* b */;
|
||||
var r9h6 = f ^ 1 /* b */;
|
||||
var r9g1 = E.a ^ a; //ok
|
||||
var r9g2 = E.a ^ b;
|
||||
var r9g3 = E.a ^ c; //ok
|
||||
var r9g4 = E.a ^ d;
|
||||
var r9g5 = E.a ^ e;
|
||||
var r9g6 = E.a ^ f;
|
||||
var r9h1 = a ^ E.b; //ok
|
||||
var r9h2 = b ^ E.b;
|
||||
var r9h3 = c ^ E.b; //ok
|
||||
var r9h4 = d ^ E.b;
|
||||
var r9h5 = e ^ E.b;
|
||||
var r9h6 = f ^ E.b;
|
||||
// operator |
|
||||
var r10a1 = a | a; //ok
|
||||
var r10a2 = a | b;
|
||||
@@ -1075,15 +1075,15 @@ var r10f3 = f | c;
|
||||
var r10f4 = f | d;
|
||||
var r10f5 = f | e;
|
||||
var r10f6 = f | f;
|
||||
var r10g1 = 0 /* a */ | a; //ok
|
||||
var r10g2 = 0 /* a */ | b;
|
||||
var r10g3 = 0 /* a */ | c; //ok
|
||||
var r10g4 = 0 /* a */ | d;
|
||||
var r10g5 = 0 /* a */ | e;
|
||||
var r10g6 = 0 /* a */ | f;
|
||||
var r10h1 = a | 1 /* b */; //ok
|
||||
var r10h2 = b | 1 /* b */;
|
||||
var r10h3 = c | 1 /* b */; //ok
|
||||
var r10h4 = d | 1 /* b */;
|
||||
var r10h5 = e | 1 /* b */;
|
||||
var r10h6 = f | 1 /* b */;
|
||||
var r10g1 = E.a | a; //ok
|
||||
var r10g2 = E.a | b;
|
||||
var r10g3 = E.a | c; //ok
|
||||
var r10g4 = E.a | d;
|
||||
var r10g5 = E.a | e;
|
||||
var r10g6 = E.a | f;
|
||||
var r10h1 = a | E.b; //ok
|
||||
var r10h2 = b | E.b;
|
||||
var r10h3 = c | E.b; //ok
|
||||
var r10h4 = d | E.b;
|
||||
var r10h5 = e | E.b;
|
||||
var r10h6 = f | E.b;
|
||||
|
||||
@@ -124,89 +124,89 @@ var b;
|
||||
var ra1 = null * a;
|
||||
var ra2 = null * b;
|
||||
var ra3 = null * 1;
|
||||
var ra4 = null * 0 /* a */;
|
||||
var ra4 = null * E.a;
|
||||
var ra5 = a * null;
|
||||
var ra6 = b * null;
|
||||
var ra7 = 0 * null;
|
||||
var ra8 = 1 /* b */ * null;
|
||||
var ra8 = E.b * null;
|
||||
// operator /
|
||||
var rb1 = null / a;
|
||||
var rb2 = null / b;
|
||||
var rb3 = null / 1;
|
||||
var rb4 = null / 0 /* a */;
|
||||
var rb4 = null / E.a;
|
||||
var rb5 = a / null;
|
||||
var rb6 = b / null;
|
||||
var rb7 = 0 / null;
|
||||
var rb8 = 1 /* b */ / null;
|
||||
var rb8 = E.b / null;
|
||||
// operator %
|
||||
var rc1 = null % a;
|
||||
var rc2 = null % b;
|
||||
var rc3 = null % 1;
|
||||
var rc4 = null % 0 /* a */;
|
||||
var rc4 = null % E.a;
|
||||
var rc5 = a % null;
|
||||
var rc6 = b % null;
|
||||
var rc7 = 0 % null;
|
||||
var rc8 = 1 /* b */ % null;
|
||||
var rc8 = E.b % null;
|
||||
// operator -
|
||||
var rd1 = null - a;
|
||||
var rd2 = null - b;
|
||||
var rd3 = null - 1;
|
||||
var rd4 = null - 0 /* a */;
|
||||
var rd4 = null - E.a;
|
||||
var rd5 = a - null;
|
||||
var rd6 = b - null;
|
||||
var rd7 = 0 - null;
|
||||
var rd8 = 1 /* b */ - null;
|
||||
var rd8 = E.b - null;
|
||||
// operator <<
|
||||
var re1 = null << a;
|
||||
var re2 = null << b;
|
||||
var re3 = null << 1;
|
||||
var re4 = null << 0 /* a */;
|
||||
var re4 = null << E.a;
|
||||
var re5 = a << null;
|
||||
var re6 = b << null;
|
||||
var re7 = 0 << null;
|
||||
var re8 = 1 /* b */ << null;
|
||||
var re8 = E.b << null;
|
||||
// operator >>
|
||||
var rf1 = null >> a;
|
||||
var rf2 = null >> b;
|
||||
var rf3 = null >> 1;
|
||||
var rf4 = null >> 0 /* a */;
|
||||
var rf4 = null >> E.a;
|
||||
var rf5 = a >> null;
|
||||
var rf6 = b >> null;
|
||||
var rf7 = 0 >> null;
|
||||
var rf8 = 1 /* b */ >> null;
|
||||
var rf8 = E.b >> null;
|
||||
// operator >>>
|
||||
var rg1 = null >>> a;
|
||||
var rg2 = null >>> b;
|
||||
var rg3 = null >>> 1;
|
||||
var rg4 = null >>> 0 /* a */;
|
||||
var rg4 = null >>> E.a;
|
||||
var rg5 = a >>> null;
|
||||
var rg6 = b >>> null;
|
||||
var rg7 = 0 >>> null;
|
||||
var rg8 = 1 /* b */ >>> null;
|
||||
var rg8 = E.b >>> null;
|
||||
// operator &
|
||||
var rh1 = null & a;
|
||||
var rh2 = null & b;
|
||||
var rh3 = null & 1;
|
||||
var rh4 = null & 0 /* a */;
|
||||
var rh4 = null & E.a;
|
||||
var rh5 = a & null;
|
||||
var rh6 = b & null;
|
||||
var rh7 = 0 & null;
|
||||
var rh8 = 1 /* b */ & null;
|
||||
var rh8 = E.b & null;
|
||||
// operator ^
|
||||
var ri1 = null ^ a;
|
||||
var ri2 = null ^ b;
|
||||
var ri3 = null ^ 1;
|
||||
var ri4 = null ^ 0 /* a */;
|
||||
var ri4 = null ^ E.a;
|
||||
var ri5 = a ^ null;
|
||||
var ri6 = b ^ null;
|
||||
var ri7 = 0 ^ null;
|
||||
var ri8 = 1 /* b */ ^ null;
|
||||
var ri8 = E.b ^ null;
|
||||
// operator |
|
||||
var rj1 = null | a;
|
||||
var rj2 = null | b;
|
||||
var rj3 = null | 1;
|
||||
var rj4 = null | 0 /* a */;
|
||||
var rj4 = null | E.a;
|
||||
var rj5 = a | null;
|
||||
var rj6 = b | null;
|
||||
var rj7 = 0 | null;
|
||||
var rj8 = 1 /* b */ | null;
|
||||
var rj8 = E.b | null;
|
||||
|
||||
@@ -124,89 +124,89 @@ var b;
|
||||
var ra1 = undefined * a;
|
||||
var ra2 = undefined * b;
|
||||
var ra3 = undefined * 1;
|
||||
var ra4 = undefined * 0 /* a */;
|
||||
var ra4 = undefined * E.a;
|
||||
var ra5 = a * undefined;
|
||||
var ra6 = b * undefined;
|
||||
var ra7 = 0 * undefined;
|
||||
var ra8 = 1 /* b */ * undefined;
|
||||
var ra8 = E.b * undefined;
|
||||
// operator /
|
||||
var rb1 = undefined / a;
|
||||
var rb2 = undefined / b;
|
||||
var rb3 = undefined / 1;
|
||||
var rb4 = undefined / 0 /* a */;
|
||||
var rb4 = undefined / E.a;
|
||||
var rb5 = a / undefined;
|
||||
var rb6 = b / undefined;
|
||||
var rb7 = 0 / undefined;
|
||||
var rb8 = 1 /* b */ / undefined;
|
||||
var rb8 = E.b / undefined;
|
||||
// operator %
|
||||
var rc1 = undefined % a;
|
||||
var rc2 = undefined % b;
|
||||
var rc3 = undefined % 1;
|
||||
var rc4 = undefined % 0 /* a */;
|
||||
var rc4 = undefined % E.a;
|
||||
var rc5 = a % undefined;
|
||||
var rc6 = b % undefined;
|
||||
var rc7 = 0 % undefined;
|
||||
var rc8 = 1 /* b */ % undefined;
|
||||
var rc8 = E.b % undefined;
|
||||
// operator -
|
||||
var rd1 = undefined - a;
|
||||
var rd2 = undefined - b;
|
||||
var rd3 = undefined - 1;
|
||||
var rd4 = undefined - 0 /* a */;
|
||||
var rd4 = undefined - E.a;
|
||||
var rd5 = a - undefined;
|
||||
var rd6 = b - undefined;
|
||||
var rd7 = 0 - undefined;
|
||||
var rd8 = 1 /* b */ - undefined;
|
||||
var rd8 = E.b - undefined;
|
||||
// operator <<
|
||||
var re1 = undefined << a;
|
||||
var re2 = undefined << b;
|
||||
var re3 = undefined << 1;
|
||||
var re4 = undefined << 0 /* a */;
|
||||
var re4 = undefined << E.a;
|
||||
var re5 = a << undefined;
|
||||
var re6 = b << undefined;
|
||||
var re7 = 0 << undefined;
|
||||
var re8 = 1 /* b */ << undefined;
|
||||
var re8 = E.b << undefined;
|
||||
// operator >>
|
||||
var rf1 = undefined >> a;
|
||||
var rf2 = undefined >> b;
|
||||
var rf3 = undefined >> 1;
|
||||
var rf4 = undefined >> 0 /* a */;
|
||||
var rf4 = undefined >> E.a;
|
||||
var rf5 = a >> undefined;
|
||||
var rf6 = b >> undefined;
|
||||
var rf7 = 0 >> undefined;
|
||||
var rf8 = 1 /* b */ >> undefined;
|
||||
var rf8 = E.b >> undefined;
|
||||
// operator >>>
|
||||
var rg1 = undefined >>> a;
|
||||
var rg2 = undefined >>> b;
|
||||
var rg3 = undefined >>> 1;
|
||||
var rg4 = undefined >>> 0 /* a */;
|
||||
var rg4 = undefined >>> E.a;
|
||||
var rg5 = a >>> undefined;
|
||||
var rg6 = b >>> undefined;
|
||||
var rg7 = 0 >>> undefined;
|
||||
var rg8 = 1 /* b */ >>> undefined;
|
||||
var rg8 = E.b >>> undefined;
|
||||
// operator &
|
||||
var rh1 = undefined & a;
|
||||
var rh2 = undefined & b;
|
||||
var rh3 = undefined & 1;
|
||||
var rh4 = undefined & 0 /* a */;
|
||||
var rh4 = undefined & E.a;
|
||||
var rh5 = a & undefined;
|
||||
var rh6 = b & undefined;
|
||||
var rh7 = 0 & undefined;
|
||||
var rh8 = 1 /* b */ & undefined;
|
||||
var rh8 = E.b & undefined;
|
||||
// operator ^
|
||||
var ri1 = undefined ^ a;
|
||||
var ri2 = undefined ^ b;
|
||||
var ri3 = undefined ^ 1;
|
||||
var ri4 = undefined ^ 0 /* a */;
|
||||
var ri4 = undefined ^ E.a;
|
||||
var ri5 = a ^ undefined;
|
||||
var ri6 = b ^ undefined;
|
||||
var ri7 = 0 ^ undefined;
|
||||
var ri8 = 1 /* b */ ^ undefined;
|
||||
var ri8 = E.b ^ undefined;
|
||||
// operator |
|
||||
var rj1 = undefined | a;
|
||||
var rj2 = undefined | b;
|
||||
var rj3 = undefined | 1;
|
||||
var rj4 = undefined | 0 /* a */;
|
||||
var rj4 = undefined | E.a;
|
||||
var rj5 = a | undefined;
|
||||
var rj6 = b | undefined;
|
||||
var rj7 = 0 | undefined;
|
||||
var rj8 = 1 /* b */ | undefined;
|
||||
var rj8 = E.b | undefined;
|
||||
|
||||
@@ -61,7 +61,7 @@ var E;
|
||||
E[E["A"] = 0] = "A";
|
||||
})(E || (E = {}));
|
||||
var g = x;
|
||||
var g2 = 0 /* A */;
|
||||
var g2 = E.A;
|
||||
g2 = x;
|
||||
var C = (function () {
|
||||
function C() {
|
||||
|
||||
@@ -77,8 +77,8 @@ var E;
|
||||
(function (E) {
|
||||
E[E["A"] = 0] = "A";
|
||||
})(E || (E = {}));
|
||||
x = 0 /* A */;
|
||||
var f = 0 /* A */;
|
||||
x = E.A;
|
||||
var f = E.A;
|
||||
x = f;
|
||||
var g;
|
||||
x = g;
|
||||
|
||||
@@ -14,6 +14,6 @@ var A;
|
||||
A[A["bar"] = 1] = "bar";
|
||||
})(A || (A = {}));
|
||||
A = undefined; // invalid LHS
|
||||
A = 1 /* bar */; // invalid LHS
|
||||
0 /* foo */ = 1; // invalid LHS
|
||||
0 /* foo */ = 1 /* bar */; // invalid LHS
|
||||
A = A.bar; // invalid LHS
|
||||
A.foo = 1; // invalid LHS
|
||||
A.foo = A.bar; // invalid LHS
|
||||
|
||||
@@ -52,7 +52,7 @@ var E;
|
||||
E[E["A"] = 0] = "A";
|
||||
})(E || (E = {}));
|
||||
E = null; // Error
|
||||
0 /* A */ = null; // OK per spec, Error per implementation (509581)
|
||||
E.A = null; // OK per spec, Error per implementation (509581)
|
||||
function fn() { }
|
||||
fn = null; // Should be error
|
||||
var v;
|
||||
|
||||
@@ -43,9 +43,9 @@ var t3;
|
||||
var t4;
|
||||
// no error
|
||||
t1 = [f1, f2];
|
||||
t2 = [0 /* one */, 0 /* two */];
|
||||
t2 = [E1.one, E2.two];
|
||||
t3 = [5, undefined];
|
||||
t4 = [0 /* one */, 0 /* two */, 20];
|
||||
t4 = [E1.one, E2.two, 20];
|
||||
var e1 = t1[2]; // {}
|
||||
var e2 = t2[2]; // {}
|
||||
var e3 = t3[2]; // any
|
||||
|
||||
@@ -30,11 +30,11 @@ var ENUM1;
|
||||
// enum type var
|
||||
var ResultIsNumber1 = ~ENUM1;
|
||||
// enum type expressions
|
||||
var ResultIsNumber2 = ~0 /* "A" */;
|
||||
var ResultIsNumber3 = ~(0 /* A */ + 1 /* "B" */);
|
||||
var ResultIsNumber2 = ~ENUM1["A"];
|
||||
var ResultIsNumber3 = ~(ENUM1.A + ENUM1["B"]);
|
||||
// multiple ~ operators
|
||||
var ResultIsNumber4 = ~~~(0 /* "A" */ + 1 /* B */);
|
||||
var ResultIsNumber4 = ~~~(ENUM1["A"] + ENUM1.B);
|
||||
// miss assignment operators
|
||||
~ENUM1;
|
||||
~0 /* "A" */;
|
||||
~0 /* A */, ~1 /* "B" */;
|
||||
~ENUM1["A"];
|
||||
~ENUM1.A, ~ENUM1["B"];
|
||||
|
||||
@@ -90,7 +90,7 @@ var interfaceIITuple = classCDTuple;
|
||||
var classCDATuple = classCDTuple;
|
||||
var eleFromCDA1 = classCDATuple[2]; // A
|
||||
var eleFromCDA2 = classCDATuple[5]; // C | D | A
|
||||
var t10 = [0 /* one */, 0 /* one */];
|
||||
var t10 = [E1.one, E2.one];
|
||||
var t11 = t10;
|
||||
var array1 = emptyObjTuple;
|
||||
var unionTuple = [new C(), "foo"];
|
||||
|
||||
@@ -8,5 +8,5 @@ enum Color {
|
||||
var Color;
|
||||
(function (Color) {
|
||||
Color[Color["Color"] = 0] = "Color";
|
||||
Color[Color["Thing"] = Color.Color] = "Thing";
|
||||
Color[Color["Thing"] = 0] = "Thing";
|
||||
})(Color || (Color = {}));
|
||||
|
||||
@@ -12,6 +12,6 @@ var m1;
|
||||
var e;
|
||||
(function (e) {
|
||||
e[e["m1"] = 0] = "m1";
|
||||
e[e["m2"] = e.m1] = "m2";
|
||||
e[e["m2"] = 0] = "m2";
|
||||
})(e || (e = {}));
|
||||
})(m1 || (m1 = {}));
|
||||
|
||||
@@ -21,8 +21,8 @@ var Colors;
|
||||
/** Fancy name for 'pink'*/
|
||||
Colors[Colors["FancyPink"] = 1] = "FancyPink";
|
||||
})(Colors || (Colors = {})); // trailing comment
|
||||
var x = 0 /* Cornflower */;
|
||||
x = 1 /* FancyPink */;
|
||||
var x = Colors.Cornflower;
|
||||
x = Colors.FancyPink;
|
||||
|
||||
|
||||
//// [commentsEnums.d.ts]
|
||||
|
||||
@@ -80,56 +80,56 @@ var b;
|
||||
// operator <
|
||||
var ra1 = a < b;
|
||||
var ra2 = b < a;
|
||||
var ra3 = 0 /* a */ < b;
|
||||
var ra4 = b < 0 /* a */;
|
||||
var ra5 = 0 /* a */ < 0;
|
||||
var ra6 = 0 < 0 /* a */;
|
||||
var ra3 = E.a < b;
|
||||
var ra4 = b < E.a;
|
||||
var ra5 = E.a < 0;
|
||||
var ra6 = 0 < E.a;
|
||||
// operator >
|
||||
var rb1 = a > b;
|
||||
var rb2 = b > a;
|
||||
var rb3 = 0 /* a */ > b;
|
||||
var rb4 = b > 0 /* a */;
|
||||
var rb5 = 0 /* a */ > 0;
|
||||
var rb6 = 0 > 0 /* a */;
|
||||
var rb3 = E.a > b;
|
||||
var rb4 = b > E.a;
|
||||
var rb5 = E.a > 0;
|
||||
var rb6 = 0 > E.a;
|
||||
// operator <=
|
||||
var rc1 = a <= b;
|
||||
var rc2 = b <= a;
|
||||
var rc3 = 0 /* a */ <= b;
|
||||
var rc4 = b <= 0 /* a */;
|
||||
var rc5 = 0 /* a */ <= 0;
|
||||
var rc6 = 0 <= 0 /* a */;
|
||||
var rc3 = E.a <= b;
|
||||
var rc4 = b <= E.a;
|
||||
var rc5 = E.a <= 0;
|
||||
var rc6 = 0 <= E.a;
|
||||
// operator >=
|
||||
var rd1 = a >= b;
|
||||
var rd2 = b >= a;
|
||||
var rd3 = 0 /* a */ >= b;
|
||||
var rd4 = b >= 0 /* a */;
|
||||
var rd5 = 0 /* a */ >= 0;
|
||||
var rd6 = 0 >= 0 /* a */;
|
||||
var rd3 = E.a >= b;
|
||||
var rd4 = b >= E.a;
|
||||
var rd5 = E.a >= 0;
|
||||
var rd6 = 0 >= E.a;
|
||||
// operator ==
|
||||
var re1 = a == b;
|
||||
var re2 = b == a;
|
||||
var re3 = 0 /* a */ == b;
|
||||
var re4 = b == 0 /* a */;
|
||||
var re5 = 0 /* a */ == 0;
|
||||
var re6 = 0 == 0 /* a */;
|
||||
var re3 = E.a == b;
|
||||
var re4 = b == E.a;
|
||||
var re5 = E.a == 0;
|
||||
var re6 = 0 == E.a;
|
||||
// operator !=
|
||||
var rf1 = a != b;
|
||||
var rf2 = b != a;
|
||||
var rf3 = 0 /* a */ != b;
|
||||
var rf4 = b != 0 /* a */;
|
||||
var rf5 = 0 /* a */ != 0;
|
||||
var rf6 = 0 != 0 /* a */;
|
||||
var rf3 = E.a != b;
|
||||
var rf4 = b != E.a;
|
||||
var rf5 = E.a != 0;
|
||||
var rf6 = 0 != E.a;
|
||||
// operator ===
|
||||
var rg1 = a === b;
|
||||
var rg2 = b === a;
|
||||
var rg3 = 0 /* a */ === b;
|
||||
var rg4 = b === 0 /* a */;
|
||||
var rg5 = 0 /* a */ === 0;
|
||||
var rg6 = 0 === 0 /* a */;
|
||||
var rg3 = E.a === b;
|
||||
var rg4 = b === E.a;
|
||||
var rg5 = E.a === 0;
|
||||
var rg6 = 0 === E.a;
|
||||
// operator !==
|
||||
var rh1 = a !== b;
|
||||
var rh2 = b !== a;
|
||||
var rh3 = 0 /* a */ !== b;
|
||||
var rh4 = b !== 0 /* a */;
|
||||
var rh5 = 0 /* a */ !== 0;
|
||||
var rh6 = 0 !== 0 /* a */;
|
||||
var rh3 = E.a !== b;
|
||||
var rh4 = b !== E.a;
|
||||
var rh5 = E.a !== 0;
|
||||
var rh6 = 0 !== E.a;
|
||||
|
||||
@@ -64,7 +64,7 @@ x1 += b;
|
||||
x1 += true;
|
||||
x1 += 0;
|
||||
x1 += '';
|
||||
x1 += 0 /* a */;
|
||||
x1 += E.a;
|
||||
x1 += {};
|
||||
x1 += null;
|
||||
x1 += undefined;
|
||||
@@ -74,20 +74,20 @@ x2 += b;
|
||||
x2 += true;
|
||||
x2 += 0;
|
||||
x2 += '';
|
||||
x2 += 0 /* a */;
|
||||
x2 += E.a;
|
||||
x2 += {};
|
||||
x2 += null;
|
||||
x2 += undefined;
|
||||
var x3;
|
||||
x3 += a;
|
||||
x3 += 0;
|
||||
x3 += 0 /* a */;
|
||||
x3 += E.a;
|
||||
x3 += null;
|
||||
x3 += undefined;
|
||||
var x4;
|
||||
x4 += a;
|
||||
x4 += 0;
|
||||
x4 += 0 /* a */;
|
||||
x4 += E.a;
|
||||
x4 += null;
|
||||
x4 += undefined;
|
||||
var x5;
|
||||
|
||||
@@ -51,7 +51,7 @@ var x1;
|
||||
x1 += a;
|
||||
x1 += true;
|
||||
x1 += 0;
|
||||
x1 += 0 /* a */;
|
||||
x1 += E.a;
|
||||
x1 += {};
|
||||
x1 += null;
|
||||
x1 += undefined;
|
||||
@@ -59,7 +59,7 @@ var x2;
|
||||
x2 += a;
|
||||
x2 += true;
|
||||
x2 += 0;
|
||||
x2 += 0 /* a */;
|
||||
x2 += E.a;
|
||||
x2 += {};
|
||||
x2 += null;
|
||||
x2 += undefined;
|
||||
@@ -67,7 +67,7 @@ var x3;
|
||||
x3 += a;
|
||||
x3 += true;
|
||||
x3 += 0;
|
||||
x3 += 0 /* a */;
|
||||
x3 += E.a;
|
||||
x3 += {};
|
||||
x3 += null;
|
||||
x3 += undefined;
|
||||
|
||||
@@ -74,7 +74,7 @@ x1 *= b;
|
||||
x1 *= true;
|
||||
x1 *= 0;
|
||||
x1 *= '';
|
||||
x1 *= 0 /* a */;
|
||||
x1 *= E.a;
|
||||
x1 *= {};
|
||||
x1 *= null;
|
||||
x1 *= undefined;
|
||||
@@ -84,7 +84,7 @@ x2 *= b;
|
||||
x2 *= true;
|
||||
x2 *= 0;
|
||||
x2 *= '';
|
||||
x2 *= 0 /* a */;
|
||||
x2 *= E.a;
|
||||
x2 *= {};
|
||||
x2 *= null;
|
||||
x2 *= undefined;
|
||||
@@ -94,7 +94,7 @@ x3 *= b;
|
||||
x3 *= true;
|
||||
x3 *= 0;
|
||||
x3 *= '';
|
||||
x3 *= 0 /* a */;
|
||||
x3 *= E.a;
|
||||
x3 *= {};
|
||||
x3 *= null;
|
||||
x3 *= undefined;
|
||||
@@ -104,7 +104,7 @@ x4 *= b;
|
||||
x4 *= true;
|
||||
x4 *= 0;
|
||||
x4 *= '';
|
||||
x4 *= 0 /* a */;
|
||||
x4 *= E.a;
|
||||
x4 *= {};
|
||||
x4 *= null;
|
||||
x4 *= undefined;
|
||||
|
||||
@@ -15,6 +15,6 @@ var E2;
|
||||
E2[E2["x"] = 0] = "x";
|
||||
})(E2 || (E2 = {}));
|
||||
var o = (_a = {},
|
||||
_a[0 /* x */ || 0 /* x */] = 0,
|
||||
_a[E1.x || E2.x] = 0,
|
||||
_a);
|
||||
var _a;
|
||||
|
||||
@@ -15,5 +15,5 @@ var E2;
|
||||
E2[E2["x"] = 0] = "x";
|
||||
})(E2 || (E2 = {}));
|
||||
var o = {
|
||||
[0 /* x */ || 0 /* x */]: 0
|
||||
[E1.x || E2.x]: 0
|
||||
};
|
||||
|
||||
@@ -27,7 +27,7 @@ extractIndexer((_a = {},
|
||||
_a[a] = "",
|
||||
_a)); // Should return string
|
||||
extractIndexer((_b = {},
|
||||
_b[0 /* x */] = "",
|
||||
_b[E.x] = "",
|
||||
_b)); // Should return string
|
||||
extractIndexer((_c = {},
|
||||
_c["" || 0] = "",
|
||||
|
||||
@@ -27,7 +27,7 @@ extractIndexer({
|
||||
[a]: ""
|
||||
}); // Should return string
|
||||
extractIndexer({
|
||||
[0 /* x */]: ""
|
||||
[E.x]: ""
|
||||
}); // Should return string
|
||||
extractIndexer({
|
||||
["" || 0]: ""
|
||||
|
||||
@@ -12,6 +12,6 @@ var E;
|
||||
E[E["member"] = 0] = "member";
|
||||
})(E || (E = {}));
|
||||
var v = (_a = {},
|
||||
_a[0 /* member */] = 0,
|
||||
_a[E.member] = 0,
|
||||
_a);
|
||||
var _a;
|
||||
|
||||
@@ -12,5 +12,5 @@ var E;
|
||||
E[E["member"] = 0] = "member";
|
||||
})(E || (E = {}));
|
||||
var v = {
|
||||
[0 /* member */]: 0
|
||||
[E.member]: 0
|
||||
};
|
||||
|
||||
@@ -365,7 +365,7 @@ var BasicFeatures = (function () {
|
||||
var quoted = '"', quoted2 = "'";
|
||||
var reg = /\w*/;
|
||||
var objLit = { "var": number = 42, equals: function (x) { return x["var"] === 42; }, instanceof: function () { return 'objLit{42}'; } };
|
||||
var weekday = 0 /* Monday */;
|
||||
var weekday = Weekdays.Monday;
|
||||
var con = char + f + hexchar + float.toString() + float2.toString() + reg.toString() + objLit + weekday;
|
||||
//
|
||||
var any = 0 ^=
|
||||
|
||||
@@ -46,14 +46,14 @@ var e1;
|
||||
var e2;
|
||||
(function (e2) {
|
||||
e2[e2["a"] = 10] = "a";
|
||||
e2[e2["b"] = e2.a + 2] = "b";
|
||||
e2[e2["b"] = 12] = "b";
|
||||
e2[e2["c"] = 10] = "c";
|
||||
})(e2 || (e2 = {}));
|
||||
var e3;
|
||||
(function (e3) {
|
||||
e3[e3["a"] = 10] = "a";
|
||||
e3[e3["b"] = Math.PI] = "b";
|
||||
e3[e3["c"] = e3.a + 3] = "c";
|
||||
e3[e3["c"] = 13] = "c";
|
||||
})(e3 || (e3 = {}));
|
||||
var e4;
|
||||
(function (e4) {
|
||||
@@ -80,13 +80,13 @@ declare enum e1 {
|
||||
}
|
||||
declare enum e2 {
|
||||
a = 10,
|
||||
b,
|
||||
b = 12,
|
||||
c = 10,
|
||||
}
|
||||
declare enum e3 {
|
||||
a = 10,
|
||||
b,
|
||||
c,
|
||||
c = 13,
|
||||
}
|
||||
declare enum e4 {
|
||||
a = 0,
|
||||
|
||||
@@ -25,7 +25,7 @@ var days;
|
||||
days[days["saturday"] = 5] = "saturday";
|
||||
days[days["sunday"] = 6] = "sunday";
|
||||
})(days || (days = {}));
|
||||
var weekendDay = 5 /* saturday */;
|
||||
var weekendDay = days.saturday;
|
||||
var daysOfMonth = days;
|
||||
var daysOfYear;
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ var d = {
|
||||
m: { mod: m1 },
|
||||
mc: { cl: m1.c },
|
||||
me: { en: m1.e },
|
||||
mh: 2 /* holiday */
|
||||
mh: m1.e.holiday
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -22,8 +22,8 @@ var ENUM1;
|
||||
})(ENUM1 || (ENUM1 = {}));
|
||||
;
|
||||
// expression
|
||||
var ResultIsNumber1 = --0 /* "A" */;
|
||||
var ResultIsNumber2 = 0 /* A */--;
|
||||
var ResultIsNumber1 = --ENUM1["A"];
|
||||
var ResultIsNumber2 = ENUM1.A--;
|
||||
// miss assignment operator
|
||||
--0 /* "A" */;
|
||||
--ENUM1["A"];
|
||||
ENUM1[A]--;
|
||||
|
||||
@@ -39,13 +39,13 @@ var ENUM1;
|
||||
var ResultIsBoolean1 = delete ENUM;
|
||||
var ResultIsBoolean2 = delete ENUM1;
|
||||
// enum type expressions
|
||||
var ResultIsBoolean3 = delete 0 /* "A" */;
|
||||
var ResultIsBoolean4 = delete (ENUM[0] + 1 /* "B" */);
|
||||
var ResultIsBoolean3 = delete ENUM1["A"];
|
||||
var ResultIsBoolean4 = delete (ENUM[0] + ENUM1["B"]);
|
||||
// multiple delete operators
|
||||
var ResultIsBoolean5 = delete delete ENUM;
|
||||
var ResultIsBoolean6 = delete delete delete (ENUM[0] + 1 /* "B" */);
|
||||
var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]);
|
||||
// miss assignment operators
|
||||
delete ENUM;
|
||||
delete ENUM1;
|
||||
delete 1 /* B */;
|
||||
delete ENUM1.B;
|
||||
delete ENUM, ENUM1;
|
||||
|
||||
@@ -12,4 +12,4 @@ var E;
|
||||
E[E["a"] = 0] = "a";
|
||||
})(E || (E = {}));
|
||||
var x = E;
|
||||
var x = 0 /* a */;
|
||||
var x = E.a;
|
||||
|
||||
@@ -64,8 +64,8 @@ var F;
|
||||
(function (F) {
|
||||
F[F["B"] = 0] = "B";
|
||||
})(F || (F = {}));
|
||||
var e = 0 /* A */;
|
||||
var f = 0 /* B */;
|
||||
var e = E.A;
|
||||
var f = F.B;
|
||||
e = f;
|
||||
f = e;
|
||||
e = 1; // ok
|
||||
|
||||
@@ -115,41 +115,41 @@ var E;
|
||||
(function (E) {
|
||||
E[E["A"] = 0] = "A";
|
||||
})(E || (E = {}));
|
||||
var r = foo(0 /* A */); // E
|
||||
var r = foo(E.A); // E
|
||||
var r2 = foo(1); // number
|
||||
var r3 = foo(null); // any
|
||||
var r4 = foo2(0 /* A */);
|
||||
var r4 = foo3(0 /* A */);
|
||||
var r4 = foo4(0 /* A */);
|
||||
var r4 = foo5(0 /* A */);
|
||||
var r4 = foo6(0 /* A */);
|
||||
var r4 = foo7(0 /* A */);
|
||||
var r4 = foo8(0 /* A */);
|
||||
var r4 = foo2(E.A);
|
||||
var r4 = foo3(E.A);
|
||||
var r4 = foo4(E.A);
|
||||
var r4 = foo5(E.A);
|
||||
var r4 = foo6(E.A);
|
||||
var r4 = foo7(E.A);
|
||||
var r4 = foo8(E.A);
|
||||
var A = (function () {
|
||||
function A() {
|
||||
}
|
||||
return A;
|
||||
})();
|
||||
var r4 = foo9(0 /* A */);
|
||||
var r4 = foo9(E.A);
|
||||
var A2 = (function () {
|
||||
function A2() {
|
||||
}
|
||||
return A2;
|
||||
})();
|
||||
var r4 = foo10(0 /* A */);
|
||||
var r4 = foo11(0 /* A */);
|
||||
var r4 = foo12(0 /* A */);
|
||||
var r4 = foo10(E.A);
|
||||
var r4 = foo11(E.A);
|
||||
var r4 = foo12(E.A);
|
||||
var E2;
|
||||
(function (E2) {
|
||||
E2[E2["A"] = 0] = "A";
|
||||
})(E2 || (E2 = {}));
|
||||
var r4 = foo13(0 /* A */);
|
||||
var r4 = foo13(E.A);
|
||||
function f() { }
|
||||
var f;
|
||||
(function (f) {
|
||||
f.bar = 1;
|
||||
})(f || (f = {}));
|
||||
var r4 = foo14(0 /* A */);
|
||||
var r4 = foo14(E.A);
|
||||
var CC = (function () {
|
||||
function CC() {
|
||||
}
|
||||
@@ -159,6 +159,6 @@ var CC;
|
||||
(function (CC) {
|
||||
CC.bar = 1;
|
||||
})(CC || (CC = {}));
|
||||
var r4 = foo15(0 /* A */);
|
||||
var r4 = foo16(0 /* A */);
|
||||
var r4 = foo16(0 /* A */);
|
||||
var r4 = foo15(E.A);
|
||||
var r4 = foo16(E.A);
|
||||
var r4 = foo16(E.A);
|
||||
|
||||
@@ -57,15 +57,15 @@ var W;
|
||||
var x = W;
|
||||
var y = W;
|
||||
var z = W; // error
|
||||
var a = 0 /* a */;
|
||||
var b = 0 /* a */; // error
|
||||
var c = 0 /* a */;
|
||||
var a = W.a;
|
||||
var b = W.a; // error
|
||||
var c = W.a;
|
||||
var d = 3; // error
|
||||
var e = 4;
|
||||
var f = 0 /* a */; // error
|
||||
var f = W.a; // error
|
||||
var g = 5; // error
|
||||
var h = 3;
|
||||
var i = 0 /* a */;
|
||||
i = 0 /* a */;
|
||||
var i = W.a;
|
||||
i = W.a;
|
||||
W.D;
|
||||
var p;
|
||||
|
||||
@@ -56,15 +56,15 @@ var W;
|
||||
var x = W;
|
||||
var y = W;
|
||||
var z = W; // error
|
||||
var a = 0 /* a */;
|
||||
var b = 0 /* a */; // error
|
||||
var c = 0 /* a */;
|
||||
var a = W.a;
|
||||
var b = W.a; // error
|
||||
var c = W.a;
|
||||
var d = 3; // error
|
||||
var e = 4;
|
||||
var f = 0 /* a */; // error
|
||||
var f = W.a; // error
|
||||
var g = 5; // error
|
||||
var h = 3;
|
||||
var i = 0 /* a */;
|
||||
i = 0 /* a */;
|
||||
var i = W.a;
|
||||
i = W.a;
|
||||
W.D;
|
||||
var p;
|
||||
|
||||
@@ -89,13 +89,13 @@ var E1;
|
||||
E1[E1["C"] = 2] = "C";
|
||||
})(E1 || (E1 = {}));
|
||||
// Enum type is a subtype of Number
|
||||
var x = 0 /* A */;
|
||||
var x = E1.A;
|
||||
// Enum object type is anonymous with properties of the enum type and numeric indexer
|
||||
var e = E1;
|
||||
var e;
|
||||
var e;
|
||||
// Reverse mapping of enum returns string name of property
|
||||
var s = E1[0 /* A */];
|
||||
var s = E1[e.A];
|
||||
var s;
|
||||
// Enum with only constant members
|
||||
var E2;
|
||||
@@ -108,7 +108,7 @@ var E2;
|
||||
var E3;
|
||||
(function (E3) {
|
||||
E3[E3["X"] = 'foo'.length] = "X";
|
||||
E3[E3["Y"] = 4 + 3] = "Y";
|
||||
E3[E3["Y"] = 7] = "Y";
|
||||
E3[E3["Z"] = +'foo'] = "Z";
|
||||
})(E3 || (E3 = {}));
|
||||
// Enum with constant members followed by computed members
|
||||
@@ -145,7 +145,7 @@ var E8;
|
||||
var E9;
|
||||
(function (E9) {
|
||||
E9[E9["A"] = 0] = "A";
|
||||
E9[E9["B"] = E9.A] = "B";
|
||||
E9[E9["B"] = 0] = "B";
|
||||
})(E9 || (E9 = {}));
|
||||
// (refer to .js to validate)
|
||||
// Enum constant members are propagated
|
||||
@@ -154,5 +154,5 @@ var doNotPropagate = [
|
||||
];
|
||||
// Enum computed members are not propagated
|
||||
var doPropagate = [
|
||||
0 /* A */, E9.B, 0 /* B */, 1 /* C */, 0 /* A */, 0 /* A */, 3 /* B */, 4 /* C */
|
||||
E9.A, E9.B, E6.B, E6.C, E6.A, E5.A, E5.B, E5.C
|
||||
];
|
||||
|
||||
@@ -63,7 +63,7 @@ class C {
|
||||
|
||||
var e = E; // shouldn't error
|
||||
*/
|
||||
1 /* A */.A; // should error
|
||||
E.A.A; // should error
|
||||
var E2;
|
||||
(function (E2) {
|
||||
E2[E2["A"] = 0] = "A";
|
||||
|
||||
@@ -12,4 +12,4 @@ var Position;
|
||||
Position[Position["IgnoreRulesSpecific"] = 0] = "IgnoreRulesSpecific";
|
||||
})(Position || (Position = {}));
|
||||
var x = IgnoreRulesSpecific.;
|
||||
var y = 0 /* IgnoreRulesSpecific */;
|
||||
var y = Position.IgnoreRulesSpecific;
|
||||
|
||||
@@ -3,15 +3,13 @@ tests/cases/conformance/enums/enumErrors.ts(3,6): error TS2431: Enum name cannot
|
||||
tests/cases/conformance/enums/enumErrors.ts(4,6): error TS2431: Enum name cannot be 'string'
|
||||
tests/cases/conformance/enums/enumErrors.ts(5,6): error TS2431: Enum name cannot be 'boolean'
|
||||
tests/cases/conformance/enums/enumErrors.ts(9,9): error TS2322: Type 'Number' is not assignable to type 'E5'.
|
||||
tests/cases/conformance/enums/enumErrors.ts(20,9): error TS2322: Type 'E9' is not assignable to type 'E10'.
|
||||
tests/cases/conformance/enums/enumErrors.ts(21,9): error TS2322: Type 'E9' is not assignable to type 'E10'.
|
||||
tests/cases/conformance/enums/enumErrors.ts(26,9): error TS2322: Type 'string' is not assignable to type 'E11'.
|
||||
tests/cases/conformance/enums/enumErrors.ts(27,9): error TS2322: Type 'Date' is not assignable to type 'E11'.
|
||||
tests/cases/conformance/enums/enumErrors.ts(28,9): error TS2304: Cannot find name 'window'.
|
||||
tests/cases/conformance/enums/enumErrors.ts(29,9): error TS2322: Type '{}' is not assignable to type 'E11'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/enums/enumErrors.ts (11 errors) ====
|
||||
==== tests/cases/conformance/enums/enumErrors.ts (9 errors) ====
|
||||
// Enum named with PredefinedTypes
|
||||
enum any { }
|
||||
~~~
|
||||
@@ -42,11 +40,7 @@ tests/cases/conformance/enums/enumErrors.ts(29,9): error TS2322: Type '{}' is no
|
||||
// Bug 707850: This should be allowed
|
||||
enum E10 {
|
||||
A = E9.A,
|
||||
~~~~
|
||||
!!! error TS2322: Type 'E9' is not assignable to type 'E10'.
|
||||
B = E9.B
|
||||
~~~~
|
||||
!!! error TS2322: Type 'E9' is not assignable to type 'E10'.
|
||||
}
|
||||
|
||||
// Enum with computed member intializer of other types
|
||||
|
||||
@@ -53,14 +53,14 @@ var E5;
|
||||
var E9;
|
||||
(function (E9) {
|
||||
E9[E9["A"] = 0] = "A";
|
||||
E9[E9["B"] = E9.A] = "B";
|
||||
E9[E9["B"] = 0] = "B";
|
||||
})(E9 || (E9 = {}));
|
||||
//Enum with computed member intializer of different enum type
|
||||
// Bug 707850: This should be allowed
|
||||
var E10;
|
||||
(function (E10) {
|
||||
E10[E10["A"] = 0 /* A */] = "A";
|
||||
E10[E10["B"] = E9.B] = "B";
|
||||
E10[E10["A"] = 0] = "A";
|
||||
E10[E10["B"] = 0] = "B";
|
||||
})(E10 || (E10 = {}));
|
||||
// Enum with computed member intializer of other types
|
||||
var E11;
|
||||
|
||||
@@ -18,4 +18,4 @@ var Mode = exports.Mode;
|
||||
//// [enumFromExternalModule_1.js]
|
||||
///<reference path='enumFromExternalModule_0.ts'/>
|
||||
var f = require('enumFromExternalModule_0');
|
||||
var x = 0 /* Open */;
|
||||
var x = f.Mode.Open;
|
||||
|
||||
@@ -14,5 +14,5 @@ var MyEnumType;
|
||||
MyEnumType[MyEnumType["bar"] = 1] = "bar";
|
||||
})(MyEnumType || (MyEnumType = {}));
|
||||
var _arr = [{ key: 'foo' }, { key: 'bar' }];
|
||||
var enumValue = 0 /* foo */;
|
||||
var enumValue = MyEnumType.foo;
|
||||
var x = _arr.map(function (o) { return MyEnumType[o.key] === enumValue; }); // these are not same type
|
||||
|
||||
@@ -16,7 +16,7 @@ var TShirtSize;
|
||||
TShirtSize[TShirtSize["Medium"] = 1] = "Medium";
|
||||
TShirtSize[TShirtSize["Large"] = 2] = "Large";
|
||||
})(TShirtSize || (TShirtSize = {}));
|
||||
var mySize = 2 /* Large */;
|
||||
var mySize = TShirtSize.Large;
|
||||
var test = TShirtSize[mySize];
|
||||
// specifically checking output here, bug was that test used to be undefined at runtime
|
||||
test + '';
|
||||
|
||||
@@ -14,4 +14,4 @@ var Position2;
|
||||
})(Position2 || (Position2 = {}));
|
||||
var x = IgnoreRulesSpecific.; // error
|
||||
var y = 1;
|
||||
var z = 0 /* IgnoreRulesSpecific */; // no error
|
||||
var z = Position2.IgnoreRulesSpecific; // no error
|
||||
|
||||
@@ -95,7 +95,7 @@ var M1;
|
||||
EConst1[EConst1["F"] = 8] = "F";
|
||||
})(M1.EConst1 || (M1.EConst1 = {}));
|
||||
var EConst1 = M1.EConst1;
|
||||
var x = [3 /* A */, 2 /* B */, 1 /* C */, 7 /* D */, 9 /* E */, 8 /* F */];
|
||||
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;
|
||||
@@ -169,6 +169,6 @@ var M6;
|
||||
})(A.Color || (A.Color = {}));
|
||||
var Color = A.Color;
|
||||
})(A = M6.A || (M6.A = {}));
|
||||
var t = 1 /* Yellow */;
|
||||
t = 0 /* Red */;
|
||||
var t = A.Color.Yellow;
|
||||
t = A.Color.Red;
|
||||
})(M6 || (M6 = {}));
|
||||
|
||||
@@ -21,7 +21,7 @@ var Enum;
|
||||
(function (Enum) {
|
||||
Enum[Enum["None"] = 0] = "None";
|
||||
})(Enum || (Enum = {}));
|
||||
var enumType = 0 /* None */;
|
||||
var enumType = Enum.None;
|
||||
var numberType = 0;
|
||||
var anyType = 0;
|
||||
enumType ^ numberType;
|
||||
|
||||
@@ -20,7 +20,7 @@ var Colors;
|
||||
Colors[Colors["Red"] = 0] = "Red";
|
||||
Colors[Colors["Green"] = 1] = "Green";
|
||||
})(Colors || (Colors = {}));
|
||||
var x = 0 /* Red */; // type of 'x' should be 'Colors'
|
||||
var x = Colors.Red; // type of 'x' should be 'Colors'
|
||||
var p = x.Green; // error
|
||||
x.toFixed(); // ok
|
||||
// Now with generics
|
||||
|
||||
@@ -6,5 +6,5 @@ enum E {
|
||||
//// [enumWithParenthesizedInitializer1.js]
|
||||
var E;
|
||||
(function (E) {
|
||||
E[E["e"] = -(3)] = "e";
|
||||
E[E["e"] = -3] = "e";
|
||||
})(E || (E = {}));
|
||||
|
||||
@@ -9,6 +9,6 @@ enum E {
|
||||
var E;
|
||||
(function (E) {
|
||||
E[E["a"] = 0] = "a";
|
||||
E[E["b"] = E.a] = "b";
|
||||
E[E["c"] = undefined] = "c";
|
||||
E[E["b"] = 0] = "b";
|
||||
E[E["c"] = 1] = "c";
|
||||
})(E || (E = {}));
|
||||
|
||||
@@ -26,6 +26,6 @@ var E;
|
||||
module.exports = E;
|
||||
//// [exportAssignmentEnum_B.js]
|
||||
var EnumE = require("exportAssignmentEnum_A");
|
||||
var a = 0 /* A */;
|
||||
var b = 1 /* B */;
|
||||
var c = 2 /* C */;
|
||||
var a = EnumE.A;
|
||||
var b = EnumE.B;
|
||||
var c = EnumE.C;
|
||||
|
||||
@@ -34,7 +34,7 @@ define(["require", "exports"], function (require, exports) {
|
||||
//// [foo_1.js]
|
||||
define(["require", "exports", "./foo_0"], function (require, exports, foo) {
|
||||
var color;
|
||||
if (color === 1 /* green */) {
|
||||
if (color === foo.green) {
|
||||
color = foo.answer;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -158,4 +158,4 @@ var Color;
|
||||
Color[Color["Blue"] = 1] = "Blue";
|
||||
})(Color || (Color = {}));
|
||||
for (var x in Color) { }
|
||||
for (var x in 1 /* Blue */) { }
|
||||
for (var x in Color.Blue) { }
|
||||
|
||||
@@ -14,7 +14,7 @@ var E;
|
||||
(function (E) {
|
||||
E[E["x"] = 0] = "x";
|
||||
})(E || (E = {}));
|
||||
for ({ x, y: y = 0 /* x */ } of array) {
|
||||
for ({ x, y: y = E.x } of array) {
|
||||
x;
|
||||
y;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ var E;
|
||||
(function (E) {
|
||||
E[E["x"] = 0] = "x";
|
||||
})(E || (E = {}));
|
||||
for ({ x, y: = 0 /* x */ } of array) {
|
||||
for ({ x, y: = E.x } of array) {
|
||||
x;
|
||||
y;
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ var onlyT;
|
||||
var r;
|
||||
return r;
|
||||
}
|
||||
var r7 = foo3(0 /* A */, function (x) { return 0 /* A */; }, function (x) { return 0 /* A */; }); // error
|
||||
var r7 = foo3(E.A, function (x) { return E.A; }, function (x) { return F.A; }); // error
|
||||
})(onlyT || (onlyT = {}));
|
||||
var TU;
|
||||
(function (TU) {
|
||||
@@ -143,5 +143,5 @@ var TU;
|
||||
var r;
|
||||
return r;
|
||||
}
|
||||
var r7 = foo3(0 /* A */, function (x) { return 0 /* A */; }, function (x) { return 0 /* A */; });
|
||||
var r7 = foo3(E.A, function (x) { return E.A; }, function (x) { return F.A; });
|
||||
})(TU || (TU = {}));
|
||||
|
||||
@@ -54,7 +54,7 @@ var F;
|
||||
(function (F) {
|
||||
F[F["A"] = 0] = "A";
|
||||
})(F || (F = {}));
|
||||
var r6 = foo(0 /* A */, function (x) { return 0 /* A */; }, function (x) { return 0 /* A */; }); // number => number
|
||||
var r6 = foo(E.A, function (x) { return E.A; }, function (x) { return F.A; }); // number => number
|
||||
function foo2(x, a, b) {
|
||||
var r;
|
||||
return r;
|
||||
|
||||
@@ -61,7 +61,7 @@ var ra3 = a3 in x;
|
||||
var ra4 = a4 in x;
|
||||
var ra5 = null in x;
|
||||
var ra6 = undefined in x;
|
||||
var ra7 = 0 /* a */ in x;
|
||||
var ra7 = E.a in x;
|
||||
var ra8 = false in x;
|
||||
var ra9 = {} in x;
|
||||
// invalid right operands
|
||||
|
||||
@@ -70,7 +70,7 @@ var E;
|
||||
})(E || (E = {}));
|
||||
;
|
||||
var x = 4;
|
||||
var e = 1 /* B */;
|
||||
var e = E.B;
|
||||
var a;
|
||||
var w = window;
|
||||
// Assign to expression++
|
||||
|
||||
@@ -22,8 +22,8 @@ var ENUM1;
|
||||
})(ENUM1 || (ENUM1 = {}));
|
||||
;
|
||||
// expression
|
||||
var ResultIsNumber1 = ++1 /* "B" */;
|
||||
var ResultIsNumber2 = 1 /* B */++;
|
||||
var ResultIsNumber1 = ++ENUM1["B"];
|
||||
var ResultIsNumber2 = ENUM1.B++;
|
||||
// miss assignment operator
|
||||
++1 /* "B" */;
|
||||
1 /* B */++;
|
||||
++ENUM1["B"];
|
||||
ENUM1.B++;
|
||||
|
||||
@@ -112,7 +112,7 @@ var m3 = M3;
|
||||
var a3;
|
||||
var a3 = m3.Color;
|
||||
var a3 = M3.Color;
|
||||
var blue = 0 /* Blue */;
|
||||
var blue = a3.Blue;
|
||||
var p3;
|
||||
var p3 = 1 /* Red */;
|
||||
var p3 = 0 /* Blue */;
|
||||
var p3 = M3.Color.Red;
|
||||
var p3 = m3.Color.Blue;
|
||||
|
||||
@@ -72,9 +72,9 @@ var M;
|
||||
function test() {
|
||||
var x = [];
|
||||
var result = "";
|
||||
x[0] = { color: 2 /* Brown */ };
|
||||
x[1] = { color: 1 /* Blue */ };
|
||||
x[2] = { color: 0 /* Green */ };
|
||||
x[0] = { color: Color.Brown };
|
||||
x[1] = { color: Color.Blue };
|
||||
x[2] = { color: Color.Green };
|
||||
x = x.sort(CompareYeux); // parameter mismatch
|
||||
// type of z inferred from specialized array type
|
||||
var z = x.sort(CompareEyes); // ok
|
||||
|
||||
@@ -72,5 +72,5 @@ var a = {
|
||||
l: f1,
|
||||
m: M,
|
||||
n: {},
|
||||
o: 0 /* A */
|
||||
o: E.A
|
||||
};
|
||||
|
||||
@@ -26,7 +26,7 @@ var a;
|
||||
var c;
|
||||
(function (c) {
|
||||
var b = a.weekend;
|
||||
c.bVal = 2 /* Sunday */;
|
||||
c.bVal = b.Sunday;
|
||||
})(c || (c = {}));
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ var a;
|
||||
var c;
|
||||
(function (c) {
|
||||
c.b = a.weekend;
|
||||
c.bVal = 2 /* Sunday */;
|
||||
c.bVal = c.b.Sunday;
|
||||
})(c = exports.c || (exports.c = {}));
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ var a;
|
||||
var c;
|
||||
(function (c) {
|
||||
var b = a.weekend;
|
||||
c.bVal = 2 /* Sunday */;
|
||||
c.bVal = b.Sunday;
|
||||
})(c = exports.c || (exports.c = {}));
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -27,6 +27,6 @@ var a;
|
||||
var c;
|
||||
(function (c) {
|
||||
var b = a.weekend;
|
||||
c.bVal = 2 /* Sunday */;
|
||||
c.bVal = b.Sunday;
|
||||
})(c = exports.c || (exports.c = {}));
|
||||
var happyFriday = c.b.Friday;
|
||||
|
||||
@@ -23,7 +23,7 @@ define(["require", "exports"], function (require, exports) {
|
||||
var weekend = a.weekend;
|
||||
})(a = exports.a || (exports.a = {}));
|
||||
exports.b = a.weekend;
|
||||
exports.bVal = 2 /* Sunday */;
|
||||
exports.bVal = exports.b.Sunday;
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ define(["require", "exports"], function (require, exports) {
|
||||
var weekend = a.weekend;
|
||||
})(a = exports.a || (exports.a = {}));
|
||||
var b = a.weekend;
|
||||
exports.bVal = 2 /* Sunday */;
|
||||
exports.bVal = b.Sunday;
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -35,8 +35,8 @@ var E2;
|
||||
})(E2 || (E2 = {}));
|
||||
var e;
|
||||
var e2;
|
||||
e = 0 /* A */;
|
||||
e2 = 0 /* A */;
|
||||
e = E2.A;
|
||||
e2 = E.A;
|
||||
e = null;
|
||||
e = {};
|
||||
e = '';
|
||||
|
||||
@@ -28,7 +28,7 @@ var E;
|
||||
E[E["A"] = 0] = "A";
|
||||
})(E || (E = {}));
|
||||
E = x;
|
||||
0 /* A */ = x;
|
||||
E.A = x;
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
|
||||
@@ -64,4 +64,4 @@ var E;
|
||||
E[E["A"] = 0] = "A";
|
||||
})(E || (E = {}));
|
||||
x = E;
|
||||
x = 0 /* A */;
|
||||
x = E.A;
|
||||
|
||||
@@ -58,5 +58,5 @@ var E;
|
||||
E[E["A"] = 0] = "A";
|
||||
})(E || (E = {}));
|
||||
x = E;
|
||||
x = 0 /* A */;
|
||||
x = E.A;
|
||||
x = { f: function () { } };
|
||||
|
||||
@@ -36,7 +36,7 @@ var E;
|
||||
E[E["A"] = 0] = "A";
|
||||
})(E || (E = {}));
|
||||
x = E;
|
||||
x = 0 /* A */;
|
||||
x = E.A;
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ var App;
|
||||
var Key = Keyboard.Key;
|
||||
function foo(key) { }
|
||||
App.foo = foo;
|
||||
foo(0 /* UP */);
|
||||
foo(1 /* DOWN */);
|
||||
foo(2 /* LEFT */);
|
||||
foo(Key.UP);
|
||||
foo(Key.DOWN);
|
||||
foo(Key.LEFT);
|
||||
})(App || (App = {}));
|
||||
|
||||
@@ -37,13 +37,13 @@ var ENUM1;
|
||||
// enum type var
|
||||
var ResultIsBoolean1 = !ENUM;
|
||||
// enum type expressions
|
||||
var ResultIsBoolean2 = !1 /* "B" */;
|
||||
var ResultIsBoolean3 = !(1 /* B */ + 2 /* "C" */);
|
||||
var ResultIsBoolean2 = !ENUM["B"];
|
||||
var ResultIsBoolean3 = !(ENUM.B + ENUM["C"]);
|
||||
// multiple ! operators
|
||||
var ResultIsBoolean4 = !!ENUM;
|
||||
var ResultIsBoolean5 = !!!(1 /* "B" */ + 2 /* C */);
|
||||
var ResultIsBoolean5 = !!!(ENUM["B"] + ENUM.C);
|
||||
// miss assignment operators
|
||||
!ENUM;
|
||||
!ENUM1;
|
||||
!1 /* B */;
|
||||
!ENUM.B;
|
||||
!ENUM, ENUM1;
|
||||
|
||||
@@ -17,7 +17,7 @@ var Foo;
|
||||
})(Foo || (Foo = {}));
|
||||
var Foo;
|
||||
(function (Foo) {
|
||||
Foo[Foo["a"] = Foo.b] = "a";
|
||||
Foo[Foo["a"] = 0] = "a";
|
||||
})(Foo || (Foo = {}));
|
||||
var Foo;
|
||||
(function (Foo) {
|
||||
|
||||
@@ -11,9 +11,9 @@ enum E {
|
||||
var E;
|
||||
(function (E) {
|
||||
E[E["a"] = 0] = "a";
|
||||
E[E["b"] = E.a] = "b";
|
||||
E[E["b"] = 0] = "b";
|
||||
})(E || (E = {}));
|
||||
var E;
|
||||
(function (E) {
|
||||
E[E["c"] = E.a] = "c";
|
||||
E[E["c"] = 0] = "c";
|
||||
})(E || (E = {}));
|
||||
|
||||
@@ -46,9 +46,9 @@ var C2 = (function () {
|
||||
E1[E1["A"] = 0] = "A";
|
||||
})(exports.E1 || (exports.E1 = {}));
|
||||
var E1 = exports.E1;
|
||||
var u = 0 /* A */;
|
||||
var u = E1.A;
|
||||
var E2;
|
||||
(function (E2) {
|
||||
E2[E2["B"] = 0] = "B";
|
||||
})(E2 || (E2 = {}));
|
||||
var v = 0 /* B */;
|
||||
var v = E2.B;
|
||||
|
||||
@@ -119,11 +119,11 @@ var M;
|
||||
var M;
|
||||
(function (M) {
|
||||
M.c = M.x;
|
||||
M.meb = 1 /* B */;
|
||||
M.meb = M.E.B;
|
||||
})(M || (M = {}));
|
||||
var cprime = null;
|
||||
var c = new M.C();
|
||||
var z = M.x;
|
||||
var alpha = 0 /* A */;
|
||||
var alpha = M.E.A;
|
||||
var omega = M.exported_var;
|
||||
c.someMethodThatCallsAnOuterMethod();
|
||||
|
||||
@@ -33,10 +33,10 @@ var ENUM1;
|
||||
// enum type var
|
||||
var ResultIsNumber1 = -ENUM;
|
||||
// expressions
|
||||
var ResultIsNumber2 = -1 /* "B" */;
|
||||
var ResultIsNumber3 = -(1 /* B */ + 2 /* "" */);
|
||||
var ResultIsNumber2 = -ENUM1["B"];
|
||||
var ResultIsNumber3 = -(ENUM1.B + ENUM1[""]);
|
||||
// miss assignment operators
|
||||
-ENUM;
|
||||
-ENUM1;
|
||||
-1 /* "B" */;
|
||||
-ENUM1["B"];
|
||||
-ENUM, ENUM1;
|
||||
|
||||
@@ -57,11 +57,11 @@ var MyEmusEnum;
|
||||
// Should be okay; should be a string.
|
||||
var strRepresentation1 = MyEmusEnum[0];
|
||||
// Should be okay; should be a string.
|
||||
var strRepresentation2 = MyEmusEnum[0 /* emu */];
|
||||
var strRepresentation2 = MyEmusEnum[MyEmusEnum.emu];
|
||||
// Should be implicit 'any' ; property access fails, no string indexer.
|
||||
var strRepresentation3 = MyEmusEnum["monehh"];
|
||||
// Should be okay; should be a MyEmusEnum
|
||||
var strRepresentation4 = 0 /* "emu" */;
|
||||
var strRepresentation4 = MyEmusEnum["emu"];
|
||||
// Should report an implicit 'any'.
|
||||
var x = {}["hi"];
|
||||
// Should report an implicit 'any'.
|
||||
@@ -77,6 +77,6 @@ var m = {
|
||||
"2": 2,
|
||||
"Okay that's enough for today.": NaN
|
||||
};
|
||||
var mResult1 = m[0 /* emu */];
|
||||
var mResult2 = m[MyEmusEnum[0 /* emu */]];
|
||||
var mResult1 = m[MyEmusEnum.emu];
|
||||
var mResult2 = m[MyEmusEnum[MyEmusEnum.emu]];
|
||||
var mResult3 = m[hi];
|
||||
|
||||
@@ -56,11 +56,11 @@ var MyEmusEnum;
|
||||
// Should be okay; should be a string.
|
||||
var strRepresentation1 = MyEmusEnum[0];
|
||||
// Should be okay; should be a string.
|
||||
var strRepresentation2 = MyEmusEnum[0 /* emu */];
|
||||
var strRepresentation2 = MyEmusEnum[MyEmusEnum.emu];
|
||||
// Should be okay, as we suppress implicit 'any' property access checks
|
||||
var strRepresentation3 = MyEmusEnum["monehh"];
|
||||
// Should be okay; should be a MyEmusEnum
|
||||
var strRepresentation4 = 0 /* "emu" */;
|
||||
var strRepresentation4 = MyEmusEnum["emu"];
|
||||
// Should be okay, as we suppress implicit 'any' property access checks
|
||||
var x = {}["hi"];
|
||||
// Should be okay, as we suppress implicit 'any' property access checks
|
||||
@@ -76,6 +76,6 @@ var m = {
|
||||
"2": 2,
|
||||
"Okay that's enough for today.": NaN
|
||||
};
|
||||
var mResult1 = m[0 /* emu */];
|
||||
var mResult2 = m[MyEmusEnum[0 /* emu */]];
|
||||
var mResult1 = m[MyEmusEnum.emu];
|
||||
var mResult2 = m[MyEmusEnum[MyEmusEnum.emu]];
|
||||
var mResult3 = m[hi];
|
||||
|
||||
@@ -139,8 +139,8 @@ var E;
|
||||
})(E || (E = {}));
|
||||
var r13 = true ? E : null;
|
||||
var r13 = true ? null : E;
|
||||
var r14 = true ? 0 /* A */ : null;
|
||||
var r14 = true ? null : 0 /* A */;
|
||||
var r14 = true ? E.A : null;
|
||||
var r14 = true ? null : E.A;
|
||||
function f() { }
|
||||
var f;
|
||||
(function (f) {
|
||||
|
||||
@@ -87,7 +87,7 @@ var E;
|
||||
(function (E) {
|
||||
E[E["A"] = 0] = "A";
|
||||
})(E || (E = {}));
|
||||
var b = { foo: 0 /* A */ };
|
||||
var b = { foo: E.A };
|
||||
function foo5(x) { }
|
||||
function foo5b(x) { }
|
||||
function foo6(x) { }
|
||||
|
||||
@@ -34,7 +34,7 @@ var x9 = "test" + null;
|
||||
var x10 = "test" + undefined;
|
||||
var x11 = null + "test";
|
||||
var x12 = undefined + "test";
|
||||
var x13 = null + 0 /* x */;
|
||||
var x14 = undefined + 0 /* x */;
|
||||
var x15 = 0 /* x */ + null;
|
||||
var x16 = 0 /* x */ + undefined;
|
||||
var x13 = null + E.x;
|
||||
var x14 = undefined + E.x;
|
||||
var x15 = E.x + null;
|
||||
var x16 = E.x + undefined;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
(function (SignatureFlags) {
|
||||
SignatureFlags[SignatureFlags["None"] = 0] = "None";
|
||||
SignatureFlags[SignatureFlags["IsIndexer"] = 1] = "IsIndexer";
|
||||
SignatureFlags[SignatureFlags["IsStringIndexer"] = 1 << 1] = "IsStringIndexer";
|
||||
SignatureFlags[SignatureFlags["IsNumberIndexer"] = 1 << 2] = "IsNumberIndexer";
|
||||
SignatureFlags[SignatureFlags["IsStringIndexer"] = 2] = "IsStringIndexer";
|
||||
SignatureFlags[SignatureFlags["IsNumberIndexer"] = 4] = "IsNumberIndexer";
|
||||
})(exports.SignatureFlags || (exports.SignatureFlags = {}));
|
||||
var SignatureFlags = exports.SignatureFlags;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
(function (SignatureFlags) {
|
||||
SignatureFlags[SignatureFlags["None"] = 0] = "None";
|
||||
SignatureFlags[SignatureFlags["IsIndexer"] = 1] = "IsIndexer";
|
||||
SignatureFlags[SignatureFlags["IsStringIndexer"] = 1 << 1] = "IsStringIndexer";
|
||||
SignatureFlags[SignatureFlags["IsNumberIndexer"] = 1 << 2] = "IsNumberIndexer";
|
||||
SignatureFlags[SignatureFlags["IsStringIndexer"] = 2] = "IsStringIndexer";
|
||||
SignatureFlags[SignatureFlags["IsNumberIndexer"] = 4] = "IsNumberIndexer";
|
||||
})(exports.SignatureFlags || (exports.SignatureFlags = {}));
|
||||
var SignatureFlags = exports.SignatureFlags;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user