Fixing tests and baselines

This commit is contained in:
ChrisBubernak 2014-10-08 11:11:36 -07:00
parent 8286b67c09
commit 15c5c77704
30 changed files with 283 additions and 275 deletions

View file

@ -7,16 +7,16 @@ enum ENUM1 { A, B, "" };
var ResultIsNumber1 = ~ENUM1;
// enum type expressions
var ResultIsNumber2 = ~ENUM1[1];
var ResultIsNumber3 = ~(ENUM1[1] + ENUM1[2]);
var ResultIsNumber2 = ~ENUM1["A"];
var ResultIsNumber3 = ~(ENUM1.A + ENUM1["B"]);
// multiple ~ operators
var ResultIsNumber4 = ~~~(ENUM1[1] + ENUM1[2]);
var ResultIsNumber4 = ~~~(ENUM1["A"] + ENUM1.B);
// miss assignment operators
~ENUM1;
~ENUM1[1];
~ENUM1[1], ~ENUM1[2];
~ENUM1["A"];
~ENUM1.A, ~ENUM1["B"];
//// [bitwiseNotOperatorWithEnumType.js]
// ~ operator on enum type
@ -30,11 +30,11 @@ var ENUM1;
// enum type var
var ResultIsNumber1 = ~ENUM1;
// enum type expressions
var ResultIsNumber2 = ~ENUM1[1];
var ResultIsNumber3 = ~(ENUM1[1] + ENUM1[2]);
var ResultIsNumber2 = ~ENUM1["A"];
var ResultIsNumber3 = ~(0 /* A */ + ENUM1["B"]);
// multiple ~ operators
var ResultIsNumber4 = ~~~(ENUM1[1] + ENUM1[2]);
var ResultIsNumber4 = ~~~(ENUM1["A"] + 1 /* B */);
// miss assignment operators
~ENUM1;
~ENUM1[1];
~ENUM1[1], ~ENUM1[2];
~ENUM1["A"];
~0 /* A */, ~ENUM1["B"];

View file

@ -13,51 +13,54 @@ var ResultIsNumber1 = ~ENUM1;
>ENUM1 : typeof ENUM1
// enum type expressions
var ResultIsNumber2 = ~ENUM1[1];
var ResultIsNumber2 = ~ENUM1["A"];
>ResultIsNumber2 : number
>~ENUM1[1] : number
>ENUM1[1] : string
>~ENUM1["A"] : number
>ENUM1["A"] : ENUM1
>ENUM1 : typeof ENUM1
var ResultIsNumber3 = ~(ENUM1[1] + ENUM1[2]);
var ResultIsNumber3 = ~(ENUM1.A + ENUM1["B"]);
>ResultIsNumber3 : number
>~(ENUM1[1] + ENUM1[2]) : number
>(ENUM1[1] + ENUM1[2]) : string
>ENUM1[1] + ENUM1[2] : string
>ENUM1[1] : string
>~(ENUM1.A + ENUM1["B"]) : number
>(ENUM1.A + ENUM1["B"]) : number
>ENUM1.A + ENUM1["B"] : number
>ENUM1.A : ENUM1
>ENUM1 : typeof ENUM1
>ENUM1[2] : string
>A : ENUM1
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
// multiple ~ operators
var ResultIsNumber4 = ~~~(ENUM1[1] + ENUM1[2]);
var ResultIsNumber4 = ~~~(ENUM1["A"] + ENUM1.B);
>ResultIsNumber4 : number
>~~~(ENUM1[1] + ENUM1[2]) : number
>~~(ENUM1[1] + ENUM1[2]) : number
>~(ENUM1[1] + ENUM1[2]) : number
>(ENUM1[1] + ENUM1[2]) : string
>ENUM1[1] + ENUM1[2] : string
>ENUM1[1] : string
>~~~(ENUM1["A"] + ENUM1.B) : number
>~~(ENUM1["A"] + ENUM1.B) : number
>~(ENUM1["A"] + ENUM1.B) : number
>(ENUM1["A"] + ENUM1.B) : number
>ENUM1["A"] + ENUM1.B : number
>ENUM1["A"] : ENUM1
>ENUM1 : typeof ENUM1
>ENUM1[2] : string
>ENUM1.B : ENUM1
>ENUM1 : typeof ENUM1
>B : ENUM1
// miss assignment operators
~ENUM1;
>~ENUM1 : number
>ENUM1 : typeof ENUM1
~ENUM1[1];
>~ENUM1[1] : number
>ENUM1[1] : string
~ENUM1["A"];
>~ENUM1["A"] : number
>ENUM1["A"] : ENUM1
>ENUM1 : typeof ENUM1
~ENUM1[1], ~ENUM1[2];
>~ENUM1[1], ~ENUM1[2] : number
>~ENUM1[1] : number
>ENUM1[1] : string
~ENUM1.A, ~ENUM1["B"];
>~ENUM1.A, ~ENUM1["B"] : number
>~ENUM1.A : number
>ENUM1.A : ENUM1
>ENUM1 : typeof ENUM1
>~ENUM1[2] : number
>ENUM1[2] : string
>A : ENUM1
>~ENUM1["B"] : number
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1

View file

@ -1,27 +1,24 @@
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumType.ts(6,25): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumType.ts(7,23): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumType.ts(10,3): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumType.ts(7,23): error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumType.ts(12,1): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumType.ts(12,7): error TS2304: Cannot find name 'A'.
==== tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumType.ts (4 errors) ====
==== tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumType.ts (3 errors) ====
// -- operator on enum type
enum ENUM1 { A, B, "" };
// expression
var ResultIsNumber1 = --ENUM1[1];
~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber2 = ENUM1[1]--;
~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber1 = --ENUM1["A"];
var ResultIsNumber2 = ENUM1.A--;
~~~~~~~
!!! error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.
// miss assignment operator
--ENUM1[1];
~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
--ENUM1["A"];
ENUM1[1]--;
ENUM1[A]--;
~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
~
!!! error TS2304: Cannot find name 'A'.

View file

@ -4,13 +4,13 @@
enum ENUM1 { A, B, "" };
// expression
var ResultIsNumber1 = --ENUM1[1];
var ResultIsNumber2 = ENUM1[1]--;
var ResultIsNumber1 = --ENUM1["A"];
var ResultIsNumber2 = ENUM1.A--;
// miss assignment operator
--ENUM1[1];
--ENUM1["A"];
ENUM1[1]--;
ENUM1[A]--;
//// [decrementOperatorWithEnumType.js]
// -- operator on enum type
@ -22,8 +22,8 @@ var ENUM1;
})(ENUM1 || (ENUM1 = {}));
;
// expression
var ResultIsNumber1 = --ENUM1[1];
var ResultIsNumber2 = ENUM1[1]--;
var ResultIsNumber1 = --ENUM1["A"];
var ResultIsNumber2 = 0 /* A */--;
// miss assignment operator
--ENUM1[1];
ENUM1[1]--;
--ENUM1["A"];
ENUM1[A]--;

View file

@ -2,15 +2,17 @@ tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOp
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(8,25): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(10,23): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(11,23): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(14,25): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(15,23): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(14,25): error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(14,43): error TS2339: Property 'B' does not exist on type 'typeof ENUM'.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(15,23): error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(15,29): error TS2339: Property 'A' does not exist on type 'typeof ENUM'.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(18,3): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(19,3): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(21,1): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts(22,1): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
==== tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts (10 errors) ====
==== tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts (12 errors) ====
// -- operator on enum type
enum ENUM { };
@ -32,12 +34,16 @@ tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOp
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
// enum type expressions
var ResultIsNumber5 = --(ENUM[1] + ENUM[2]);
~~~~~~~~~~~~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber6 = (ENUM[1] + ENUM[2])--;
~~~~~~~~~~~~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber5 = --(ENUM["A"] + ENUM.B);
~~~~~~~~~~~~~~~~~~~~
!!! error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.
~
!!! error TS2339: Property 'B' does not exist on type 'typeof ENUM'.
var ResultIsNumber6 = (ENUM.A + ENUM["B"])--;
~~~~~~~~~~~~~~~~~~~~
!!! error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.
~
!!! error TS2339: Property 'A' does not exist on type 'typeof ENUM'.
// miss assignment operator
--ENUM;

View file

@ -12,8 +12,8 @@ var ResultIsNumber3 = ENUM--;
var ResultIsNumber4 = ENUM1--;
// enum type expressions
var ResultIsNumber5 = --(ENUM[1] + ENUM[2]);
var ResultIsNumber6 = (ENUM[1] + ENUM[2])--;
var ResultIsNumber5 = --(ENUM["A"] + ENUM.B);
var ResultIsNumber6 = (ENUM.A + ENUM["B"])--;
// miss assignment operator
--ENUM;
@ -41,8 +41,8 @@ var ResultIsNumber2 = --ENUM1;
var ResultIsNumber3 = ENUM--;
var ResultIsNumber4 = ENUM1--;
// enum type expressions
var ResultIsNumber5 = --(ENUM[1] + ENUM[2]);
var ResultIsNumber6 = (ENUM[1] + ENUM[2])--;
var ResultIsNumber5 = --(ENUM["A"] + ENUM.B);
var ResultIsNumber6 = (ENUM.A + ENUM["B"])--;
// miss assignment operator
--ENUM;
--ENUM1;

View file

@ -9,17 +9,17 @@ var ResultIsBoolean1 = delete ENUM;
var ResultIsBoolean2 = delete ENUM1;
// enum type expressions
var ResultIsBoolean3 = delete ENUM1[0];
var ResultIsBoolean4 = delete (ENUM[0] + ENUM1[1]);
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] + ENUM1[1]);
var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]);
// miss assignment operators
delete ENUM;
delete ENUM1;
delete ENUM1[1];
delete ENUM1.B;
delete ENUM, ENUM1;
//// [deleteOperatorWithEnumType.js]
@ -39,13 +39,13 @@ var ENUM1;
var ResultIsBoolean1 = delete ENUM;
var ResultIsBoolean2 = delete ENUM1;
// enum type expressions
var ResultIsBoolean3 = delete ENUM1[0];
var ResultIsBoolean4 = delete (ENUM[0] + ENUM1[1]);
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] + ENUM1[1]);
var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]);
// miss assignment operators
delete ENUM;
delete ENUM1;
delete ENUM1[1];
delete 1 /* B */;
delete ENUM, ENUM1;

View file

@ -21,20 +21,20 @@ var ResultIsBoolean2 = delete ENUM1;
>ENUM1 : typeof ENUM1
// enum type expressions
var ResultIsBoolean3 = delete ENUM1[0];
var ResultIsBoolean3 = delete ENUM1["A"];
>ResultIsBoolean3 : boolean
>delete ENUM1[0] : boolean
>ENUM1[0] : string
>delete ENUM1["A"] : boolean
>ENUM1["A"] : ENUM1
>ENUM1 : typeof ENUM1
var ResultIsBoolean4 = delete (ENUM[0] + ENUM1[1]);
var ResultIsBoolean4 = delete (ENUM[0] + ENUM1["B"]);
>ResultIsBoolean4 : boolean
>delete (ENUM[0] + ENUM1[1]) : boolean
>(ENUM[0] + ENUM1[1]) : string
>ENUM[0] + ENUM1[1] : string
>delete (ENUM[0] + ENUM1["B"]) : boolean
>(ENUM[0] + ENUM1["B"]) : string
>ENUM[0] + ENUM1["B"] : string
>ENUM[0] : string
>ENUM : typeof ENUM
>ENUM1[1] : string
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
// multiple delete operators
@ -44,16 +44,16 @@ var ResultIsBoolean5 = delete delete ENUM;
>delete ENUM : boolean
>ENUM : typeof ENUM
var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1[1]);
var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]);
>ResultIsBoolean6 : boolean
>delete delete delete (ENUM[0] + ENUM1[1]) : boolean
>delete delete (ENUM[0] + ENUM1[1]) : boolean
>delete (ENUM[0] + ENUM1[1]) : boolean
>(ENUM[0] + ENUM1[1]) : string
>ENUM[0] + ENUM1[1] : string
>delete delete delete (ENUM[0] + ENUM1["B"]) : boolean
>delete delete (ENUM[0] + ENUM1["B"]) : boolean
>delete (ENUM[0] + ENUM1["B"]) : boolean
>(ENUM[0] + ENUM1["B"]) : string
>ENUM[0] + ENUM1["B"] : string
>ENUM[0] : string
>ENUM : typeof ENUM
>ENUM1[1] : string
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
// miss assignment operators
@ -65,10 +65,11 @@ delete ENUM1;
>delete ENUM1 : boolean
>ENUM1 : typeof ENUM1
delete ENUM1[1];
>delete ENUM1[1] : boolean
>ENUM1[1] : string
delete ENUM1.B;
>delete ENUM1.B : boolean
>ENUM1.B : ENUM1
>ENUM1 : typeof ENUM1
>B : ENUM1
delete ENUM, ENUM1;
>delete ENUM, ENUM1 : typeof ENUM1

View file

@ -1,27 +1,21 @@
tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumType.ts(6,25): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumType.ts(7,23): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumType.ts(10,3): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumType.ts(12,1): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumType.ts(7,23): error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.
tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumType.ts(12,1): error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.
==== tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumType.ts (4 errors) ====
==== tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumType.ts (2 errors) ====
// ++ operator on enum type
enum ENUM1 { A, B, "" };
// expression
var ResultIsNumber1 = ++ENUM1[1];
~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber2 = ENUM1[1]++;
~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber1 = ++ENUM1["B"];
var ResultIsNumber2 = ENUM1.B++;
~~~~~~~
!!! error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.
// miss assignment operator
++ENUM1[1];
~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
++ENUM1["B"];
ENUM1[1]++;
~~~~~~~~
!!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type.
ENUM1.B++;
~~~~~~~
!!! error TS2357: The operand of an increment or decrement operator must be a variable, property or indexer.

View file

@ -4,13 +4,13 @@
enum ENUM1 { A, B, "" };
// expression
var ResultIsNumber1 = ++ENUM1[1];
var ResultIsNumber2 = ENUM1[1]++;
var ResultIsNumber1 = ++ENUM1["B"];
var ResultIsNumber2 = ENUM1.B++;
// miss assignment operator
++ENUM1[1];
++ENUM1["B"];
ENUM1[1]++;
ENUM1.B++;
//// [incrementOperatorWithEnumType.js]
// ++ operator on enum type
@ -22,8 +22,8 @@ var ENUM1;
})(ENUM1 || (ENUM1 = {}));
;
// expression
var ResultIsNumber1 = ++ENUM1[1];
var ResultIsNumber2 = ENUM1[1]++;
var ResultIsNumber1 = ++ENUM1["B"];
var ResultIsNumber2 = 1 /* B */++;
// miss assignment operator
++ENUM1[1];
ENUM1[1]++;
++ENUM1["B"];
1 /* B */++;

View file

@ -8,17 +8,17 @@ enum ENUM1 { };
var ResultIsBoolean1 = !ENUM;
// enum type expressions
var ResultIsBoolean2 = !ENUM[1];
var ResultIsBoolean3 = !(ENUM[1] + ENUM[2]);
var ResultIsBoolean2 = !ENUM["B"];
var ResultIsBoolean3 = !(ENUM.B + ENUM["C"]);
// multiple ! operators
var ResultIsBoolean4 = !!ENUM;
var ResultIsBoolean5 = !!!(ENUM[1] + ENUM[2]);
var ResultIsBoolean5 = !!!(ENUM["B"] + ENUM.C);
// miss assignment operators
!ENUM;
!ENUM1;
!ENUM[1];
!ENUM.B;
!ENUM, ENUM1;
//// [logicalNotOperatorWithEnumType.js]
@ -37,13 +37,13 @@ var ENUM1;
// enum type var
var ResultIsBoolean1 = !ENUM;
// enum type expressions
var ResultIsBoolean2 = !ENUM[1];
var ResultIsBoolean3 = !(ENUM[1] + ENUM[2]);
var ResultIsBoolean2 = !ENUM["B"];
var ResultIsBoolean3 = !(1 /* B */ + ENUM["C"]);
// multiple ! operators
var ResultIsBoolean4 = !!ENUM;
var ResultIsBoolean5 = !!!(ENUM[1] + ENUM[2]);
var ResultIsBoolean5 = !!!(ENUM["B"] + 2 /* C */);
// miss assignment operators
!ENUM;
!ENUM1;
!ENUM[1];
!1 /* B */;
!ENUM, ENUM1;

View file

@ -17,20 +17,21 @@ var ResultIsBoolean1 = !ENUM;
>ENUM : typeof ENUM
// enum type expressions
var ResultIsBoolean2 = !ENUM[1];
var ResultIsBoolean2 = !ENUM["B"];
>ResultIsBoolean2 : boolean
>!ENUM[1] : boolean
>ENUM[1] : string
>!ENUM["B"] : boolean
>ENUM["B"] : ENUM
>ENUM : typeof ENUM
var ResultIsBoolean3 = !(ENUM[1] + ENUM[2]);
var ResultIsBoolean3 = !(ENUM.B + ENUM["C"]);
>ResultIsBoolean3 : boolean
>!(ENUM[1] + ENUM[2]) : boolean
>(ENUM[1] + ENUM[2]) : string
>ENUM[1] + ENUM[2] : string
>ENUM[1] : string
>!(ENUM.B + ENUM["C"]) : boolean
>(ENUM.B + ENUM["C"]) : number
>ENUM.B + ENUM["C"] : number
>ENUM.B : ENUM
>ENUM : typeof ENUM
>ENUM[2] : string
>B : ENUM
>ENUM["C"] : ENUM
>ENUM : typeof ENUM
// multiple ! operators
@ -40,17 +41,18 @@ var ResultIsBoolean4 = !!ENUM;
>!ENUM : boolean
>ENUM : typeof ENUM
var ResultIsBoolean5 = !!!(ENUM[1] + ENUM[2]);
var ResultIsBoolean5 = !!!(ENUM["B"] + ENUM.C);
>ResultIsBoolean5 : boolean
>!!!(ENUM[1] + ENUM[2]) : boolean
>!!(ENUM[1] + ENUM[2]) : boolean
>!(ENUM[1] + ENUM[2]) : boolean
>(ENUM[1] + ENUM[2]) : string
>ENUM[1] + ENUM[2] : string
>ENUM[1] : string
>!!!(ENUM["B"] + ENUM.C) : boolean
>!!(ENUM["B"] + ENUM.C) : boolean
>!(ENUM["B"] + ENUM.C) : boolean
>(ENUM["B"] + ENUM.C) : number
>ENUM["B"] + ENUM.C : number
>ENUM["B"] : ENUM
>ENUM : typeof ENUM
>ENUM[2] : string
>ENUM.C : ENUM
>ENUM : typeof ENUM
>C : ENUM
// miss assignment operators
!ENUM;
@ -61,10 +63,11 @@ var ResultIsBoolean5 = !!!(ENUM[1] + ENUM[2]);
>!ENUM1 : boolean
>ENUM1 : typeof ENUM1
!ENUM[1];
>!ENUM[1] : boolean
>ENUM[1] : string
!ENUM.B;
>!ENUM.B : boolean
>ENUM.B : ENUM
>ENUM : typeof ENUM
>B : ENUM
!ENUM, ENUM1;
>!ENUM, ENUM1 : typeof ENUM1

View file

@ -8,13 +8,13 @@ enum ENUM1 { A, B, "" };
var ResultIsNumber1 = -ENUM;
// expressions
var ResultIsNumber2 = -ENUM1[1];
var ResultIsNumber3 = -(ENUM1[1] + ENUM1[2]);
var ResultIsNumber2 = -ENUM1["B"];
var ResultIsNumber3 = -(ENUM1.B + ENUM1[""]);
// miss assignment operators
-ENUM;
-ENUM1;
-ENUM1[1];
-ENUM1["B"];
-ENUM, ENUM1;
//// [negateOperatorWithEnumType.js]
@ -33,10 +33,10 @@ var ENUM1;
// enum type var
var ResultIsNumber1 = -ENUM;
// expressions
var ResultIsNumber2 = -ENUM1[1];
var ResultIsNumber3 = -(ENUM1[1] + ENUM1[2]);
var ResultIsNumber2 = -ENUM1["B"];
var ResultIsNumber3 = -(1 /* B */ + ENUM1[""]);
// miss assignment operators
-ENUM;
-ENUM1;
-ENUM1[1];
-ENUM1["B"];
-ENUM, ENUM1;

View file

@ -16,20 +16,21 @@ var ResultIsNumber1 = -ENUM;
>ENUM : typeof ENUM
// expressions
var ResultIsNumber2 = -ENUM1[1];
var ResultIsNumber2 = -ENUM1["B"];
>ResultIsNumber2 : number
>-ENUM1[1] : number
>ENUM1[1] : string
>-ENUM1["B"] : number
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
var ResultIsNumber3 = -(ENUM1[1] + ENUM1[2]);
var ResultIsNumber3 = -(ENUM1.B + ENUM1[""]);
>ResultIsNumber3 : number
>-(ENUM1[1] + ENUM1[2]) : number
>(ENUM1[1] + ENUM1[2]) : string
>ENUM1[1] + ENUM1[2] : string
>ENUM1[1] : string
>-(ENUM1.B + ENUM1[""]) : number
>(ENUM1.B + ENUM1[""]) : number
>ENUM1.B + ENUM1[""] : number
>ENUM1.B : ENUM1
>ENUM1 : typeof ENUM1
>ENUM1[2] : string
>B : ENUM1
>ENUM1[""] : ENUM1
>ENUM1 : typeof ENUM1
// miss assignment operators
@ -41,9 +42,9 @@ var ResultIsNumber3 = -(ENUM1[1] + ENUM1[2]);
>-ENUM1 : number
>ENUM1 : typeof ENUM1
-ENUM1[1];
>-ENUM1[1] : number
>ENUM1[1] : string
-ENUM1["B"];
>-ENUM1["B"] : number
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
-ENUM, ENUM1;

View file

@ -9,13 +9,13 @@ var ResultIsNumber1 = +ENUM;
var ResultIsNumber2 = +ENUM1;
// enum type expressions
var ResultIsNumber3 = +ENUM1[0];
var ResultIsNumber4 = +(ENUM[0] + ENUM1[1]);
var ResultIsNumber3 = +ENUM1["A"];
var ResultIsNumber4 = +(ENUM[0] + ENUM1["B"]);
// miss assignment operators
+ENUM;
+ENUM1;
+ENUM1[1];
+ENUM1.B;
+ENUM, ENUM1;
//// [plusOperatorWithEnumType.js]
@ -35,10 +35,10 @@ var ENUM1;
var ResultIsNumber1 = +ENUM;
var ResultIsNumber2 = +ENUM1;
// enum type expressions
var ResultIsNumber3 = +ENUM1[0];
var ResultIsNumber4 = +(ENUM[0] + ENUM1[1]);
var ResultIsNumber3 = +ENUM1["A"];
var ResultIsNumber4 = +(ENUM[0] + ENUM1["B"]);
// miss assignment operators
+ENUM;
+ENUM1;
+ENUM1[1];
+1 /* B */;
+ENUM, ENUM1;

View file

@ -21,20 +21,20 @@ var ResultIsNumber2 = +ENUM1;
>ENUM1 : typeof ENUM1
// enum type expressions
var ResultIsNumber3 = +ENUM1[0];
var ResultIsNumber3 = +ENUM1["A"];
>ResultIsNumber3 : number
>+ENUM1[0] : number
>ENUM1[0] : string
>+ENUM1["A"] : number
>ENUM1["A"] : ENUM1
>ENUM1 : typeof ENUM1
var ResultIsNumber4 = +(ENUM[0] + ENUM1[1]);
var ResultIsNumber4 = +(ENUM[0] + ENUM1["B"]);
>ResultIsNumber4 : number
>+(ENUM[0] + ENUM1[1]) : number
>(ENUM[0] + ENUM1[1]) : string
>ENUM[0] + ENUM1[1] : string
>+(ENUM[0] + ENUM1["B"]) : number
>(ENUM[0] + ENUM1["B"]) : string
>ENUM[0] + ENUM1["B"] : string
>ENUM[0] : string
>ENUM : typeof ENUM
>ENUM1[1] : string
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
// miss assignment operators
@ -46,10 +46,11 @@ var ResultIsNumber4 = +(ENUM[0] + ENUM1[1]);
>+ENUM1 : number
>ENUM1 : typeof ENUM1
+ENUM1[1];
>+ENUM1[1] : number
>ENUM1[1] : string
+ENUM1.B;
>+ENUM1.B : number
>ENUM1.B : ENUM1
>ENUM1 : typeof ENUM1
>B : ENUM1
+ENUM, ENUM1;
>+ENUM, ENUM1 : typeof ENUM1

View file

@ -9,17 +9,17 @@ var ResultIsString1 = typeof ENUM;
var ResultIsString2 = typeof ENUM1;
// enum type expressions
var ResultIsString3 = typeof ENUM1[0];
var ResultIsString4 = typeof (ENUM[0] + ENUM1[1]);
var ResultIsString3 = typeof ENUM1["A"];
var ResultIsString4 = typeof (ENUM[0] + ENUM1["B"]);
// multiple typeof operators
var ResultIsString5 = typeof typeof ENUM;
var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1[1]);
var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1.B);
// miss assignment operators
typeof ENUM;
typeof ENUM1;
typeof ENUM1[1];
typeof ENUM1["B"];
typeof ENUM, ENUM1;
// use typeof in type query
@ -44,15 +44,15 @@ var ENUM1;
var ResultIsString1 = typeof ENUM;
var ResultIsString2 = typeof ENUM1;
// enum type expressions
var ResultIsString3 = typeof ENUM1[0];
var ResultIsString4 = typeof (ENUM[0] + ENUM1[1]);
var ResultIsString3 = typeof ENUM1["A"];
var ResultIsString4 = typeof (ENUM[0] + ENUM1["B"]);
// multiple typeof operators
var ResultIsString5 = typeof typeof ENUM;
var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1[1]);
var ResultIsString6 = typeof typeof typeof (ENUM[0] + 1 /* B */);
// miss assignment operators
typeof ENUM;
typeof ENUM1;
typeof ENUM1[1];
typeof ENUM1["B"];
typeof ENUM, ENUM1;
// use typeof in type query
var z;

View file

@ -21,20 +21,20 @@ var ResultIsString2 = typeof ENUM1;
>ENUM1 : typeof ENUM1
// enum type expressions
var ResultIsString3 = typeof ENUM1[0];
var ResultIsString3 = typeof ENUM1["A"];
>ResultIsString3 : string
>typeof ENUM1[0] : string
>ENUM1[0] : string
>typeof ENUM1["A"] : string
>ENUM1["A"] : ENUM1
>ENUM1 : typeof ENUM1
var ResultIsString4 = typeof (ENUM[0] + ENUM1[1]);
var ResultIsString4 = typeof (ENUM[0] + ENUM1["B"]);
>ResultIsString4 : string
>typeof (ENUM[0] + ENUM1[1]) : string
>(ENUM[0] + ENUM1[1]) : string
>ENUM[0] + ENUM1[1] : string
>typeof (ENUM[0] + ENUM1["B"]) : string
>(ENUM[0] + ENUM1["B"]) : string
>ENUM[0] + ENUM1["B"] : string
>ENUM[0] : string
>ENUM : typeof ENUM
>ENUM1[1] : string
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
// multiple typeof operators
@ -44,17 +44,18 @@ var ResultIsString5 = typeof typeof ENUM;
>typeof ENUM : string
>ENUM : typeof ENUM
var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1[1]);
var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1.B);
>ResultIsString6 : string
>typeof typeof typeof (ENUM[0] + ENUM1[1]) : string
>typeof typeof (ENUM[0] + ENUM1[1]) : string
>typeof (ENUM[0] + ENUM1[1]) : string
>(ENUM[0] + ENUM1[1]) : string
>ENUM[0] + ENUM1[1] : string
>typeof typeof typeof (ENUM[0] + ENUM1.B) : string
>typeof typeof (ENUM[0] + ENUM1.B) : string
>typeof (ENUM[0] + ENUM1.B) : string
>(ENUM[0] + ENUM1.B) : string
>ENUM[0] + ENUM1.B : string
>ENUM[0] : string
>ENUM : typeof ENUM
>ENUM1[1] : string
>ENUM1.B : ENUM1
>ENUM1 : typeof ENUM1
>B : ENUM1
// miss assignment operators
typeof ENUM;
@ -65,9 +66,9 @@ typeof ENUM1;
>typeof ENUM1 : string
>ENUM1 : typeof ENUM1
typeof ENUM1[1];
>typeof ENUM1[1] : string
>ENUM1[1] : string
typeof ENUM1["B"];
>typeof ENUM1["B"] : string
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
typeof ENUM, ENUM1;

View file

@ -9,17 +9,17 @@ var ResultIsAny1 = void ENUM;
var ResultIsAny2 = void ENUM1;
// enum type expressions
var ResultIsAny3 = void ENUM1[0];
var ResultIsAny4 = void (ENUM[0] + ENUM1[1]);
var ResultIsAny3 = void ENUM1["A"];
var ResultIsAny4 = void (ENUM[0] + ENUM1["B"]);
// multiple void operators
var ResultIsAny5 = void void ENUM;
var ResultIsAny6 = void void void (ENUM[0] + ENUM1[1]);
var ResultIsAny6 = void void void (ENUM[0] + ENUM1.B);
// miss assignment operators
void ENUM;
void ENUM1;
void ENUM1[1];
void ENUM1["B"];
void ENUM, ENUM1;
//// [voidOperatorWithEnumType.js]
@ -39,13 +39,13 @@ var ENUM1;
var ResultIsAny1 = void ENUM;
var ResultIsAny2 = void ENUM1;
// enum type expressions
var ResultIsAny3 = void ENUM1[0];
var ResultIsAny4 = void (ENUM[0] + ENUM1[1]);
var ResultIsAny3 = void ENUM1["A"];
var ResultIsAny4 = void (ENUM[0] + ENUM1["B"]);
// multiple void operators
var ResultIsAny5 = void void ENUM;
var ResultIsAny6 = void void void (ENUM[0] + ENUM1[1]);
var ResultIsAny6 = void void void (ENUM[0] + 1 /* B */);
// miss assignment operators
void ENUM;
void ENUM1;
void ENUM1[1];
void ENUM1["B"];
void ENUM, ENUM1;

View file

@ -21,20 +21,20 @@ var ResultIsAny2 = void ENUM1;
>ENUM1 : typeof ENUM1
// enum type expressions
var ResultIsAny3 = void ENUM1[0];
var ResultIsAny3 = void ENUM1["A"];
>ResultIsAny3 : any
>void ENUM1[0] : undefined
>ENUM1[0] : string
>void ENUM1["A"] : undefined
>ENUM1["A"] : ENUM1
>ENUM1 : typeof ENUM1
var ResultIsAny4 = void (ENUM[0] + ENUM1[1]);
var ResultIsAny4 = void (ENUM[0] + ENUM1["B"]);
>ResultIsAny4 : any
>void (ENUM[0] + ENUM1[1]) : undefined
>(ENUM[0] + ENUM1[1]) : string
>ENUM[0] + ENUM1[1] : string
>void (ENUM[0] + ENUM1["B"]) : undefined
>(ENUM[0] + ENUM1["B"]) : string
>ENUM[0] + ENUM1["B"] : string
>ENUM[0] : string
>ENUM : typeof ENUM
>ENUM1[1] : string
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
// multiple void operators
@ -44,17 +44,18 @@ var ResultIsAny5 = void void ENUM;
>void ENUM : undefined
>ENUM : typeof ENUM
var ResultIsAny6 = void void void (ENUM[0] + ENUM1[1]);
var ResultIsAny6 = void void void (ENUM[0] + ENUM1.B);
>ResultIsAny6 : any
>void void void (ENUM[0] + ENUM1[1]) : undefined
>void void (ENUM[0] + ENUM1[1]) : undefined
>void (ENUM[0] + ENUM1[1]) : undefined
>(ENUM[0] + ENUM1[1]) : string
>ENUM[0] + ENUM1[1] : string
>void void void (ENUM[0] + ENUM1.B) : undefined
>void void (ENUM[0] + ENUM1.B) : undefined
>void (ENUM[0] + ENUM1.B) : undefined
>(ENUM[0] + ENUM1.B) : string
>ENUM[0] + ENUM1.B : string
>ENUM[0] : string
>ENUM : typeof ENUM
>ENUM1[1] : string
>ENUM1.B : ENUM1
>ENUM1 : typeof ENUM1
>B : ENUM1
// miss assignment operators
void ENUM;
@ -65,9 +66,9 @@ void ENUM1;
>void ENUM1 : undefined
>ENUM1 : typeof ENUM1
void ENUM1[1];
>void ENUM1[1] : undefined
>ENUM1[1] : string
void ENUM1["B"];
>void ENUM1["B"] : undefined
>ENUM1["B"] : ENUM1
>ENUM1 : typeof ENUM1
void ENUM, ENUM1;

View file

@ -6,13 +6,13 @@ enum ENUM1 { A, B, "" };
var ResultIsNumber1 = ~ENUM1;
// enum type expressions
var ResultIsNumber2 = ~ENUM1[1];
var ResultIsNumber3 = ~(ENUM1[1] + ENUM1[2]);
var ResultIsNumber2 = ~ENUM1["A"];
var ResultIsNumber3 = ~(ENUM1.A + ENUM1["B"]);
// multiple ~ operators
var ResultIsNumber4 = ~~~(ENUM1[1] + ENUM1[2]);
var ResultIsNumber4 = ~~~(ENUM1["A"] + ENUM1.B);
// miss assignment operators
~ENUM1;
~ENUM1[1];
~ENUM1[1], ~ENUM1[2];
~ENUM1["A"];
~ENUM1.A, ~ENUM1["B"];

View file

@ -3,10 +3,10 @@
enum ENUM1 { A, B, "" };
// expression
var ResultIsNumber1 = --ENUM1[1];
var ResultIsNumber2 = ENUM1[1]--;
var ResultIsNumber1 = --ENUM1["A"];
var ResultIsNumber2 = ENUM1.A--;
// miss assignment operator
--ENUM1[1];
--ENUM1["A"];
ENUM1[1]--;
ENUM1[A]--;

View file

@ -11,8 +11,8 @@ var ResultIsNumber3 = ENUM--;
var ResultIsNumber4 = ENUM1--;
// enum type expressions
var ResultIsNumber5 = --(ENUM[1] + ENUM[2]);
var ResultIsNumber6 = (ENUM[1] + ENUM[2])--;
var ResultIsNumber5 = --(ENUM["A"] + ENUM.B);
var ResultIsNumber6 = (ENUM.A + ENUM["B"])--;
// miss assignment operator
--ENUM;

View file

@ -8,15 +8,15 @@ var ResultIsBoolean1 = delete ENUM;
var ResultIsBoolean2 = delete ENUM1;
// enum type expressions
var ResultIsBoolean3 = delete ENUM1[0];
var ResultIsBoolean4 = delete (ENUM[0] + ENUM1[1]);
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] + ENUM1[1]);
var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]);
// miss assignment operators
delete ENUM;
delete ENUM1;
delete ENUM1[1];
delete ENUM1.B;
delete ENUM, ENUM1;

View file

@ -3,10 +3,10 @@
enum ENUM1 { A, B, "" };
// expression
var ResultIsNumber1 = ++ENUM1[1];
var ResultIsNumber2 = ENUM1[1]++;
var ResultIsNumber1 = ++ENUM1["B"];
var ResultIsNumber2 = ENUM1.B++;
// miss assignment operator
++ENUM1[1];
++ENUM1["B"];
ENUM1[1]++;
ENUM1.B++;

View file

@ -7,15 +7,15 @@ enum ENUM1 { };
var ResultIsBoolean1 = !ENUM;
// enum type expressions
var ResultIsBoolean2 = !ENUM[1];
var ResultIsBoolean3 = !(ENUM[1] + ENUM[2]);
var ResultIsBoolean2 = !ENUM["B"];
var ResultIsBoolean3 = !(ENUM.B + ENUM["C"]);
// multiple ! operators
var ResultIsBoolean4 = !!ENUM;
var ResultIsBoolean5 = !!!(ENUM[1] + ENUM[2]);
var ResultIsBoolean5 = !!!(ENUM["B"] + ENUM.C);
// miss assignment operators
!ENUM;
!ENUM1;
!ENUM[1];
!ENUM.B;
!ENUM, ENUM1;

View file

@ -7,11 +7,11 @@ enum ENUM1 { A, B, "" };
var ResultIsNumber1 = -ENUM;
// expressions
var ResultIsNumber2 = -ENUM1[1];
var ResultIsNumber3 = -(ENUM1[1] + ENUM1[2]);
var ResultIsNumber2 = -ENUM1["B"];
var ResultIsNumber3 = -(ENUM1.B + ENUM1[""]);
// miss assignment operators
-ENUM;
-ENUM1;
-ENUM1[1];
-ENUM1["B"];
-ENUM, ENUM1;

View file

@ -8,11 +8,11 @@ var ResultIsNumber1 = +ENUM;
var ResultIsNumber2 = +ENUM1;
// enum type expressions
var ResultIsNumber3 = +ENUM1[0];
var ResultIsNumber4 = +(ENUM[0] + ENUM1[1]);
var ResultIsNumber3 = +ENUM1["A"];
var ResultIsNumber4 = +(ENUM[0] + ENUM1["B"]);
// miss assignment operators
+ENUM;
+ENUM1;
+ENUM1[1];
+ENUM1.B;
+ENUM, ENUM1;

View file

@ -8,17 +8,17 @@ var ResultIsString1 = typeof ENUM;
var ResultIsString2 = typeof ENUM1;
// enum type expressions
var ResultIsString3 = typeof ENUM1[0];
var ResultIsString4 = typeof (ENUM[0] + ENUM1[1]);
var ResultIsString3 = typeof ENUM1["A"];
var ResultIsString4 = typeof (ENUM[0] + ENUM1["B"]);
// multiple typeof operators
var ResultIsString5 = typeof typeof ENUM;
var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1[1]);
var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1.B);
// miss assignment operators
typeof ENUM;
typeof ENUM1;
typeof ENUM1[1];
typeof ENUM1["B"];
typeof ENUM, ENUM1;
// use typeof in type query

View file

@ -8,15 +8,15 @@ var ResultIsAny1 = void ENUM;
var ResultIsAny2 = void ENUM1;
// enum type expressions
var ResultIsAny3 = void ENUM1[0];
var ResultIsAny4 = void (ENUM[0] + ENUM1[1]);
var ResultIsAny3 = void ENUM1["A"];
var ResultIsAny4 = void (ENUM[0] + ENUM1["B"]);
// multiple void operators
var ResultIsAny5 = void void ENUM;
var ResultIsAny6 = void void void (ENUM[0] + ENUM1[1]);
var ResultIsAny6 = void void void (ENUM[0] + ENUM1.B);
// miss assignment operators
void ENUM;
void ENUM1;
void ENUM1[1];
void ENUM1["B"];
void ENUM, ENUM1;