Accept new baselines (huge!)

This commit is contained in:
Anders Hejlsberg
2016-09-01 14:25:44 -07:00
parent 44e1096ea9
commit 33b81095a6
2147 changed files with 17895 additions and 13646 deletions
@@ -56,6 +56,6 @@ var p = new A.Point(0, 0); // unexpected error here, bug 840000
>A.Point : typeof A.Point
>A : typeof A
>Point : typeof A.Point
>0 : number
>0 : number
>0 : 0
>0 : 0
@@ -50,6 +50,6 @@ var p = new A.Point(0, 0); // unexpected error here, bug 840000
>A.Point : typeof A.Point
>A : typeof A
>Point : typeof A.Point
>0 : number
>0 : number
>0 : 0
>0 : 0
@@ -15,9 +15,9 @@ function Point() {
return { x: 0, y: 0 };
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
}
=== tests/cases/conformance/internalModules/DeclarationMerging/test.ts ===
@@ -11,9 +11,9 @@ class Point {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
}
module Point {
@@ -21,7 +21,7 @@ module Point {
function Origin() { return ""; }// not an error, since not exported
>Origin : () => string
>"" : string
>"" : ""
}
@@ -40,9 +40,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
}
export module Point {
@@ -50,6 +50,6 @@ module A {
function Origin() { return ""; }// not an error since not exported
>Origin : () => string
>"" : string
>"" : ""
}
}
@@ -11,9 +11,9 @@ class Point {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
}
module Point {
@@ -21,7 +21,7 @@ module Point {
var Origin = ""; // not an error, since not exported
>Origin : string
>"" : string
>"" : ""
}
@@ -40,9 +40,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
}
export module Point {
@@ -50,6 +50,6 @@ module A {
var Origin = ""; // not an error since not exported
>Origin : string
>"" : string
>"" : ""
}
}
@@ -7,5 +7,5 @@ class C {
x = 10;
>x : number
>10 : number
>10 : 10
}
@@ -2,5 +2,5 @@
for (var v of [true]) { }
>v : boolean
>[true] : boolean[]
>true : boolean
>true : true
+1 -1
View File
@@ -5,7 +5,7 @@ function foo() {
return { x: 0 };
>{ x: 0 } : { x: number; }
>x : number
>0 : number
>0 : 0
}
for (foo().x of []) {
>foo().x : number
+3 -3
View File
@@ -2,9 +2,9 @@
for (let v of ['a', 'b', 'c']) {
>v : string
>['a', 'b', 'c'] : string[]
>'a' : string
>'b' : string
>'c' : string
>'a' : "a"
>'b' : "b"
>'c' : "c"
var x = v;
>x : string
+4 -4
View File
@@ -2,9 +2,9 @@
var a = [1, 2, 3];
>a : number[]
>[1, 2, 3] : number[]
>1 : number
>2 : number
>3 : number
>1 : 1
>2 : 2
>3 : 3
for (var v of a) {
>v : number
@@ -12,5 +12,5 @@ for (var v of a) {
let a = 0;
>a : number
>0 : number
>0 : 0
}
+3 -3
View File
@@ -2,9 +2,9 @@
var a = [1, 2, 3];
>a : number[]
>[1, 2, 3] : number[]
>1 : number
>2 : number
>3 : number
>1 : 1
>2 : 2
>3 : 3
for (var v of a) {
>v : number
+3 -3
View File
@@ -2,9 +2,9 @@
for (var v of ['a', 'b', 'c'])
>v : string
>['a', 'b', 'c'] : string[]
>'a' : string
>'b' : string
>'c' : string
>'a' : "a"
>'b' : "b"
>'c' : "c"
var x = v;
>x : string
@@ -1,6 +1,6 @@
tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,6): error TS2461: Type 'string | number' is not an array type.
tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,7): error TS2322: Type 'number' is not assignable to type 'string'.
tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,14): error TS2322: Type 'string' is not assignable to type 'number'.
tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,7): error TS2322: Type '1' is not assignable to type 'string'.
tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,14): error TS2322: Type '""' is not assignable to type 'number'.
==== tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts (3 errors) ====
@@ -10,9 +10,9 @@ tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,14): error
~~~~~~~~~~~~~~~
!!! error TS2461: Type 'string | number' is not an array type.
~
!!! error TS2322: Type 'number' is not assignable to type 'string'.
!!! error TS2322: Type '1' is not assignable to type 'string'.
~
!!! error TS2322: Type 'string' is not assignable to type 'number'.
!!! error TS2322: Type '""' is not assignable to type 'number'.
a;
b;
}
+1 -1
View File
@@ -5,7 +5,7 @@ function foo() {
return { x: 0 };
>{ x: 0 } : { x: number; }
>x : number
>0 : number
>0 : 0
}
for (foo().x of []) {
>foo().x : number
@@ -1,5 +1,5 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck1.ts ===
for (var v of "") { }
>v : string
>"" : string
>"" : ""
@@ -1,7 +1,7 @@
tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck12.ts(1,17): error TS2495: Type 'number' is not an array type or a string type.
tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck12.ts(1,17): error TS2495: Type '0' is not an array type or a string type.
==== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck12.ts (1 errors) ====
for (const v of 0) { }
~
!!! error TS2495: Type 'number' is not an array type or a string type.
!!! error TS2495: Type '0' is not an array type or a string type.
@@ -2,5 +2,5 @@
for (var v of [true]) { }
>v : boolean
>[true] : boolean[]
>true : boolean
>true : true
@@ -2,8 +2,8 @@
var tuple: [string, number] = ["", 0];
>tuple : [string, number]
>["", 0] : [string, number]
>"" : string
>0 : number
>"" : ""
>0 : 0
for (var v of tuple) { }
>v : string | number
+7 -7
View File
@@ -3,13 +3,13 @@
var array = [1,2,3];
>array : number[]
>[1,2,3] : number[]
>1 : number
>2 : number
>3 : number
>1 : 1
>2 : 2
>3 : 3
var sum = 0;
>sum : number
>0 : number
>0 : 0
for (let num of array) {
>num : number
@@ -24,9 +24,9 @@ for (let num of array) {
>array = [4,5,6] : number[]
>array : number[]
>[4,5,6] : number[]
>4 : number
>5 : number
>6 : number
>4 : 4
>5 : 5
>6 : 6
}
sum += num;
@@ -3,8 +3,8 @@ enum enumdule {
>enumdule : enumdule
Red, Blue
>Red : enumdule
>Blue : enumdule
>Red : enumdule.Red
>Blue : enumdule.Blue
}
module enumdule {
@@ -25,9 +25,9 @@ var x: enumdule;
var x = enumdule.Red;
>x : enumdule
>enumdule.Red : enumdule
>enumdule.Red : enumdule.Red
>enumdule : typeof enumdule
>Red : enumdule
>Red : enumdule.Red
var y: { x: number; y: number };
>y : { x: number; y: number; }
@@ -40,6 +40,6 @@ var y = new enumdule.Point(0, 0);
>enumdule.Point : typeof enumdule.Point
>enumdule : typeof enumdule
>Point : typeof enumdule.Point
>0 : number
>0 : number
>0 : 0
>0 : 0
@@ -31,7 +31,7 @@ module A {
>Point : Point
return 1;
>1 : number
>1 : 1
}
}
}
@@ -17,9 +17,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
export class Point3d extends Point {
>Point3d : Point3d
@@ -34,11 +34,11 @@ module A {
>Point3d : Point3d
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
>z : number
>0 : number
>0 : 0
export class Line<TPoint extends Point>{
>Line : Line<TPoint>
@@ -17,9 +17,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
export class Point3d extends Point {
>Point3d : Point3d
@@ -34,11 +34,11 @@ module A {
>Point3d : Point3d
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
>z : number
>0 : number
>0 : 0
export class Line<TPoint extends Point>{
>Line : Line<TPoint>
@@ -33,9 +33,9 @@ module A {
>Line : typeof Line
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
>p : Point
}
}
@@ -33,9 +33,9 @@ module A {
>Line : typeof Line
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
>p : Point
}
}
@@ -33,9 +33,9 @@ module A {
>Line : typeof Line
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
>p : Point
}
}
@@ -17,9 +17,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
export interface Point3d extends Point {
>Point3d : Point3d
@@ -34,11 +34,11 @@ module A {
>Point3d : Point3d
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
>z : number
>0 : number
>0 : 0
export interface Line<TPoint extends Point>{
>Line : Line<TPoint>
@@ -17,9 +17,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
export interface Point3d extends Point {
>Point3d : Point3d
@@ -34,11 +34,11 @@ module A {
>Point3d : Point3d
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
>z : number
>0 : number
>0 : 0
export interface Line<TPoint extends Point>{
>Line : Line<TPoint>
@@ -18,8 +18,8 @@ module A {
>Point : Point
>new Point(0, 0) : Point
>Point : typeof Point
>0 : number
>0 : number
>0 : 0
>0 : 0
export class Line {
>Line : Line
@@ -42,9 +42,9 @@ module A {
>Line : typeof Line
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
>p : Point
}
}
@@ -15,9 +15,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
export var Unity = { start: new Point(0, 0), end: new Point(1, 0) };
>Unity : { start: Point; end: Point; }
@@ -25,12 +25,12 @@ module A {
>start : Point
>new Point(0, 0) : Point
>Point : typeof Point
>0 : number
>0 : number
>0 : 0
>0 : 0
>end : Point
>new Point(1, 0) : Point
>Point : typeof Point
>1 : number
>0 : number
>1 : 1
>0 : 0
}
@@ -18,8 +18,8 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
}
@@ -18,9 +18,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
interface Point3d extends Point {
>Point3d : Point3d
@@ -36,10 +36,10 @@ module A {
>Point3d : Point3d
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
>z : number
>0 : number
>0 : 0
}
@@ -8,9 +8,9 @@ module A {
return { x: 0, y: 0 };
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
}
}
@@ -25,9 +25,9 @@ module B {
>Origin : { x: number; y: number; }
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
}
}
@@ -15,8 +15,8 @@ enum enumdule {
>enumdule : enumdule
Red, Blue
>Red : enumdule
>Blue : enumdule
>Red : enumdule.Red
>Blue : enumdule.Blue
}
var x: enumdule;
@@ -25,9 +25,9 @@ var x: enumdule;
var x = enumdule.Red;
>x : enumdule
>enumdule.Red : enumdule
>enumdule.Red : enumdule.Red
>enumdule : typeof enumdule
>Red : enumdule
>Red : enumdule.Red
var y: { x: number; y: number };
>y : { x: number; y: number; }
@@ -40,6 +40,6 @@ var y = new enumdule.Point(0, 0);
>enumdule.Point : typeof enumdule.Point
>enumdule : typeof enumdule
>Point : typeof enumdule.Point
>0 : number
>0 : number
>0 : 0
>0 : 0
@@ -39,9 +39,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
}
=== tests/cases/conformance/internalModules/DeclarationMerging/part2.ts ===
@@ -51,7 +51,7 @@ module A {
// not a collision, since we don't export
var Origin: string = "0,0";
>Origin : string
>"0,0" : string
>"0,0" : "0,0"
export module Utils {
>Utils : typeof Utils
@@ -123,8 +123,8 @@ var p = new A.Utils.Plane(o, { x: 1, y: 1 });
>o : { x: number; y: number; }
>{ x: 1, y: 1 } : { x: number; y: number; }
>x : number
>1 : number
>1 : 1
>y : number
>1 : number
>1 : 1
@@ -55,9 +55,9 @@ module otherRoot {
>Point : Root.A.Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
export module Utils {
>Utils : typeof Utils
@@ -45,9 +45,9 @@ module A {
>Point : Point
>{ x: 0, y: 0 } : { x: number; y: number; }
>x : number
>0 : number
>0 : 0
>y : number
>0 : number
>0 : 0
export module Utils {
>Utils : typeof Utils
@@ -119,8 +119,8 @@ var p = new A.Utils.Plane(o, { x: 1, y: 1 });
>o : { x: number; y: number; }
>{ x: 1, y: 1 } : { x: number; y: number; }
>x : number
>1 : number
>1 : 1
>y : number
>1 : number
>1 : 1
@@ -1,9 +1,9 @@
=== tests/cases/conformance/expressions/typeGuards/TypeGuardWithEnumUnion.ts ===
enum Color { R, G, B }
>Color : Color
>R : Color
>G : Color
>B : Color
>R : Color.R
>G : Color.G
>B : Color.B
function f1(x: Color | string) {
>f1 : (x: string | Color) => void
@@ -1,5 +1,5 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration10_es6.ts ===
let a: number = 1
>a : number
>1 : number
>1 : 1
@@ -1,5 +1,5 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration3_es6.ts ===
const a = 1
>a : number
>1 : number
>a : 1
>1 : 1
@@ -1,5 +1,5 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration5_es6.ts ===
const a: number = 1
>a : number
>1 : number
>1 : 1
@@ -1,5 +1,5 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration8_es6.ts ===
let a = 1
>a : number
>1 : number
>1 : 1
@@ -1,15 +1,15 @@
=== tests/cases/compiler/abstractIdentifierNameStrict.ts ===
var abstract = true;
>abstract : boolean
>true : boolean
>true : true
function foo() {
>foo : () => void
"use strict";
>"use strict" : string
>"use strict" : "use strict"
var abstract = true;
>abstract : boolean
>true : boolean
>true : true
}
@@ -40,7 +40,7 @@ class C extends B {
get prop() { return "foo"; }
>prop : string
>"foo" : string
>"foo" : "foo"
set prop(v) { }
>prop : string
@@ -48,11 +48,11 @@ class C extends B {
raw = "edge";
>raw : string
>"edge" : string
>"edge" : "edge"
readonly ro = "readonly please";
>ro : string
>"readonly please" : string
>"readonly please" : "readonly please"
readonlyProp: string; // don't have to give a value, in fact
>readonlyProp : string
@@ -13,11 +13,11 @@ class Point {
>"x=" + this.x + " y=" + this.y : string
>"x=" + this.x + " y=" : string
>"x=" + this.x : string
>"x=" : string
>"x=" : "x="
>this.x : number
>this : this
>x : number
>" y=" : string
>" y=" : " y="
>this.y : number
>this : this
>y : number
@@ -48,7 +48,7 @@ class ColoredPoint extends Point {
>super.toString : () => string
>super : Point
>toString : () => string
>" color=" : string
>" color=" : " color="
>this.color : string
>this : this
>color : string
@@ -7,7 +7,7 @@ class C {
>x : number
return 1;
>1 : number
>1 : 1
}
}
@@ -26,7 +26,7 @@ var x = {
get a() { return 1 }
>a : number
>1 : number
>1 : 1
}
var y = {
@@ -1,14 +1,14 @@
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(2,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(3,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(3,55): error TS2322: Type 'string' is not assignable to type 'number'.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(3,55): error TS2322: Type '""' is not assignable to type 'number'.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(5,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(5,54): error TS2322: Type 'string' is not assignable to type 'number'.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(5,54): error TS2322: Type '""' is not assignable to type 'number'.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(6,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(8,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(9,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(9,52): error TS2322: Type 'number' is not assignable to type 'string'.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(9,52): error TS2322: Type '0' is not assignable to type 'string'.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(11,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(11,51): error TS2322: Type 'number' is not assignable to type 'string'.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(11,51): error TS2322: Type '0' is not assignable to type 'string'.
tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(12,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
@@ -21,13 +21,13 @@ tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(12,16): error TS1
~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
~~
!!! error TS2322: Type 'string' is not assignable to type 'number'.
!!! error TS2322: Type '""' is not assignable to type 'number'.
public get AnnotatedSetter_SetterLast() { return ""; }
~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
~~
!!! error TS2322: Type 'string' is not assignable to type 'number'.
!!! error TS2322: Type '""' is not assignable to type 'number'.
public set AnnotatedSetter_SetterLast(a: number) { }
~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
@@ -39,13 +39,13 @@ tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(12,16): error TS1
~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
~~~~
!!! error TS2322: Type 'number' is not assignable to type 'string'.
!!! error TS2322: Type '0' is not assignable to type 'string'.
public set AnnotatedGetter_GetterLast(aStr) { aStr = 0; }
~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
~~~~
!!! error TS2322: Type 'number' is not assignable to type 'string'.
!!! error TS2322: Type '0' is not assignable to type 'string'.
public get AnnotatedGetter_GetterLast(): string { return ""; }
~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
@@ -22,5 +22,5 @@ var kitty = a(1);
>kitty : string
>a(1) : string
>a : Bar
>1 : number
>1 : 1
@@ -13,9 +13,9 @@ class C {
}
enum E { a, b, c }
>E : E
>a : E
>b : E
>c : E
>a : E.a
>b : E.b
>c : E.c
module M { export var a }
>M : typeof M
@@ -130,9 +130,9 @@ var r15 = a + E.a;
>r15 : any
>a + E.a : any
>a : any
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var r16 = a + M;
>r16 : any
@@ -144,13 +144,13 @@ var r17 = a + '';
>r17 : string
>a + '' : string
>a : any
>'' : string
>'' : ""
var r18 = a + 123;
>r18 : any
>a + 123 : any
>a : any
>123 : number
>123 : 123
var r19 = a + { a: '' };
>r19 : any
@@ -158,7 +158,7 @@ var r19 = a + { a: '' };
>a : any
>{ a: '' } : { a: string; }
>a : string
>'' : string
>'' : ""
var r20 = a + ((a: string) => { return a });
>r20 : any
@@ -6,17 +6,17 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(25,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'boolean'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(26,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'number'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(27,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(30,11): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(31,11): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(32,11): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'number'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(30,11): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'true'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(31,11): error TS2365: Operator '+' cannot be applied to types 'true' and 'false'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(32,11): error TS2365: Operator '+' cannot be applied to types 'true' and '123'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(33,11): error TS2365: Operator '+' cannot be applied to types '{}' and '{}'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(34,11): error TS2365: Operator '+' cannot be applied to types 'number' and 'Number'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(35,11): error TS2365: Operator '+' cannot be applied to types 'number' and '() => void'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(36,11): error TS2365: Operator '+' cannot be applied to types 'number' and 'void'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(37,11): error TS2365: Operator '+' cannot be applied to types 'number' and 'typeof C'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(38,11): error TS2365: Operator '+' cannot be applied to types 'E' and 'C'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(39,11): error TS2365: Operator '+' cannot be applied to types 'E' and 'void'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(40,11): error TS2365: Operator '+' cannot be applied to types 'E' and 'typeof M'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(38,11): error TS2365: Operator '+' cannot be applied to types 'E.a' and 'C'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(39,11): error TS2365: Operator '+' cannot be applied to types 'E.a' and 'void'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(40,11): error TS2365: Operator '+' cannot be applied to types 'E.a' and 'typeof M'.
==== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts (19 errors) ====
@@ -67,13 +67,13 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe
// other cases
var r10 = a + true;
~~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'true'.
var r11 = true + false;
~~~~~~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
!!! error TS2365: Operator '+' cannot be applied to types 'true' and 'false'.
var r12 = true + 123;
~~~~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'number'.
!!! error TS2365: Operator '+' cannot be applied to types 'true' and '123'.
var r13 = {} + {};
~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types '{}' and '{}'.
@@ -91,10 +91,10 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe
!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'typeof C'.
var r18 = E.a + new C();
~~~~~~~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'C'.
!!! error TS2365: Operator '+' cannot be applied to types 'E.a' and 'C'.
var r19 = E.a + C.foo();
~~~~~~~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'void'.
!!! error TS2365: Operator '+' cannot be applied to types 'E.a' and 'void'.
var r20 = E.a + M;
~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'typeof M'.
!!! error TS2365: Operator '+' cannot be applied to types 'E.a' and 'typeof M'.
@@ -5,7 +5,7 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(15,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(16,10): error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(19,10): error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(20,10): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(20,10): error TS2365: Operator '+' cannot be applied to types 'true' and 'true'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(21,10): error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(22,11): error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(23,11): error TS2365: Operator '+' cannot be applied to types '() => void' and '() => void'.
@@ -47,7 +47,7 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe
!!! error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'.
var r8 = null + true;
~~~~~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
!!! error TS2365: Operator '+' cannot be applied to types 'true' and 'true'.
var r9 = null + { a: '' };
~~~~~~~~~~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'.
@@ -3,9 +3,9 @@
enum E { a, b, c }
>E : E
>a : E
>b : E
>c : E
>a : E.a
>b : E.b
>c : E.c
var a: any;
>a : any
@@ -44,7 +44,7 @@ var r4 = null + 1;
>r4 : number
>null + 1 : number
>null : null
>1 : number
>1 : 1
var r5 = null + c;
>r5 : number
@@ -56,17 +56,17 @@ var r6 = null + E.a;
>r6 : number
>null + E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var r7 = null + E['a'];
>r7 : number
>null + E['a'] : number
>null : null
>E['a'] : E
>E['a'] : E.a
>E : typeof E
>'a' : string
>'a' : "a"
var r8 = b + null;
>r8 : number
@@ -77,7 +77,7 @@ var r8 = b + null;
var r9 = 1 + null;
>r9 : number
>1 + null : number
>1 : number
>1 : 1
>null : null
var r10 = c + null
@@ -89,17 +89,17 @@ var r10 = c + null
var r11 = E.a + null;
>r11 : number
>E.a + null : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>null : null
var r12 = E['a'] + null;
>r12 : number
>E['a'] + null : number
>E['a'] : E
>E['a'] : E.a
>E : typeof E
>'a' : string
>'a' : "a"
>null : null
// null + string
@@ -113,7 +113,7 @@ var r14 = null + '';
>r14 : string
>null + '' : string
>null : null
>'' : string
>'' : ""
var r15 = d + null;
>r15 : string
@@ -124,6 +124,6 @@ var r15 = d + null;
var r16 = '' + null;
>r16 : string
>'' + null : string
>'' : string
>'' : ""
>null : null
@@ -1,13 +1,13 @@
=== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNumberAndEnum.ts ===
enum E { a, b }
>E : E
>a : E
>b : E
>a : E.a
>b : E.b
enum F { c, d }
>F : F
>c : F
>d : F
>c : F.c
>d : F.d
var a: number;
>a : number
@@ -48,46 +48,46 @@ var r4 = b + b;
var r5 = 0 + a;
>r5 : number
>0 + a : number
>0 : number
>0 : 0
>a : number
var r6 = E.a + 0;
>r6 : number
>E.a + 0 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>0 : number
>a : E.a
>0 : 0
var r7 = E.a + E.b;
>r7 : number
>E.a + E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var r8 = E['a'] + E['b'];
>r8 : number
>E['a'] + E['b'] : number
>E['a'] : E
>E['a'] : E.a
>E : typeof E
>'a' : string
>E['b'] : E
>'a' : "a"
>E['b'] : E.b
>E : typeof E
>'b' : string
>'b' : "b"
var r9 = E['a'] + F['c'];
>r9 : number
>E['a'] + F['c'] : number
>E['a'] : E
>E['a'] : E.a
>E : typeof E
>'a' : string
>F['c'] : F
>'a' : "a"
>F['c'] : F.c
>F : typeof F
>'c' : string
>'c' : "c"
var r10 = a + c;
>r10 : number
@@ -1,9 +1,9 @@
=== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithStringAndEveryType.ts ===
enum E { a, b, c }
>E : E
>a : E
>b : E
>c : E
>a : E.a
>b : E.b
>c : E.c
var a: any;
>a : any
@@ -129,21 +129,21 @@ var r16 = x + E.a;
>r16 : string
>x + E.a : string
>x : string
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var r17 = x + '';
>r17 : string
>x + '' : string
>x : string
>'' : string
>'' : ""
var r18 = x + 0;
>r18 : string
>x + 0 : string
>x : string
>0 : number
>0 : 0
var r19 = x + { a: '' };
>r19 : string
@@ -151,7 +151,7 @@ var r19 = x + { a: '' };
>x : string
>{ a: '' } : { a: string; }
>a : string
>'' : string
>'' : ""
var r20 = x + [];
>r20 : string
@@ -5,7 +5,7 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(15,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(16,10): error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(19,10): error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(20,10): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(20,10): error TS2365: Operator '+' cannot be applied to types 'true' and 'true'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(21,10): error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(22,11): error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(23,11): error TS2365: Operator '+' cannot be applied to types '() => void' and '() => void'.
@@ -47,7 +47,7 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe
!!! error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'.
var r8 = undefined + true;
~~~~~~~~~~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
!!! error TS2365: Operator '+' cannot be applied to types 'true' and 'true'.
var r9 = undefined + { a: '' };
~~~~~~~~~~~~~~~~~~~~~
!!! error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'.
@@ -3,9 +3,9 @@
enum E { a, b, c }
>E : E
>a : E
>b : E
>c : E
>a : E.a
>b : E.b
>c : E.c
var a: any;
>a : any
@@ -44,7 +44,7 @@ var r4 = undefined + 1;
>r4 : number
>undefined + 1 : number
>undefined : undefined
>1 : number
>1 : 1
var r5 = undefined + c;
>r5 : number
@@ -56,17 +56,17 @@ var r6 = undefined + E.a;
>r6 : number
>undefined + E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var r7 = undefined + E['a'];
>r7 : number
>undefined + E['a'] : number
>undefined : undefined
>E['a'] : E
>E['a'] : E.a
>E : typeof E
>'a' : string
>'a' : "a"
var r8 = b + undefined;
>r8 : number
@@ -77,7 +77,7 @@ var r8 = b + undefined;
var r9 = 1 + undefined;
>r9 : number
>1 + undefined : number
>1 : number
>1 : 1
>undefined : undefined
var r10 = c + undefined
@@ -89,17 +89,17 @@ var r10 = c + undefined
var r11 = E.a + undefined;
>r11 : number
>E.a + undefined : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>undefined : undefined
var r12 = E['a'] + undefined;
>r12 : number
>E['a'] + undefined : number
>E['a'] : E
>E['a'] : E.a
>E : typeof E
>'a' : string
>'a' : "a"
>undefined : undefined
// undefined + string
@@ -113,7 +113,7 @@ var r14 = undefined + '';
>r14 : string
>undefined + '' : string
>undefined : undefined
>'' : string
>'' : ""
var r15 = d + undefined;
>r15 : string
@@ -124,6 +124,6 @@ var r15 = d + undefined;
var r16 = '' + undefined;
>r16 : string
>'' + undefined : string
>'' : string
>'' : ""
>undefined : undefined
@@ -1,4 +1,4 @@
tests/cases/compiler/aliasAssignments_1.ts(3,1): error TS2322: Type 'number' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"'.
tests/cases/compiler/aliasAssignments_1.ts(3,1): error TS2322: Type '1' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"'.
tests/cases/compiler/aliasAssignments_1.ts(5,1): error TS2322: Type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"' is not assignable to type 'number'.
@@ -7,7 +7,7 @@ tests/cases/compiler/aliasAssignments_1.ts(5,1): error TS2322: Type 'typeof "tes
var x = moduleA;
x = 1; // Should be error
~
!!! error TS2322: Type 'number' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"'.
!!! error TS2322: Type '1' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"'.
var y = 1;
y = moduleA; // should be error
~
@@ -103,14 +103,14 @@ declare enum E2 {
a = 1,
>a : E2
>1 : number
>1 : 1
b,
>b : E2
c = 2,
>c : E2
>2 : number
>2 : 2
d
>d : E2
@@ -6,13 +6,13 @@ declare enum E {
a = 10,
>a : E
>10 : number
>10 : 10
b = 10 + 1,
>b : E
>10 + 1 : number
>10 : number
>1 : number
>10 : 10
>1 : 1
c = b,
>c : E
@@ -23,13 +23,13 @@ declare enum E {
>(c) + 1 : number
>(c) : E
>c : E
>1 : number
>1 : 1
e = 10 << 2 * 8,
>e : E
>10 << 2 * 8 : number
>10 : number
>10 : 10
>2 * 8 : number
>2 : number
>8 : number
>2 : 2
>8 : 8
}
@@ -4,5 +4,5 @@ declare enum E {
e = 3
>e : E
>3 : number
>3 : 3
}
@@ -4,6 +4,6 @@ declare enum E {
e = -3 // Negative
>e : E
>-3 : number
>3 : number
>-3 : -3
>3 : 3
}
@@ -4,5 +4,5 @@ declare enum E {
e = 3.3 // Decimal
>e : E
>3.3 : number
>3.3 : 3.3
}
@@ -4,5 +4,5 @@ declare enum E {
e = 0xA
>e : E
>0xA : number
>0xA : 10
}
@@ -4,6 +4,6 @@ declare enum E {
e = -0xA
>e : E
>-0xA : number
>0xA : number
>-0xA : -10
>0xA : 10
}
@@ -7,6 +7,6 @@ declare module M {
e = 3
>e : E
>3 : number
>3 : 3
}
}
@@ -5,11 +5,11 @@ declare module Foo.Bar { export var foo; };
>foo : any
Foo.Bar.foo = 5;
>Foo.Bar.foo = 5 : number
>Foo.Bar.foo = 5 : 5
>Foo.Bar.foo : any
>Foo.Bar : typeof Foo.Bar
>Foo : typeof Foo
>Bar : typeof Foo.Bar
>foo : any
>5 : number
>5 : 5
@@ -53,7 +53,7 @@ class TestClass2 {
>x : any
return 0;
>0 : number
>0 : 0
}
public foo(x: string): number;
@@ -19,8 +19,8 @@ export enum E1 {
>E1 : E1
A,B,C
>A : E1
>B : E1
>C : E1
>A : E1.A
>B : E1.B
>C : E1.C
}
@@ -49,11 +49,11 @@ export class C1 {
m1 = 42;
>m1 : number
>42 : number
>42 : 42
static s1 = true;
>s1 : boolean
>true : boolean
>true : true
}
export interface I1 {
@@ -81,8 +81,8 @@ export enum E1 {
>E1 : E1
A,B,C
>A : E1
>B : E1
>C : E1
>A : E1.A
>B : E1.B
>C : E1.C
}
@@ -8,11 +8,11 @@ class Foo {
constructor() {
this.x = 5;
>this.x = 5 : number
>this.x = 5 : 5
>this.x : number
>this : this
>x : number
>5 : number
>5 : 5
}
}
export = Foo;
+2 -2
View File
@@ -34,9 +34,9 @@ c.m(function(n) { return "hello: "+n; },18);
>function(n) { return "hello: "+n; } : (n: number) => string
>n : number
>"hello: "+n : string
>"hello: " : string
>"hello: " : "hello: "
>n : number
>18 : number
>18 : 18
@@ -14,7 +14,7 @@ var b = x('hello');
>b : any
>x('hello') : any
>x : any
>'hello' : string
>'hello' : "hello"
var c = x(x);
>c : any
@@ -24,8 +24,8 @@ var o = new Point(3, 4);
>o : any
>new Point(3, 4) : any
>Point : (x: any, y: any) => void
>3 : number
>4 : number
>3 : 3
>4 : 4
var xx = o.x;
>xx : any
@@ -246,7 +246,7 @@ module f {
export var bar = 1;
>bar : number
>1 : number
>1 : 1
}
declare function foo15(x: typeof f): typeof f;
>foo15 : { (x: typeof f): typeof f; (x: any): any; }
@@ -273,7 +273,7 @@ module CC {
export var bar = 1;
>bar : number
>1 : number
>1 : 1
}
declare function foo16(x: CC): CC;
>foo16 : { (x: CC): CC; (x: any): any; }
@@ -187,7 +187,7 @@ module f {
export var bar = 1;
>bar : number
>1 : number
>1 : 1
}
interface I15 {
>I15 : I15
@@ -210,7 +210,7 @@ module c {
export var bar = 1;
>bar : number
>1 : number
>1 : 1
}
interface I16 {
>I16 : I16
+2 -2
View File
@@ -3,11 +3,11 @@ var x;
>x : any
x.name = "hello";
>x.name = "hello" : string
>x.name = "hello" : "hello"
>x.name : any
>x : any
>name : any
>"hello" : string
>"hello" : "hello"
var z = x + x;
>z : any
@@ -12,14 +12,14 @@ var b = x['foo'];
>b : any
>x['foo'] : any
>x : any
>'foo' : string
>'foo' : "foo"
var c = x['fn']();
>c : any
>x['fn']() : any
>x['fn'] : any
>x : any
>'fn' : string
>'fn' : "fn"
var d = x.bar.baz;
>d : any
@@ -34,7 +34,7 @@ var e = x[0].foo;
>x[0].foo : any
>x[0] : any
>x : any
>0 : number
>0 : 0
>foo : any
var f = x['0'].bar;
@@ -42,6 +42,6 @@ var f = x['0'].bar;
>x['0'].bar : any
>x['0'] : any
>x : any
>'0' : string
>'0' : "0"
>bar : any
+4 -4
View File
@@ -10,7 +10,7 @@ class C {
for (var i = 0; i < arguments.length; i++) {
>i : number
>0 : number
>0 : 0
>i < arguments.length : boolean
>i : number
>arguments.length : number
@@ -34,7 +34,7 @@ c.P(1,2,3);
>c.P : (ii: number, j: number, k: number) => void
>c : C
>P : (ii: number, j: number, k: number) => void
>1 : number
>2 : number
>3 : number
>1 : 1
>2 : 2
>3 : 3
+1 -1
View File
@@ -6,5 +6,5 @@ function f() {
>x : any
>arguments[12] : any
>arguments : IArguments
>12 : number
>12 : 12
}
@@ -1,4 +1,4 @@
tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS2322: Type 'number' is not assignable to type 'IArguments'.
tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS2322: Type '10' is not assignable to type 'IArguments'.
==== tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts (1 errors) ====
@@ -6,5 +6,5 @@ tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS
function foo(a) {
arguments = 10; /// This shouldnt be of type number and result in error.
~~~~~~~~~
!!! error TS2322: Type 'number' is not assignable to type 'IArguments'.
!!! error TS2322: Type '10' is not assignable to type 'IArguments'.
}
@@ -1,5 +1,5 @@
tests/cases/compiler/arithAssignTyping.ts(3,1): error TS2364: Invalid left-hand side of assignment expression.
tests/cases/compiler/arithAssignTyping.ts(4,1): error TS2365: Operator '+=' cannot be applied to types 'typeof f' and 'number'.
tests/cases/compiler/arithAssignTyping.ts(4,1): error TS2365: Operator '+=' cannot be applied to types 'typeof f' and '1'.
tests/cases/compiler/arithAssignTyping.ts(5,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
tests/cases/compiler/arithAssignTyping.ts(6,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
tests/cases/compiler/arithAssignTyping.ts(7,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
@@ -20,7 +20,7 @@ tests/cases/compiler/arithAssignTyping.ts(14,1): error TS2362: The left-hand sid
!!! error TS2364: Invalid left-hand side of assignment expression.
f += 1; // error
~~~~~~
!!! error TS2365: Operator '+=' cannot be applied to types 'typeof f' and 'number'.
!!! error TS2365: Operator '+=' cannot be applied to types 'typeof f' and '1'.
f -= 1; // error
~
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
@@ -22,30 +22,30 @@ var ra3 = a * 0;
>ra3 : number
>a * 0 : number
>a : any
>0 : number
>0 : 0
var ra4 = 0 * a;
>ra4 : number
>0 * a : number
>0 : number
>0 : 0
>a : any
var ra5 = 0 * 0;
>ra5 : number
>0 * 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var ra6 = b * 0;
>ra6 : number
>b * 0 : number
>b : number
>0 : number
>0 : 0
var ra7 = 0 * b;
>ra7 : number
>0 * b : number
>0 : number
>0 : 0
>b : number
var ra8 = b * b;
@@ -71,30 +71,30 @@ var rb3 = a / 0;
>rb3 : number
>a / 0 : number
>a : any
>0 : number
>0 : 0
var rb4 = 0 / a;
>rb4 : number
>0 / a : number
>0 : number
>0 : 0
>a : any
var rb5 = 0 / 0;
>rb5 : number
>0 / 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var rb6 = b / 0;
>rb6 : number
>b / 0 : number
>b : number
>0 : number
>0 : 0
var rb7 = 0 / b;
>rb7 : number
>0 / b : number
>0 : number
>0 : 0
>b : number
var rb8 = b / b;
@@ -120,30 +120,30 @@ var rc3 = a % 0;
>rc3 : number
>a % 0 : number
>a : any
>0 : number
>0 : 0
var rc4 = 0 % a;
>rc4 : number
>0 % a : number
>0 : number
>0 : 0
>a : any
var rc5 = 0 % 0;
>rc5 : number
>0 % 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var rc6 = b % 0;
>rc6 : number
>b % 0 : number
>b : number
>0 : number
>0 : 0
var rc7 = 0 % b;
>rc7 : number
>0 % b : number
>0 : number
>0 : 0
>b : number
var rc8 = b % b;
@@ -169,30 +169,30 @@ var rd3 = a - 0;
>rd3 : number
>a - 0 : number
>a : any
>0 : number
>0 : 0
var rd4 = 0 - a;
>rd4 : number
>0 - a : number
>0 : number
>0 : 0
>a : any
var rd5 = 0 - 0;
>rd5 : number
>0 - 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var rd6 = b - 0;
>rd6 : number
>b - 0 : number
>b : number
>0 : number
>0 : 0
var rd7 = 0 - b;
>rd7 : number
>0 - b : number
>0 : number
>0 : 0
>b : number
var rd8 = b - b;
@@ -218,30 +218,30 @@ var re3 = a << 0;
>re3 : number
>a << 0 : number
>a : any
>0 : number
>0 : 0
var re4 = 0 << a;
>re4 : number
>0 << a : number
>0 : number
>0 : 0
>a : any
var re5 = 0 << 0;
>re5 : number
>0 << 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var re6 = b << 0;
>re6 : number
>b << 0 : number
>b : number
>0 : number
>0 : 0
var re7 = 0 << b;
>re7 : number
>0 << b : number
>0 : number
>0 : 0
>b : number
var re8 = b << b;
@@ -267,30 +267,30 @@ var rf3 = a >> 0;
>rf3 : number
>a >> 0 : number
>a : any
>0 : number
>0 : 0
var rf4 = 0 >> a;
>rf4 : number
>0 >> a : number
>0 : number
>0 : 0
>a : any
var rf5 = 0 >> 0;
>rf5 : number
>0 >> 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var rf6 = b >> 0;
>rf6 : number
>b >> 0 : number
>b : number
>0 : number
>0 : 0
var rf7 = 0 >> b;
>rf7 : number
>0 >> b : number
>0 : number
>0 : 0
>b : number
var rf8 = b >> b;
@@ -316,30 +316,30 @@ var rg3 = a >>> 0;
>rg3 : number
>a >>> 0 : number
>a : any
>0 : number
>0 : 0
var rg4 = 0 >>> a;
>rg4 : number
>0 >>> a : number
>0 : number
>0 : 0
>a : any
var rg5 = 0 >>> 0;
>rg5 : number
>0 >>> 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var rg6 = b >>> 0;
>rg6 : number
>b >>> 0 : number
>b : number
>0 : number
>0 : 0
var rg7 = 0 >>> b;
>rg7 : number
>0 >>> b : number
>0 : number
>0 : 0
>b : number
var rg8 = b >>> b;
@@ -365,30 +365,30 @@ var rh3 = a & 0;
>rh3 : number
>a & 0 : number
>a : any
>0 : number
>0 : 0
var rh4 = 0 & a;
>rh4 : number
>0 & a : number
>0 : number
>0 : 0
>a : any
var rh5 = 0 & 0;
>rh5 : number
>0 & 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var rh6 = b & 0;
>rh6 : number
>b & 0 : number
>b : number
>0 : number
>0 : 0
var rh7 = 0 & b;
>rh7 : number
>0 & b : number
>0 : number
>0 : 0
>b : number
var rh8 = b & b;
@@ -414,30 +414,30 @@ var ri3 = a ^ 0;
>ri3 : number
>a ^ 0 : number
>a : any
>0 : number
>0 : 0
var ri4 = 0 ^ a;
>ri4 : number
>0 ^ a : number
>0 : number
>0 : 0
>a : any
var ri5 = 0 ^ 0;
>ri5 : number
>0 ^ 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var ri6 = b ^ 0;
>ri6 : number
>b ^ 0 : number
>b : number
>0 : number
>0 : 0
var ri7 = 0 ^ b;
>ri7 : number
>0 ^ b : number
>0 : number
>0 : 0
>b : number
var ri8 = b ^ b;
@@ -463,30 +463,30 @@ var rj3 = a | 0;
>rj3 : number
>a | 0 : number
>a : any
>0 : number
>0 : 0
var rj4 = 0 | a;
>rj4 : number
>0 | a : number
>0 : number
>0 : 0
>a : any
var rj5 = 0 | 0;
>rj5 : number
>0 | 0 : number
>0 : number
>0 : number
>0 : 0
>0 : 0
var rj6 = b | 0;
>rj6 : number
>b | 0 : number
>b : number
>0 : number
>0 : 0
var rj7 = 0 | b;
>rj7 : number
>0 | b : number
>0 : number
>0 : 0
>b : number
var rj8 = b | b;
@@ -5,10 +5,10 @@ enum E {
>E : E
a,
>a : E
>a : E.a
b
>b : E
>b : E.b
}
var a: any;
@@ -55,60 +55,60 @@ var ra5 = b * c;
var ra6 = E.a * a;
>ra6 : number
>E.a * a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var ra7 = E.a * b;
>ra7 : number
>E.a * b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var ra8 = E.a * E.b;
>ra8 : number
>E.a * E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ra9 = E.a * 1;
>ra9 : number
>E.a * 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var ra10 = a * E.b;
>ra10 : number
>a * E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ra11 = b * E.b;
>ra11 : number
>b * E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ra12 = 1 * E.b;
>ra12 : number
>1 * E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator /
var rb1 = c / a;
@@ -144,60 +144,60 @@ var rb5 = b / c;
var rb6 = E.a / a;
>rb6 : number
>E.a / a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rb7 = E.a / b;
>rb7 : number
>E.a / b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rb8 = E.a / E.b;
>rb8 : number
>E.a / E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rb9 = E.a / 1;
>rb9 : number
>E.a / 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rb10 = a / E.b;
>rb10 : number
>a / E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rb11 = b / E.b;
>rb11 : number
>b / E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rb12 = 1 / E.b;
>rb12 : number
>1 / E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator %
var rc1 = c % a;
@@ -233,60 +233,60 @@ var rc5 = b % c;
var rc6 = E.a % a;
>rc6 : number
>E.a % a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rc7 = E.a % b;
>rc7 : number
>E.a % b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rc8 = E.a % E.b;
>rc8 : number
>E.a % E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rc9 = E.a % 1;
>rc9 : number
>E.a % 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rc10 = a % E.b;
>rc10 : number
>a % E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rc11 = b % E.b;
>rc11 : number
>b % E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rc12 = 1 % E.b;
>rc12 : number
>1 % E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator -
var rd1 = c - a;
@@ -322,60 +322,60 @@ var rd5 = b - c;
var rd6 = E.a - a;
>rd6 : number
>E.a - a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rd7 = E.a - b;
>rd7 : number
>E.a - b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rd8 = E.a - E.b;
>rd8 : number
>E.a - E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rd9 = E.a - 1;
>rd9 : number
>E.a - 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rd10 = a - E.b;
>rd10 : number
>a - E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rd11 = b - E.b;
>rd11 : number
>b - E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rd12 = 1 - E.b;
>rd12 : number
>1 - E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator <<
var re1 = c << a;
@@ -411,60 +411,60 @@ var re5 = b << c;
var re6 = E.a << a;
>re6 : number
>E.a << a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var re7 = E.a << b;
>re7 : number
>E.a << b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var re8 = E.a << E.b;
>re8 : number
>E.a << E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var re9 = E.a << 1;
>re9 : number
>E.a << 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var re10 = a << E.b;
>re10 : number
>a << E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var re11 = b << E.b;
>re11 : number
>b << E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var re12 = 1 << E.b;
>re12 : number
>1 << E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator >>
var rf1 = c >> a;
@@ -500,60 +500,60 @@ var rf5 = b >> c;
var rf6 = E.a >> a;
>rf6 : number
>E.a >> a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rf7 = E.a >> b;
>rf7 : number
>E.a >> b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rf8 = E.a >> E.b;
>rf8 : number
>E.a >> E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rf9 = E.a >> 1;
>rf9 : number
>E.a >> 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rf10 = a >> E.b;
>rf10 : number
>a >> E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rf11 = b >> E.b;
>rf11 : number
>b >> E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rf12 = 1 >> E.b;
>rf12 : number
>1 >> E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator >>>
var rg1 = c >>> a;
@@ -589,60 +589,60 @@ var rg5 = b >>> c;
var rg6 = E.a >>> a;
>rg6 : number
>E.a >>> a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rg7 = E.a >>> b;
>rg7 : number
>E.a >>> b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rg8 = E.a >>> E.b;
>rg8 : number
>E.a >>> E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rg9 = E.a >>> 1;
>rg9 : number
>E.a >>> 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rg10 = a >>> E.b;
>rg10 : number
>a >>> E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rg11 = b >>> E.b;
>rg11 : number
>b >>> E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rg12 = 1 >>> E.b;
>rg12 : number
>1 >>> E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator &
var rh1 = c & a;
@@ -678,60 +678,60 @@ var rh5 = b & c;
var rh6 = E.a & a;
>rh6 : number
>E.a & a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rh7 = E.a & b;
>rh7 : number
>E.a & b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rh8 = E.a & E.b;
>rh8 : number
>E.a & E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rh9 = E.a & 1;
>rh9 : number
>E.a & 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rh10 = a & E.b;
>rh10 : number
>a & E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rh11 = b & E.b;
>rh11 : number
>b & E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rh12 = 1 & E.b;
>rh12 : number
>1 & E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator ^
var ri1 = c ^ a;
@@ -767,60 +767,60 @@ var ri5 = b ^ c;
var ri6 = E.a ^ a;
>ri6 : number
>E.a ^ a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var ri7 = E.a ^ b;
>ri7 : number
>E.a ^ b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var ri8 = E.a ^ E.b;
>ri8 : number
>E.a ^ E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ri9 = E.a ^ 1;
>ri9 : number
>E.a ^ 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var ri10 = a ^ E.b;
>ri10 : number
>a ^ E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ri11 = b ^ E.b;
>ri11 : number
>b ^ E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ri12 = 1 ^ E.b;
>ri12 : number
>1 ^ E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator |
var rj1 = c | a;
@@ -856,58 +856,58 @@ var rj5 = b | c;
var rj6 = E.a | a;
>rj6 : number
>E.a | a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rj7 = E.a | b;
>rj7 : number
>E.a | b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rj8 = E.a | E.b;
>rj8 : number
>E.a | E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rj9 = E.a | 1;
>rj9 : number
>E.a | 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rj10 = a | E.b;
>rj10 : number
>a | E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rj11 = b | E.b;
>rj11 : number
>b | E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rj12 = 1 | E.b;
>rj12 : number
>1 | E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
@@ -5,19 +5,19 @@ enum E {
>E : E
a,
>a : E
>a : E.a
b
>b : E
>b : E.b
}
enum F {
>F : F
c,
>c : F
>c : F.c
d
>d : F
>d : F.d
}
var a: any;
@@ -65,60 +65,60 @@ var ra5 = b * c;
var ra6 = E.a * a;
>ra6 : number
>E.a * a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var ra7 = E.a * b;
>ra7 : number
>E.a * b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var ra8 = E.a * E.b;
>ra8 : number
>E.a * E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ra9 = E.a * 1;
>ra9 : number
>E.a * 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var ra10 = a * E.b;
>ra10 : number
>a * E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ra11 = b * E.b;
>ra11 : number
>b * E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ra12 = 1 * E.b;
>ra12 : number
>1 * E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator /
var rb1 = c / a;
@@ -154,60 +154,60 @@ var rb5 = b / c;
var rb6 = E.a / a;
>rb6 : number
>E.a / a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rb7 = E.a / b;
>rb7 : number
>E.a / b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rb8 = E.a / E.b;
>rb8 : number
>E.a / E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rb9 = E.a / 1;
>rb9 : number
>E.a / 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rb10 = a / E.b;
>rb10 : number
>a / E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rb11 = b / E.b;
>rb11 : number
>b / E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rb12 = 1 / E.b;
>rb12 : number
>1 / E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator %
var rc1 = c % a;
@@ -243,60 +243,60 @@ var rc5 = b % c;
var rc6 = E.a % a;
>rc6 : number
>E.a % a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rc7 = E.a % b;
>rc7 : number
>E.a % b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rc8 = E.a % E.b;
>rc8 : number
>E.a % E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rc9 = E.a % 1;
>rc9 : number
>E.a % 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rc10 = a % E.b;
>rc10 : number
>a % E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rc11 = b % E.b;
>rc11 : number
>b % E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rc12 = 1 % E.b;
>rc12 : number
>1 % E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator -
var rd1 = c - a;
@@ -332,60 +332,60 @@ var rd5 = b - c;
var rd6 = E.a - a;
>rd6 : number
>E.a - a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rd7 = E.a - b;
>rd7 : number
>E.a - b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rd8 = E.a - E.b;
>rd8 : number
>E.a - E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rd9 = E.a - 1;
>rd9 : number
>E.a - 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rd10 = a - E.b;
>rd10 : number
>a - E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rd11 = b - E.b;
>rd11 : number
>b - E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rd12 = 1 - E.b;
>rd12 : number
>1 - E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator <<
var re1 = c << a;
@@ -421,60 +421,60 @@ var re5 = b << c;
var re6 = E.a << a;
>re6 : number
>E.a << a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var re7 = E.a << b;
>re7 : number
>E.a << b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var re8 = E.a << E.b;
>re8 : number
>E.a << E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var re9 = E.a << 1;
>re9 : number
>E.a << 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var re10 = a << E.b;
>re10 : number
>a << E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var re11 = b << E.b;
>re11 : number
>b << E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var re12 = 1 << E.b;
>re12 : number
>1 << E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator >>
var rf1 = c >> a;
@@ -510,60 +510,60 @@ var rf5 = b >> c;
var rf6 = E.a >> a;
>rf6 : number
>E.a >> a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rf7 = E.a >> b;
>rf7 : number
>E.a >> b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rf8 = E.a >> E.b;
>rf8 : number
>E.a >> E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rf9 = E.a >> 1;
>rf9 : number
>E.a >> 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rf10 = a >> E.b;
>rf10 : number
>a >> E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rf11 = b >> E.b;
>rf11 : number
>b >> E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rf12 = 1 >> E.b;
>rf12 : number
>1 >> E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator >>>
var rg1 = c >>> a;
@@ -599,60 +599,60 @@ var rg5 = b >>> c;
var rg6 = E.a >>> a;
>rg6 : number
>E.a >>> a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rg7 = E.a >>> b;
>rg7 : number
>E.a >>> b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rg8 = E.a >>> E.b;
>rg8 : number
>E.a >>> E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rg9 = E.a >>> 1;
>rg9 : number
>E.a >>> 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rg10 = a >>> E.b;
>rg10 : number
>a >>> E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rg11 = b >>> E.b;
>rg11 : number
>b >>> E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rg12 = 1 >>> E.b;
>rg12 : number
>1 >>> E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator &
var rh1 = c & a;
@@ -688,60 +688,60 @@ var rh5 = b & c;
var rh6 = E.a & a;
>rh6 : number
>E.a & a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rh7 = E.a & b;
>rh7 : number
>E.a & b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rh8 = E.a & E.b;
>rh8 : number
>E.a & E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rh9 = E.a & 1;
>rh9 : number
>E.a & 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rh10 = a & E.b;
>rh10 : number
>a & E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rh11 = b & E.b;
>rh11 : number
>b & E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rh12 = 1 & E.b;
>rh12 : number
>1 & E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator ^
var ri1 = c ^ a;
@@ -777,60 +777,60 @@ var ri5 = b ^ c;
var ri6 = E.a ^ a;
>ri6 : number
>E.a ^ a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var ri7 = E.a ^ b;
>ri7 : number
>E.a ^ b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var ri8 = E.a ^ E.b;
>ri8 : number
>E.a ^ E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ri9 = E.a ^ 1;
>ri9 : number
>E.a ^ 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var ri10 = a ^ E.b;
>ri10 : number
>a ^ E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ri11 = b ^ E.b;
>ri11 : number
>b ^ E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var ri12 = 1 ^ E.b;
>ri12 : number
>1 ^ E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
// operator |
var rj1 = c | a;
@@ -866,58 +866,58 @@ var rj5 = b | c;
var rj6 = E.a | a;
>rj6 : number
>E.a | a : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>a : any
var rj7 = E.a | b;
>rj7 : number
>E.a | b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
>b : number
var rj8 = E.a | E.b;
>rj8 : number
>E.a | E.b : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>E.b : E
>a : E.a
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rj9 = E.a | 1;
>rj9 : number
>E.a | 1 : number
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>1 : number
>a : E.a
>1 : 1
var rj10 = a | E.b;
>rj10 : number
>a | E.b : number
>a : any
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rj11 = b | E.b;
>rj11 : number
>b | E.b : number
>b : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
var rj12 = 1 | E.b;
>rj12 : number
>1 | E.b : number
>1 : number
>E.b : E
>1 : 1
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
@@ -6,10 +6,10 @@ enum E {
>E : E
a,
>a : E
>a : E.a
b
>b : E
>b : E.b
}
var a: any;
@@ -35,15 +35,15 @@ var ra3 = null * 1;
>ra3 : number
>null * 1 : number
>null : null
>1 : number
>1 : 1
var ra4 = null * E.a;
>ra4 : number
>null * E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var ra5 = a * null;
>ra5 : number
@@ -60,15 +60,15 @@ var ra6 = b * null;
var ra7 = 0 * null;
>ra7 : number
>0 * null : number
>0 : number
>0 : 0
>null : null
var ra8 = E.b * null;
>ra8 : number
>E.b * null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
// operator /
@@ -88,15 +88,15 @@ var rb3 = null / 1;
>rb3 : number
>null / 1 : number
>null : null
>1 : number
>1 : 1
var rb4 = null / E.a;
>rb4 : number
>null / E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rb5 = a / null;
>rb5 : number
@@ -113,15 +113,15 @@ var rb6 = b / null;
var rb7 = 0 / null;
>rb7 : number
>0 / null : number
>0 : number
>0 : 0
>null : null
var rb8 = E.b / null;
>rb8 : number
>E.b / null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
// operator %
@@ -141,15 +141,15 @@ var rc3 = null % 1;
>rc3 : number
>null % 1 : number
>null : null
>1 : number
>1 : 1
var rc4 = null % E.a;
>rc4 : number
>null % E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rc5 = a % null;
>rc5 : number
@@ -166,15 +166,15 @@ var rc6 = b % null;
var rc7 = 0 % null;
>rc7 : number
>0 % null : number
>0 : number
>0 : 0
>null : null
var rc8 = E.b % null;
>rc8 : number
>E.b % null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
// operator -
@@ -194,15 +194,15 @@ var rd3 = null - 1;
>rd3 : number
>null - 1 : number
>null : null
>1 : number
>1 : 1
var rd4 = null - E.a;
>rd4 : number
>null - E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rd5 = a - null;
>rd5 : number
@@ -219,15 +219,15 @@ var rd6 = b - null;
var rd7 = 0 - null;
>rd7 : number
>0 - null : number
>0 : number
>0 : 0
>null : null
var rd8 = E.b - null;
>rd8 : number
>E.b - null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
// operator <<
@@ -247,15 +247,15 @@ var re3 = null << 1;
>re3 : number
>null << 1 : number
>null : null
>1 : number
>1 : 1
var re4 = null << E.a;
>re4 : number
>null << E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var re5 = a << null;
>re5 : number
@@ -272,15 +272,15 @@ var re6 = b << null;
var re7 = 0 << null;
>re7 : number
>0 << null : number
>0 : number
>0 : 0
>null : null
var re8 = E.b << null;
>re8 : number
>E.b << null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
// operator >>
@@ -300,15 +300,15 @@ var rf3 = null >> 1;
>rf3 : number
>null >> 1 : number
>null : null
>1 : number
>1 : 1
var rf4 = null >> E.a;
>rf4 : number
>null >> E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rf5 = a >> null;
>rf5 : number
@@ -325,15 +325,15 @@ var rf6 = b >> null;
var rf7 = 0 >> null;
>rf7 : number
>0 >> null : number
>0 : number
>0 : 0
>null : null
var rf8 = E.b >> null;
>rf8 : number
>E.b >> null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
// operator >>>
@@ -353,15 +353,15 @@ var rg3 = null >>> 1;
>rg3 : number
>null >>> 1 : number
>null : null
>1 : number
>1 : 1
var rg4 = null >>> E.a;
>rg4 : number
>null >>> E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rg5 = a >>> null;
>rg5 : number
@@ -378,15 +378,15 @@ var rg6 = b >>> null;
var rg7 = 0 >>> null;
>rg7 : number
>0 >>> null : number
>0 : number
>0 : 0
>null : null
var rg8 = E.b >>> null;
>rg8 : number
>E.b >>> null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
// operator &
@@ -406,15 +406,15 @@ var rh3 = null & 1;
>rh3 : number
>null & 1 : number
>null : null
>1 : number
>1 : 1
var rh4 = null & E.a;
>rh4 : number
>null & E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rh5 = a & null;
>rh5 : number
@@ -431,15 +431,15 @@ var rh6 = b & null;
var rh7 = 0 & null;
>rh7 : number
>0 & null : number
>0 : number
>0 : 0
>null : null
var rh8 = E.b & null;
>rh8 : number
>E.b & null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
// operator ^
@@ -459,15 +459,15 @@ var ri3 = null ^ 1;
>ri3 : number
>null ^ 1 : number
>null : null
>1 : number
>1 : 1
var ri4 = null ^ E.a;
>ri4 : number
>null ^ E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var ri5 = a ^ null;
>ri5 : number
@@ -484,15 +484,15 @@ var ri6 = b ^ null;
var ri7 = 0 ^ null;
>ri7 : number
>0 ^ null : number
>0 : number
>0 : 0
>null : null
var ri8 = E.b ^ null;
>ri8 : number
>E.b ^ null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
// operator |
@@ -512,15 +512,15 @@ var rj3 = null | 1;
>rj3 : number
>null | 1 : number
>null : null
>1 : number
>1 : 1
var rj4 = null | E.a;
>rj4 : number
>null | E.a : number
>null : null
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rj5 = a | null;
>rj5 : number
@@ -537,14 +537,14 @@ var rj6 = b | null;
var rj7 = 0 | null;
>rj7 : number
>0 | null : number
>0 : number
>0 : 0
>null : null
var rj8 = E.b | null;
>rj8 : number
>E.b | null : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>null : null
@@ -6,10 +6,10 @@ enum E {
>E : E
a,
>a : E
>a : E.a
b
>b : E
>b : E.b
}
var a: any;
@@ -35,15 +35,15 @@ var ra3 = undefined * 1;
>ra3 : number
>undefined * 1 : number
>undefined : undefined
>1 : number
>1 : 1
var ra4 = undefined * E.a;
>ra4 : number
>undefined * E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var ra5 = a * undefined;
>ra5 : number
@@ -60,15 +60,15 @@ var ra6 = b * undefined;
var ra7 = 0 * undefined;
>ra7 : number
>0 * undefined : number
>0 : number
>0 : 0
>undefined : undefined
var ra8 = E.b * undefined;
>ra8 : number
>E.b * undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
// operator /
@@ -88,15 +88,15 @@ var rb3 = undefined / 1;
>rb3 : number
>undefined / 1 : number
>undefined : undefined
>1 : number
>1 : 1
var rb4 = undefined / E.a;
>rb4 : number
>undefined / E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rb5 = a / undefined;
>rb5 : number
@@ -113,15 +113,15 @@ var rb6 = b / undefined;
var rb7 = 0 / undefined;
>rb7 : number
>0 / undefined : number
>0 : number
>0 : 0
>undefined : undefined
var rb8 = E.b / undefined;
>rb8 : number
>E.b / undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
// operator %
@@ -141,15 +141,15 @@ var rc3 = undefined % 1;
>rc3 : number
>undefined % 1 : number
>undefined : undefined
>1 : number
>1 : 1
var rc4 = undefined % E.a;
>rc4 : number
>undefined % E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rc5 = a % undefined;
>rc5 : number
@@ -166,15 +166,15 @@ var rc6 = b % undefined;
var rc7 = 0 % undefined;
>rc7 : number
>0 % undefined : number
>0 : number
>0 : 0
>undefined : undefined
var rc8 = E.b % undefined;
>rc8 : number
>E.b % undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
// operator -
@@ -194,15 +194,15 @@ var rd3 = undefined - 1;
>rd3 : number
>undefined - 1 : number
>undefined : undefined
>1 : number
>1 : 1
var rd4 = undefined - E.a;
>rd4 : number
>undefined - E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rd5 = a - undefined;
>rd5 : number
@@ -219,15 +219,15 @@ var rd6 = b - undefined;
var rd7 = 0 - undefined;
>rd7 : number
>0 - undefined : number
>0 : number
>0 : 0
>undefined : undefined
var rd8 = E.b - undefined;
>rd8 : number
>E.b - undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
// operator <<
@@ -247,15 +247,15 @@ var re3 = undefined << 1;
>re3 : number
>undefined << 1 : number
>undefined : undefined
>1 : number
>1 : 1
var re4 = undefined << E.a;
>re4 : number
>undefined << E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var re5 = a << undefined;
>re5 : number
@@ -272,15 +272,15 @@ var re6 = b << undefined;
var re7 = 0 << undefined;
>re7 : number
>0 << undefined : number
>0 : number
>0 : 0
>undefined : undefined
var re8 = E.b << undefined;
>re8 : number
>E.b << undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
// operator >>
@@ -300,15 +300,15 @@ var rf3 = undefined >> 1;
>rf3 : number
>undefined >> 1 : number
>undefined : undefined
>1 : number
>1 : 1
var rf4 = undefined >> E.a;
>rf4 : number
>undefined >> E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rf5 = a >> undefined;
>rf5 : number
@@ -325,15 +325,15 @@ var rf6 = b >> undefined;
var rf7 = 0 >> undefined;
>rf7 : number
>0 >> undefined : number
>0 : number
>0 : 0
>undefined : undefined
var rf8 = E.b >> undefined;
>rf8 : number
>E.b >> undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
// operator >>>
@@ -353,15 +353,15 @@ var rg3 = undefined >>> 1;
>rg3 : number
>undefined >>> 1 : number
>undefined : undefined
>1 : number
>1 : 1
var rg4 = undefined >>> E.a;
>rg4 : number
>undefined >>> E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rg5 = a >>> undefined;
>rg5 : number
@@ -378,15 +378,15 @@ var rg6 = b >>> undefined;
var rg7 = 0 >>> undefined;
>rg7 : number
>0 >>> undefined : number
>0 : number
>0 : 0
>undefined : undefined
var rg8 = E.b >>> undefined;
>rg8 : number
>E.b >>> undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
// operator &
@@ -406,15 +406,15 @@ var rh3 = undefined & 1;
>rh3 : number
>undefined & 1 : number
>undefined : undefined
>1 : number
>1 : 1
var rh4 = undefined & E.a;
>rh4 : number
>undefined & E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rh5 = a & undefined;
>rh5 : number
@@ -431,15 +431,15 @@ var rh6 = b & undefined;
var rh7 = 0 & undefined;
>rh7 : number
>0 & undefined : number
>0 : number
>0 : 0
>undefined : undefined
var rh8 = E.b & undefined;
>rh8 : number
>E.b & undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
// operator ^
@@ -459,15 +459,15 @@ var ri3 = undefined ^ 1;
>ri3 : number
>undefined ^ 1 : number
>undefined : undefined
>1 : number
>1 : 1
var ri4 = undefined ^ E.a;
>ri4 : number
>undefined ^ E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var ri5 = a ^ undefined;
>ri5 : number
@@ -484,15 +484,15 @@ var ri6 = b ^ undefined;
var ri7 = 0 ^ undefined;
>ri7 : number
>0 ^ undefined : number
>0 : number
>0 : 0
>undefined : undefined
var ri8 = E.b ^ undefined;
>ri8 : number
>E.b ^ undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
// operator |
@@ -512,15 +512,15 @@ var rj3 = undefined | 1;
>rj3 : number
>undefined | 1 : number
>undefined : undefined
>1 : number
>1 : 1
var rj4 = undefined | E.a;
>rj4 : number
>undefined | E.a : number
>undefined : undefined
>E.a : E
>E.a : E.a
>E : typeof E
>a : E
>a : E.a
var rj5 = a | undefined;
>rj5 : number
@@ -537,14 +537,14 @@ var rj6 = b | undefined;
var rj7 = 0 | undefined;
>rj7 : number
>0 | undefined : number
>0 : number
>0 : 0
>undefined : undefined
var rj8 = E.b | undefined;
>rj8 : number
>E.b | undefined : number
>E.b : E
>E.b : E.b
>E : typeof E
>b : E
>b : E.b
>undefined : undefined
+2 -2
View File
@@ -12,7 +12,7 @@ interface Array<T> {
var x = [''];
>x : string[]
>[''] : string[]
>'' : string
>'' : ""
var y = x.split(4);
>y : string[][]
@@ -20,7 +20,7 @@ var y = x.split(4);
>x.split : (parts: number) => string[][]
>x : string[]
>split : (parts: number) => string[][]
>4 : number
>4 : 4
var y: string[][]; // Expect no error here
>y : string[][]
@@ -40,7 +40,7 @@ module EmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>x : any
>y : boolean
>false : boolean
>false : false
>null : null
public x() {
@@ -55,9 +55,9 @@ module EmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>[4, 2][0] : number
>[4, 2] : number[]
>4 : number
>2 : number
>0 : number
>4 : 4
>2 : 2
>0 : 0
<number>(this.voidIfAny([4, 2, undefined][0]));
><number>(this.voidIfAny([4, 2, undefined][0])) : number
@@ -68,10 +68,10 @@ module EmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>[4, 2, undefined][0] : number
>[4, 2, undefined] : number[]
>4 : number
>2 : number
>4 : 4
>2 : 2
>undefined : undefined
>0 : number
>0 : 0
<number>(this.voidIfAny([undefined, 2, 4][0]));
><number>(this.voidIfAny([undefined, 2, 4][0])) : number
@@ -83,9 +83,9 @@ module EmptyTypes {
>[undefined, 2, 4][0] : number
>[undefined, 2, 4] : number[]
>undefined : undefined
>2 : number
>4 : number
>0 : number
>2 : 2
>4 : 4
>0 : 0
<number>(this.voidIfAny([null, 2, 4][0]));
><number>(this.voidIfAny([null, 2, 4][0])) : number
@@ -97,9 +97,9 @@ module EmptyTypes {
>[null, 2, 4][0] : number
>[null, 2, 4] : number[]
>null : null
>2 : number
>4 : number
>0 : number
>2 : 2
>4 : 4
>0 : 0
<number>(this.voidIfAny([2, 4, null][0]));
><number>(this.voidIfAny([2, 4, null][0])) : number
@@ -110,10 +110,10 @@ module EmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>[2, 4, null][0] : number
>[2, 4, null] : number[]
>2 : number
>4 : number
>2 : 2
>4 : 4
>null : null
>0 : number
>0 : 0
<number>(this.voidIfAny([undefined, 4, null][0]));
><number>(this.voidIfAny([undefined, 4, null][0])) : number
@@ -125,9 +125,9 @@ module EmptyTypes {
>[undefined, 4, null][0] : number
>[undefined, 4, null] : number[]
>undefined : undefined
>4 : number
>4 : 4
>null : null
>0 : number
>0 : 0
<number>(this.voidIfAny(['', "q"][0]));
><number>(this.voidIfAny(['', "q"][0])) : number
@@ -138,9 +138,9 @@ module EmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>['', "q"][0] : string
>['', "q"] : string[]
>'' : string
>"q" : string
>0 : number
>'' : ""
>"q" : "q"
>0 : 0
<number>(this.voidIfAny(['', "q", undefined][0]));
><number>(this.voidIfAny(['', "q", undefined][0])) : number
@@ -151,10 +151,10 @@ module EmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>['', "q", undefined][0] : string
>['', "q", undefined] : string[]
>'' : string
>"q" : string
>'' : ""
>"q" : "q"
>undefined : undefined
>0 : number
>0 : 0
<number>(this.voidIfAny([undefined, "q", ''][0]));
><number>(this.voidIfAny([undefined, "q", ''][0])) : number
@@ -166,9 +166,9 @@ module EmptyTypes {
>[undefined, "q", ''][0] : string
>[undefined, "q", ''] : string[]
>undefined : undefined
>"q" : string
>'' : string
>0 : number
>"q" : "q"
>'' : ""
>0 : 0
<number>(this.voidIfAny([null, "q", ''][0]));
><number>(this.voidIfAny([null, "q", ''][0])) : number
@@ -180,9 +180,9 @@ module EmptyTypes {
>[null, "q", ''][0] : string
>[null, "q", ''] : string[]
>null : null
>"q" : string
>'' : string
>0 : number
>"q" : "q"
>'' : ""
>0 : 0
<number>(this.voidIfAny(["q", '', null][0]));
><number>(this.voidIfAny(["q", '', null][0])) : number
@@ -193,10 +193,10 @@ module EmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>["q", '', null][0] : string
>["q", '', null] : string[]
>"q" : string
>'' : string
>"q" : "q"
>'' : ""
>null : null
>0 : number
>0 : 0
<number>(this.voidIfAny([undefined, '', null][0]));
><number>(this.voidIfAny([undefined, '', null][0])) : number
@@ -208,9 +208,9 @@ module EmptyTypes {
>[undefined, '', null][0] : string
>[undefined, '', null] : string[]
>undefined : undefined
>'' : string
>'' : ""
>null : null
>0 : number
>0 : 0
<number>(this.voidIfAny([[3, 4], [null]][0][0]));
><number>(this.voidIfAny([[3, 4], [null]][0][0])) : number
@@ -223,12 +223,12 @@ module EmptyTypes {
>[[3, 4], [null]][0] : number[]
>[[3, 4], [null]] : number[][]
>[3, 4] : number[]
>3 : number
>4 : number
>3 : 3
>4 : 4
>[null] : null[]
>null : null
>0 : number
>0 : number
>0 : 0
>0 : 0
var t1: { x: number; y: base; }[] = [{ x: 7, y: new derived() }, { x: 5, y: new base() }];
@@ -239,13 +239,13 @@ module EmptyTypes {
>[{ x: 7, y: new derived() }, { x: 5, y: new base() }] : { x: number; y: derived; }[]
>{ x: 7, y: new derived() } : { x: number; y: derived; }
>x : number
>7 : number
>7 : 7
>y : derived
>new derived() : derived
>derived : typeof derived
>{ x: 5, y: new base() } : { x: number; y: base; }
>x : number
>5 : number
>5 : 5
>y : base
>new base() : base
>base : typeof base
@@ -257,13 +257,13 @@ module EmptyTypes {
>base : base
>[{ x: true, y: new derived() }, { x: false, y: new base() }] : ({ x: true; y: derived; } | { x: false; y: base; })[]
>{ x: true, y: new derived() } : { x: true; y: derived; }
>x : true
>x : boolean
>true : true
>y : derived
>new derived() : derived
>derived : typeof derived
>{ x: false, y: new base() } : { x: false; y: base; }
>x : false
>x : boolean
>false : false
>y : base
>new base() : base
@@ -283,7 +283,7 @@ module EmptyTypes {
>base : typeof base
>{ x: '', y: new derived() } : { x: string; y: derived; }
>x : string
>'' : string
>'' : ""
>y : derived
>new derived() : derived
>derived : typeof derived
@@ -298,19 +298,19 @@ module EmptyTypes {
>[{ x: 0, y: 'a' }, { x: 'a', y: 'a' }, { x: anyObj, y: 'a' }] : { x: any; y: string; }[]
>{ x: 0, y: 'a' } : { x: number; y: string; }
>x : number
>0 : number
>0 : 0
>y : string
>'a' : string
>'a' : "a"
>{ x: 'a', y: 'a' } : { x: string; y: string; }
>x : string
>'a' : string
>'a' : "a"
>y : string
>'a' : string
>'a' : "a"
>{ x: anyObj, y: 'a' } : { x: any; y: string; }
>x : any
>anyObj : any
>y : string
>'a' : string
>'a' : "a"
var a2 = [{ x: anyObj, y: 'a' }, { x: 0, y: 'a' }, { x: 'a', y: 'a' }];
>a2 : { x: any; y: string; }[]
@@ -319,36 +319,36 @@ module EmptyTypes {
>x : any
>anyObj : any
>y : string
>'a' : string
>'a' : "a"
>{ x: 0, y: 'a' } : { x: number; y: string; }
>x : number
>0 : number
>0 : 0
>y : string
>'a' : string
>'a' : "a"
>{ x: 'a', y: 'a' } : { x: string; y: string; }
>x : string
>'a' : string
>'a' : "a"
>y : string
>'a' : string
>'a' : "a"
var a3 = [{ x: 0, y: 'a' }, { x: anyObj, y: 'a' }, { x: 'a', y: 'a' }];
>a3 : { x: any; y: string; }[]
>[{ x: 0, y: 'a' }, { x: anyObj, y: 'a' }, { x: 'a', y: 'a' }] : { x: any; y: string; }[]
>{ x: 0, y: 'a' } : { x: number; y: string; }
>x : number
>0 : number
>0 : 0
>y : string
>'a' : string
>'a' : "a"
>{ x: anyObj, y: 'a' } : { x: any; y: string; }
>x : any
>anyObj : any
>y : string
>'a' : string
>'a' : "a"
>{ x: 'a', y: 'a' } : { x: string; y: string; }
>x : string
>'a' : string
>'a' : "a"
>y : string
>'a' : string
>'a' : "a"
var ifaceObj: iface = null;
>ifaceObj : iface
@@ -443,7 +443,7 @@ module NonEmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>x : any
>y : boolean
>false : boolean
>false : false
>null : null
public x() {
@@ -458,9 +458,9 @@ module NonEmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>[4, 2][0] : number
>[4, 2] : number[]
>4 : number
>2 : number
>0 : number
>4 : 4
>2 : 2
>0 : 0
<number>(this.voidIfAny([4, 2, undefined][0]));
><number>(this.voidIfAny([4, 2, undefined][0])) : number
@@ -471,10 +471,10 @@ module NonEmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>[4, 2, undefined][0] : number
>[4, 2, undefined] : number[]
>4 : number
>2 : number
>4 : 4
>2 : 2
>undefined : undefined
>0 : number
>0 : 0
<number>(this.voidIfAny([undefined, 2, 4][0]));
><number>(this.voidIfAny([undefined, 2, 4][0])) : number
@@ -486,9 +486,9 @@ module NonEmptyTypes {
>[undefined, 2, 4][0] : number
>[undefined, 2, 4] : number[]
>undefined : undefined
>2 : number
>4 : number
>0 : number
>2 : 2
>4 : 4
>0 : 0
<number>(this.voidIfAny([null, 2, 4][0]));
><number>(this.voidIfAny([null, 2, 4][0])) : number
@@ -500,9 +500,9 @@ module NonEmptyTypes {
>[null, 2, 4][0] : number
>[null, 2, 4] : number[]
>null : null
>2 : number
>4 : number
>0 : number
>2 : 2
>4 : 4
>0 : 0
<number>(this.voidIfAny([2, 4, null][0]));
><number>(this.voidIfAny([2, 4, null][0])) : number
@@ -513,10 +513,10 @@ module NonEmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>[2, 4, null][0] : number
>[2, 4, null] : number[]
>2 : number
>4 : number
>2 : 2
>4 : 4
>null : null
>0 : number
>0 : 0
<number>(this.voidIfAny([undefined, 4, null][0]));
><number>(this.voidIfAny([undefined, 4, null][0])) : number
@@ -528,9 +528,9 @@ module NonEmptyTypes {
>[undefined, 4, null][0] : number
>[undefined, 4, null] : number[]
>undefined : undefined
>4 : number
>4 : 4
>null : null
>0 : number
>0 : 0
<number>(this.voidIfAny(['', "q"][0]));
><number>(this.voidIfAny(['', "q"][0])) : number
@@ -541,9 +541,9 @@ module NonEmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>['', "q"][0] : string
>['', "q"] : string[]
>'' : string
>"q" : string
>0 : number
>'' : ""
>"q" : "q"
>0 : 0
<number>(this.voidIfAny(['', "q", undefined][0]));
><number>(this.voidIfAny(['', "q", undefined][0])) : number
@@ -554,10 +554,10 @@ module NonEmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>['', "q", undefined][0] : string
>['', "q", undefined] : string[]
>'' : string
>"q" : string
>'' : ""
>"q" : "q"
>undefined : undefined
>0 : number
>0 : 0
<number>(this.voidIfAny([undefined, "q", ''][0]));
><number>(this.voidIfAny([undefined, "q", ''][0])) : number
@@ -569,9 +569,9 @@ module NonEmptyTypes {
>[undefined, "q", ''][0] : string
>[undefined, "q", ''] : string[]
>undefined : undefined
>"q" : string
>'' : string
>0 : number
>"q" : "q"
>'' : ""
>0 : 0
<number>(this.voidIfAny([null, "q", ''][0]));
><number>(this.voidIfAny([null, "q", ''][0])) : number
@@ -583,9 +583,9 @@ module NonEmptyTypes {
>[null, "q", ''][0] : string
>[null, "q", ''] : string[]
>null : null
>"q" : string
>'' : string
>0 : number
>"q" : "q"
>'' : ""
>0 : 0
<number>(this.voidIfAny(["q", '', null][0]));
><number>(this.voidIfAny(["q", '', null][0])) : number
@@ -596,10 +596,10 @@ module NonEmptyTypes {
>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
>["q", '', null][0] : string
>["q", '', null] : string[]
>"q" : string
>'' : string
>"q" : "q"
>'' : ""
>null : null
>0 : number
>0 : 0
<number>(this.voidIfAny([undefined, '', null][0]));
><number>(this.voidIfAny([undefined, '', null][0])) : number
@@ -611,9 +611,9 @@ module NonEmptyTypes {
>[undefined, '', null][0] : string
>[undefined, '', null] : string[]
>undefined : undefined
>'' : string
>'' : ""
>null : null
>0 : number
>0 : 0
<number>(this.voidIfAny([[3, 4], [null]][0][0]));
><number>(this.voidIfAny([[3, 4], [null]][0][0])) : number
@@ -626,12 +626,12 @@ module NonEmptyTypes {
>[[3, 4], [null]][0] : number[]
>[[3, 4], [null]] : number[][]
>[3, 4] : number[]
>3 : number
>4 : number
>3 : 3
>4 : 4
>[null] : null[]
>null : null
>0 : number
>0 : number
>0 : 0
>0 : 0
var t1: { x: number; y: base; }[] = [{ x: 7, y: new derived() }, { x: 5, y: new base() }];
@@ -642,13 +642,13 @@ module NonEmptyTypes {
>[{ x: 7, y: new derived() }, { x: 5, y: new base() }] : { x: number; y: base; }[]
>{ x: 7, y: new derived() } : { x: number; y: derived; }
>x : number
>7 : number
>7 : 7
>y : derived
>new derived() : derived
>derived : typeof derived
>{ x: 5, y: new base() } : { x: number; y: base; }
>x : number
>5 : number
>5 : 5
>y : base
>new base() : base
>base : typeof base
@@ -660,13 +660,13 @@ module NonEmptyTypes {
>base : base
>[{ x: true, y: new derived() }, { x: false, y: new base() }] : ({ x: true; y: derived; } | { x: false; y: base; })[]
>{ x: true, y: new derived() } : { x: true; y: derived; }
>x : true
>x : boolean
>true : true
>y : derived
>new derived() : derived
>derived : typeof derived
>{ x: false, y: new base() } : { x: false; y: base; }
>x : false
>x : boolean
>false : false
>y : base
>new base() : base
@@ -686,7 +686,7 @@ module NonEmptyTypes {
>base : typeof base
>{ x: '', y: new derived() } : { x: string; y: derived; }
>x : string
>'' : string
>'' : ""
>y : derived
>new derived() : derived
>derived : typeof derived
@@ -701,19 +701,19 @@ module NonEmptyTypes {
>[{ x: 0, y: 'a' }, { x: 'a', y: 'a' }, { x: anyObj, y: 'a' }] : { x: any; y: string; }[]
>{ x: 0, y: 'a' } : { x: number; y: string; }
>x : number
>0 : number
>0 : 0
>y : string
>'a' : string
>'a' : "a"
>{ x: 'a', y: 'a' } : { x: string; y: string; }
>x : string
>'a' : string
>'a' : "a"
>y : string
>'a' : string
>'a' : "a"
>{ x: anyObj, y: 'a' } : { x: any; y: string; }
>x : any
>anyObj : any
>y : string
>'a' : string
>'a' : "a"
var a2 = [{ x: anyObj, y: 'a' }, { x: 0, y: 'a' }, { x: 'a', y: 'a' }];
>a2 : { x: any; y: string; }[]
@@ -722,36 +722,36 @@ module NonEmptyTypes {
>x : any
>anyObj : any
>y : string
>'a' : string
>'a' : "a"
>{ x: 0, y: 'a' } : { x: number; y: string; }
>x : number
>0 : number
>0 : 0
>y : string
>'a' : string
>'a' : "a"
>{ x: 'a', y: 'a' } : { x: string; y: string; }
>x : string
>'a' : string
>'a' : "a"
>y : string
>'a' : string
>'a' : "a"
var a3 = [{ x: 0, y: 'a' }, { x: anyObj, y: 'a' }, { x: 'a', y: 'a' }];
>a3 : { x: any; y: string; }[]
>[{ x: 0, y: 'a' }, { x: anyObj, y: 'a' }, { x: 'a', y: 'a' }] : { x: any; y: string; }[]
>{ x: 0, y: 'a' } : { x: number; y: string; }
>x : number
>0 : number
>0 : 0
>y : string
>'a' : string
>'a' : "a"
>{ x: anyObj, y: 'a' } : { x: any; y: string; }
>x : any
>anyObj : any
>y : string
>'a' : string
>'a' : "a"
>{ x: 'a', y: 'a' } : { x: string; y: string; }
>x : string
>'a' : string
>'a' : "a"
>y : string
>'a' : string
>'a' : "a"
var ifaceObj: iface = null;
>ifaceObj : iface
@@ -43,12 +43,12 @@ function f([, a, , b, , , , s, , , ] = results) {
>a : string
>s[1] : string
>s : string
>1 : number
>1 : 1
b = s[2];
>b = s[2] : string
>b : string
>s[2] : string
>s : string
>2 : number
>2 : 2
}
+4 -4
View File
@@ -8,15 +8,15 @@ a.concat("hello", 'world');
>a.concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; }
>a : string[]
>concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; }
>"hello" : string
>'world' : string
>"hello" : "hello"
>'world' : "world"
a.concat('Hello');
>a.concat('Hello') : string[]
>a.concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; }
>a : string[]
>concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; }
>'Hello' : string
>'Hello' : "Hello"
var b = new Array<string>();
>b : string[]
@@ -28,5 +28,5 @@ b.concat('hello');
>b.concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; }
>b : string[]
>concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; }
>'hello' : string
>'hello' : "hello"
@@ -10,11 +10,11 @@ var x = [].concat([{ a: 1 }], [{ a: 2 }])
>[{ a: 1 }] : { a: number; }[]
>{ a: 1 } : { a: number; }
>a : number
>1 : number
>1 : 1
>[{ a: 2 }] : { a: number; }[]
>{ a: 2 } : { a: number; }
>a : number
>2 : number
>2 : 2
.map(b => b.a);
>map : <U>(callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[]
@@ -7,23 +7,23 @@ x = new Array(1);
>x : string[]
>new Array(1) : any[]
>Array : ArrayConstructor
>1 : number
>1 : 1
x = new Array('hi', 'bye');
>x = new Array('hi', 'bye') : string[]
>x : string[]
>new Array('hi', 'bye') : string[]
>Array : ArrayConstructor
>'hi' : string
>'bye' : string
>'hi' : "hi"
>'bye' : "bye"
x = new Array<string>('hi', 'bye');
>x = new Array<string>('hi', 'bye') : string[]
>x : string[]
>new Array<string>('hi', 'bye') : string[]
>Array : ArrayConstructor
>'hi' : string
>'bye' : string
>'hi' : "hi"
>'bye' : "bye"
var y: number[];
>y : number[]
@@ -33,21 +33,21 @@ y = new Array(1);
>y : number[]
>new Array(1) : any[]
>Array : ArrayConstructor
>1 : number
>1 : 1
y = new Array(1,2);
>y = new Array(1,2) : number[]
>y : number[]
>new Array(1,2) : number[]
>Array : ArrayConstructor
>1 : number
>2 : number
>1 : 1
>2 : 2
y = new Array<number>(1, 2);
>y = new Array<number>(1, 2) : number[]
>y : number[]
>new Array<number>(1, 2) : number[]
>Array : ArrayConstructor
>1 : number
>2 : number
>1 : 1
>2 : 2
+2 -2
View File
@@ -6,7 +6,7 @@ var foo = [
{ name: 'bar' },
>{ name: 'bar' } : { name: string; }
>name : string
>'bar' : string
>'bar' : "bar"
{ name: null },
>{ name: null } : { name: null; }
@@ -16,7 +16,7 @@ var foo = [
{ name: 'baz' }
>{ name: 'baz' } : { name: string; }
>name : string
>'baz' : string
>'baz' : "baz"
]
+8 -8
View File
@@ -9,18 +9,18 @@ var x = new Array(1);
>x : any[]
>new Array(1) : any[]
>Array : ArrayConstructor
>1 : number
>1 : 1
var y = [1];
>y : number[]
>[1] : number[]
>1 : number
>1 : 1
var y = [1, 2];
>y : number[]
>[1, 2] : number[]
>1 : number
>2 : number
>1 : 1
>2 : 2
var y = new Array<number>();
>y : number[]
@@ -35,18 +35,18 @@ var x2: number[] = new Array(1);
>x2 : number[]
>new Array(1) : any[]
>Array : ArrayConstructor
>1 : number
>1 : 1
var y2: number[] = [1];
>y2 : number[]
>[1] : number[]
>1 : number
>1 : 1
var y2: number[] = [1, 2];
>y2 : number[]
>[1, 2] : number[]
>1 : number
>2 : number
>1 : 1
>2 : 2
var y2: number[] = new Array<number>();
>y2 : number[]
@@ -2,6 +2,6 @@
var v30 = [1, 2];
>v30 : number[]
>[1, 2] : number[]
>1 : number
>2 : number
>1 : 1
>2 : 2
@@ -2,7 +2,7 @@
var v30 = [1, 2], v31;
>v30 : number[]
>[1, 2] : number[]
>1 : number
>2 : number
>1 : 1
>2 : 2
>v31 : any
@@ -9,28 +9,28 @@ var testArrayWithFunc = [
let x = 1;
>x : number
>1 : number
>1 : 1
},
// String comment
'1',
>'1' : string
>'1' : "1"
// Numeric comment
2,
>2 : number
>2 : 2
// Object comment
{ a: 1 },
>{ a: 1 } : { a: number; }
>a : number
>1 : number
>1 : 1
// Array comment
[1, 2, 3]
>[1, 2, 3] : number[]
>1 : number
>2 : number
>3 : number
>1 : 1
>2 : 2
>3 : 3
]
@@ -11,11 +11,11 @@ class Giraffe {
name = "Giraffe";
>name : string
>"Giraffe" : string
>"Giraffe" : "Giraffe"
neckLength = "3m";
>neckLength : string
>"3m" : string
>"3m" : "3m"
}
class Elephant {
@@ -23,11 +23,11 @@ class Elephant {
name = "Elephant";
>name : string
>"Elephant" : string
>"Elephant" : "Elephant"
trunkDiameter = "20cm";
>trunkDiameter : string
>"20cm" : string
>"20cm" : "20cm"
}
function foo(animals: IAnimal[]) { }
@@ -8,6 +8,6 @@ panic([], 'one', 'two');
>panic([], 'one', 'two') : void
>panic : (val: string[], ...opt: string[]) => void
>[] : undefined[]
>'one' : string
>'two' : string
>'one' : "one"
>'two' : "two"
@@ -5,9 +5,9 @@ function f0() {
var a = [1, 2, 3];
>a : number[]
>[1, 2, 3] : number[]
>1 : number
>2 : number
>3 : number
>1 : 1
>2 : 2
>3 : 3
var a1 = [...a];
>a1 : number[]
@@ -18,15 +18,15 @@ function f0() {
var a2 = [1, ...a];
>a2 : number[]
>[1, ...a] : number[]
>1 : number
>1 : 1
>...a : number
>a : number[]
var a3 = [1, 2, ...a];
>a3 : number[]
>[1, 2, ...a] : number[]
>1 : number
>2 : number
>1 : 1
>2 : 2
>...a : number
>a : number[]
@@ -35,33 +35,33 @@ function f0() {
>[...a, 1] : number[]
>...a : number
>a : number[]
>1 : number
>1 : 1
var a5 = [...a, 1, 2];
>a5 : number[]
>[...a, 1, 2] : number[]
>...a : number
>a : number[]
>1 : number
>2 : number
>1 : 1
>2 : 2
var a6 = [1, 2, ...a, 1, 2];
>a6 : number[]
>[1, 2, ...a, 1, 2] : number[]
>1 : number
>2 : number
>1 : 1
>2 : 2
>...a : number
>a : number[]
>1 : number
>2 : number
>1 : 1
>2 : 2
var a7 = [1, ...a, 2, ...a];
>a7 : number[]
>[1, ...a, 2, ...a] : number[]
>1 : number
>1 : 1
>...a : number
>a : number[]
>2 : number
>2 : 2
>...a : number
>a : number[]
@@ -82,17 +82,17 @@ function f1() {
var a = [1, 2, 3];
>a : number[]
>[1, 2, 3] : number[]
>1 : number
>2 : number
>3 : number
>1 : 1
>2 : 2
>3 : 3
var b = ["hello", ...a, true];
>b : (string | number | boolean)[]
>["hello", ...a, true] : (string | number | boolean)[]
>"hello" : string
>"hello" : "hello"
>...a : number
>a : number[]
>true : boolean
>true : true
var b: (string | number | boolean)[];
>b : (string | number | boolean)[]
@@ -128,6 +128,6 @@ function f2() {
>[...[5]] : number[]
>...[5] : number
>[5] : number[]
>5 : number
>5 : 5
}

Some files were not shown because too many files have changed in this diff Show More