mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Harness now prints category and code when running tests.
This commit is contained in:
@@ -820,13 +820,13 @@ module Harness {
|
||||
.split('\n')
|
||||
.map(s => s.length > 0 && s.charAt(s.length - 1) === '\r' ? s.substr(0, s.length - 1) : s)
|
||||
.filter(s => s.length > 0)
|
||||
.map(s => '!!! ' + s);
|
||||
.map(s => '!!! ' + error.category + " TS" + error.code + ": " + s);
|
||||
errLines.forEach(e => outputLines.push(e));
|
||||
|
||||
totalErrorsReported++;
|
||||
}
|
||||
|
||||
// Report glovbal errors:
|
||||
// Report global errors:
|
||||
var globalErrors = diagnostics.filter(err => !err.filename);
|
||||
globalErrors.forEach(err => outputErrorText(err));
|
||||
|
||||
@@ -917,7 +917,7 @@ module Harness {
|
||||
export function recreate(options?: { useMinimalDefaultLib: boolean; noImplicitAny: boolean; }) {
|
||||
}
|
||||
|
||||
/** The harness' compiler instance used when tests are actually run. Reseting or changing settings of this compiler instance must be done within a testcase (i.e., describe/it) */
|
||||
/** The harness' compiler instance used when tests are actually run. Reseting or changing settings of this compiler instance must be done within a test case (i.e., describe/it) */
|
||||
var harnessCompiler: HarnessCompiler;
|
||||
|
||||
/** Returns the singleton harness compiler instance for generating and running tests.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction1.ts (1 errors) ====
|
||||
var v = (a: ) => {
|
||||
~
|
||||
!!! Type expected.
|
||||
!!! error TS1110: Type expected.
|
||||
|
||||
};
|
||||
@@ -1,8 +1,8 @@
|
||||
==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction2.ts (2 errors) ====
|
||||
var v = (a: b,) => {
|
||||
~
|
||||
!!! Trailing comma not allowed.
|
||||
!!! error TS1009: Trailing comma not allowed.
|
||||
~
|
||||
!!! Cannot find name 'b'.
|
||||
!!! error TS2304: Cannot find name 'b'.
|
||||
|
||||
};
|
||||
@@ -1,10 +1,10 @@
|
||||
==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts (3 errors) ====
|
||||
var v = (a): => {
|
||||
~
|
||||
!!! ',' expected.
|
||||
!!! error TS1005: ',' expected.
|
||||
~~
|
||||
!!! ';' expected.
|
||||
!!! error TS1005: ';' expected.
|
||||
~
|
||||
!!! Cannot find name 'a'.
|
||||
!!! error TS2304: Cannot find name 'a'.
|
||||
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
==== tests/cases/compiler/ArrowFunctionExpression1.ts (1 errors) ====
|
||||
var v = (public x: string) => { };
|
||||
~~~~~~~~~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
+5
-5
@@ -10,7 +10,7 @@
|
||||
module clodule1 {
|
||||
function f(x: T) { }
|
||||
~
|
||||
!!! Cannot find name 'T'.
|
||||
!!! error TS2304: Cannot find name 'T'.
|
||||
}
|
||||
|
||||
class clodule2<T>{
|
||||
@@ -22,11 +22,11 @@
|
||||
module clodule2 {
|
||||
var x: T;
|
||||
~
|
||||
!!! Cannot find name 'T'.
|
||||
!!! error TS2304: Cannot find name 'T'.
|
||||
|
||||
class D<U extends T>{
|
||||
~
|
||||
!!! Cannot find name 'T'.
|
||||
!!! error TS2304: Cannot find name 'T'.
|
||||
id: string;
|
||||
value: U;
|
||||
}
|
||||
@@ -41,7 +41,7 @@
|
||||
module clodule3 {
|
||||
export var y = { id: T };
|
||||
~
|
||||
!!! Cannot find name 'T'.
|
||||
!!! error TS2304: Cannot find name 'T'.
|
||||
}
|
||||
|
||||
class clodule4<T>{
|
||||
@@ -54,7 +54,7 @@
|
||||
class D {
|
||||
name: T;
|
||||
~
|
||||
!!! Cannot find name 'T'.
|
||||
!!! error TS2304: Cannot find name 'T'.
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
// error: duplicate identifier expected
|
||||
export function fn<T>(x: T, y: T): T {
|
||||
~~
|
||||
!!! Duplicate identifier 'fn'.
|
||||
!!! error TS2300: Duplicate identifier 'fn'.
|
||||
return x;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
// error: duplicate identifier expected
|
||||
export function fn<T>(x: T, y: T): T {
|
||||
~~
|
||||
!!! Duplicate identifier 'fn'.
|
||||
!!! error TS2300: Duplicate identifier 'fn'.
|
||||
return x;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@
|
||||
export function fn<T>(x: T, y: T): number {
|
||||
return clodule.sfn('a');
|
||||
~~~~~~~~~~~
|
||||
!!! Property 'clodule.sfn' is inaccessible.
|
||||
!!! error TS2341: Property 'clodule.sfn' is inaccessible.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@
|
||||
module Point {
|
||||
export function Origin() { return null; } //expected duplicate identifier error
|
||||
~~~~~~
|
||||
!!! Duplicate identifier 'Origin'.
|
||||
!!! error TS2300: Duplicate identifier 'Origin'.
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,6 @@
|
||||
export module Point {
|
||||
export function Origin() { return ""; }//expected duplicate identifier error
|
||||
~~~~~~
|
||||
!!! Duplicate identifier 'Origin'.
|
||||
!!! error TS2300: Duplicate identifier 'Origin'.
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -8,7 +8,7 @@
|
||||
module Point {
|
||||
export var Origin = ""; //expected duplicate identifier error
|
||||
~~~~~~
|
||||
!!! Duplicate identifier 'Origin'.
|
||||
!!! error TS2300: Duplicate identifier 'Origin'.
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,6 @@
|
||||
export module Point {
|
||||
export var Origin = ""; //expected duplicate identifier error
|
||||
~~~~~~
|
||||
!!! Duplicate identifier 'Origin'.
|
||||
!!! error TS2300: Duplicate identifier 'Origin'.
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
module X.Y {
|
||||
export module Point {
|
||||
~~~~~
|
||||
!!! A module declaration cannot be in a different file from a class or function with which it is merged
|
||||
!!! error TS2433: A module declaration cannot be in a different file from a class or function with which it is merged
|
||||
export var Origin = new Point(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
class C {
|
||||
constructor();
|
||||
~~~~~~~~~~~~~~
|
||||
!!! Constructor implementation is missing.
|
||||
!!! error TS2390: Constructor implementation is missing.
|
||||
foo();
|
||||
~~~
|
||||
!!! Function implementation is missing or not immediately following the declaration.
|
||||
!!! error TS2391: Function implementation is missing or not immediately following the declaration.
|
||||
}
|
||||
@@ -2,6 +2,6 @@
|
||||
class C {
|
||||
constructor();
|
||||
~~~~~~~~~~~~~~
|
||||
!!! Constructor implementation is missing.
|
||||
!!! error TS2390: Constructor implementation is missing.
|
||||
foo() { }
|
||||
}
|
||||
@@ -3,5 +3,5 @@
|
||||
foo();
|
||||
bar() { }
|
||||
~~~
|
||||
!!! Function implementation name must be 'foo'.
|
||||
!!! error TS2389: Function implementation name must be 'foo'.
|
||||
}
|
||||
@@ -2,8 +2,8 @@
|
||||
class C {
|
||||
foo();
|
||||
~~~
|
||||
!!! Function implementation is missing or not immediately following the declaration.
|
||||
!!! error TS2391: Function implementation is missing or not immediately following the declaration.
|
||||
constructor();
|
||||
~~~~~~~~~~~~~~
|
||||
!!! Constructor implementation is missing.
|
||||
!!! error TS2390: Constructor implementation is missing.
|
||||
}
|
||||
@@ -2,6 +2,6 @@
|
||||
class C {
|
||||
foo();
|
||||
~~~
|
||||
!!! Function implementation is missing or not immediately following the declaration.
|
||||
!!! error TS2391: Function implementation is missing or not immediately following the declaration.
|
||||
constructor() { }
|
||||
}
|
||||
@@ -3,5 +3,5 @@
|
||||
0();
|
||||
1() { }
|
||||
~
|
||||
!!! Function implementation name must be '0'.
|
||||
!!! error TS2389: Function implementation name must be '0'.
|
||||
}
|
||||
@@ -3,5 +3,5 @@
|
||||
"foo"();
|
||||
"bar"() { }
|
||||
~~~~~
|
||||
!!! Function implementation name must be '"foo"'.
|
||||
!!! error TS2389: Function implementation name must be '"foo"'.
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
==== tests/cases/compiler/ClassDeclaration24.ts (1 errors) ====
|
||||
class any {
|
||||
~~~
|
||||
!!! Class name cannot be 'any'
|
||||
!!! error TS2414: Class name cannot be 'any'
|
||||
}
|
||||
@@ -6,9 +6,9 @@
|
||||
class List<U> implements IList<U> {
|
||||
data(): U;
|
||||
~~~~
|
||||
!!! Function implementation is missing or not immediately following the declaration.
|
||||
!!! error TS2391: Function implementation is missing or not immediately following the declaration.
|
||||
next(): string;
|
||||
~~~~
|
||||
!!! Function implementation is missing or not immediately following the declaration.
|
||||
!!! error TS2391: Function implementation is missing or not immediately following the declaration.
|
||||
}
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
class C {
|
||||
constructor();
|
||||
~~~~~~~~~~~~~~
|
||||
!!! Constructor implementation is missing.
|
||||
!!! error TS2390: Constructor implementation is missing.
|
||||
}
|
||||
@@ -2,5 +2,5 @@
|
||||
class C {
|
||||
foo();
|
||||
~~~
|
||||
!!! Function implementation is missing or not immediately following the declaration.
|
||||
!!! error TS2391: Function implementation is missing or not immediately following the declaration.
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
==== tests/cases/compiler/ExportAssignment7.ts (3 errors) ====
|
||||
export class C {
|
||||
~
|
||||
!!! Cannot compile external modules unless the '--module' flag is provided.
|
||||
!!! error TS1148: Cannot compile external modules unless the '--module' flag is provided.
|
||||
}
|
||||
|
||||
export = B;
|
||||
~~~~~~~~~~~
|
||||
!!! Cannot find name 'B'.
|
||||
!!! error TS2304: Cannot find name 'B'.
|
||||
~~~~~~~~~~~
|
||||
!!! An export assignment cannot be used in a module with other exported elements.
|
||||
!!! error TS2309: An export assignment cannot be used in a module with other exported elements.
|
||||
@@ -1,11 +1,11 @@
|
||||
==== tests/cases/compiler/ExportAssignment8.ts (3 errors) ====
|
||||
export = B;
|
||||
~~~~~~~~~~~
|
||||
!!! Cannot compile external modules unless the '--module' flag is provided.
|
||||
!!! error TS1148: Cannot compile external modules unless the '--module' flag is provided.
|
||||
~~~~~~~~~~~
|
||||
!!! Cannot find name 'B'.
|
||||
!!! error TS2304: Cannot find name 'B'.
|
||||
~~~~~~~~~~~
|
||||
!!! An export assignment cannot be used in a module with other exported elements.
|
||||
!!! error TS2309: An export assignment cannot be used in a module with other exported elements.
|
||||
|
||||
export class C {
|
||||
}
|
||||
+3
-3
@@ -8,11 +8,11 @@
|
||||
export var UnitSquare : {
|
||||
top: { left: Point, right: Point },
|
||||
~
|
||||
!!! ';' expected.
|
||||
!!! error TS1005: ';' expected.
|
||||
~
|
||||
!!! ';' expected.
|
||||
!!! error TS1005: ';' expected.
|
||||
bottom: { left: Point, right: Point }
|
||||
~
|
||||
!!! ';' expected.
|
||||
!!! error TS1005: ';' expected.
|
||||
} = null;
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
module A {
|
||||
export module Point {
|
||||
~~~~~
|
||||
!!! A module declaration cannot be in a different file from a class or function with which it is merged
|
||||
!!! error TS2433: A module declaration cannot be in a different file from a class or function with which it is merged
|
||||
export var Origin = { x: 0, y: 0 };
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@
|
||||
var fn: () => { x: number; y: number };
|
||||
var fn = A.Point;
|
||||
~~
|
||||
!!! Subsequent variable declarations must have the same type. Variable 'fn' must be of type '() => { x: number; y: number; }', but here has type 'typeof Point'.
|
||||
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'fn' must be of type '() => { x: number; y: number; }', but here has type 'typeof Point'.
|
||||
|
||||
var cl: { x: number; y: number; }
|
||||
var cl = A.Point();
|
||||
@@ -40,7 +40,7 @@
|
||||
var fn: () => { x: number; y: number };
|
||||
var fn = B.Point; // not expected to be an error. bug 840000: [corelang] Function of fundule not assignalbe as expected
|
||||
~~
|
||||
!!! Subsequent variable declarations must have the same type. Variable 'fn' must be of type '() => { x: number; y: number; }', but here has type 'typeof Point'.
|
||||
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'fn' must be of type '() => { x: number; y: number; }', but here has type 'typeof Point'.
|
||||
|
||||
var cl: { x: number; y: number; }
|
||||
var cl = B.Point();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
==== tests/cases/compiler/FunctionDeclaration3.ts (1 errors) ====
|
||||
function foo();
|
||||
~~~
|
||||
!!! Function implementation is missing or not immediately following the declaration.
|
||||
!!! error TS2391: Function implementation is missing or not immediately following the declaration.
|
||||
@@ -2,4 +2,4 @@
|
||||
function foo();
|
||||
function bar() { }
|
||||
~~~
|
||||
!!! Function implementation name must be 'foo'.
|
||||
!!! error TS2389: Function implementation name must be 'foo'.
|
||||
@@ -3,5 +3,5 @@
|
||||
function foo();
|
||||
function bar() { }
|
||||
~~~
|
||||
!!! Function implementation name must be 'foo'.
|
||||
!!! error TS2389: Function implementation name must be 'foo'.
|
||||
}
|
||||
@@ -2,5 +2,5 @@
|
||||
module M {
|
||||
function foo();
|
||||
~~~
|
||||
!!! Function implementation is missing or not immediately following the declaration.
|
||||
!!! error TS2391: Function implementation is missing or not immediately following the declaration.
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
==== tests/cases/compiler/InterfaceDeclaration8.ts (1 errors) ====
|
||||
interface string {
|
||||
~~~~~~
|
||||
!!! Interface name cannot be 'string'
|
||||
!!! error TS2427: Interface name cannot be 'string'
|
||||
}
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
var m = M; // Error, not instantiated can not be used as var
|
||||
~
|
||||
!!! Cannot find name 'M'.
|
||||
!!! error TS2304: Cannot find name 'M'.
|
||||
|
||||
var x: typeof M; // Error only a namespace
|
||||
~
|
||||
!!! Cannot find name 'M'.
|
||||
!!! error TS2304: Cannot find name 'M'.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
class C {
|
||||
set Foo(public a: number) { }
|
||||
~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
~~~~~~~~~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
module X.Y {
|
||||
export module Point {
|
||||
~~~~~
|
||||
!!! A module declaration cannot be in a different file from a class or function with which it is merged
|
||||
!!! error TS2433: A module declaration cannot be in a different file from a class or function with which it is merged
|
||||
export var Origin = new Point(0, 0);
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@
|
||||
==== tests/cases/conformance/internalModules/DeclarationMerging/simple.ts (1 errors) ====
|
||||
module A {
|
||||
~
|
||||
!!! A module declaration cannot be located prior to a class or function with which it is merged
|
||||
!!! error TS2434: A module declaration cannot be located prior to a class or function with which it is merged
|
||||
export var Instance = new A();
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
module A {
|
||||
export module Point {
|
||||
~~~~~
|
||||
!!! A module declaration cannot be in a different file from a class or function with which it is merged
|
||||
!!! error TS2433: A module declaration cannot be in a different file from a class or function with which it is merged
|
||||
export var Origin = { x: 0, y: 0 };
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
export module Point {
|
||||
~~~~~
|
||||
!!! A module declaration cannot be located prior to a class or function with which it is merged
|
||||
!!! error TS2434: A module declaration cannot be located prior to a class or function with which it is merged
|
||||
export var Origin = { x: 0, y: 0 };
|
||||
}
|
||||
|
||||
|
||||
@@ -30,9 +30,9 @@
|
||||
// errors expected, these are not exported
|
||||
var a2 = new A.A2();
|
||||
~~
|
||||
!!! Property 'A2' does not exist on type 'typeof A'.
|
||||
!!! error TS2339: Property 'A2' does not exist on type 'typeof A'.
|
||||
var ag2 = new A.A2<string, number>();
|
||||
~~
|
||||
!!! Property 'A2' does not exist on type 'typeof A'.
|
||||
!!! error TS2339: Property 'A2' does not exist on type 'typeof A'.
|
||||
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
// error not exported
|
||||
var b = A.Day.Monday;
|
||||
~~~
|
||||
!!! Property 'Day' does not exist on type 'typeof A'.
|
||||
!!! error TS2339: Property 'Day' does not exist on type 'typeof A'.
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
// these should be errors since the functions are not exported
|
||||
var fn2 = A.fn2;
|
||||
~~~
|
||||
!!! Property 'fn2' does not exist on type 'typeof A'.
|
||||
!!! error TS2339: Property 'fn2' does not exist on type 'typeof A'.
|
||||
var fng2 = A.fng2;
|
||||
~~~~
|
||||
!!! Property 'fng2' does not exist on type 'typeof A'.
|
||||
!!! error TS2339: Property 'fng2' does not exist on type 'typeof A'.
|
||||
@@ -37,6 +37,6 @@
|
||||
// not expected to work since non are exported
|
||||
var line = Geometry.Lines.Line;
|
||||
~~~~~
|
||||
!!! Property 'Lines' does not exist on type 'typeof Geometry'.
|
||||
!!! error TS2339: Property 'Lines' does not exist on type 'typeof Geometry'.
|
||||
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
// Error, since y is not exported
|
||||
var y = A.y;
|
||||
~
|
||||
!!! Property 'y' does not exist on type 'typeof A'.
|
||||
!!! error TS2339: Property 'y' does not exist on type 'typeof A'.
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
interface I {
|
||||
new (public x);
|
||||
~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
==== tests/cases/compiler/ParameterList4.ts (1 errors) ====
|
||||
function F(public A) {
|
||||
~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
==== tests/cases/compiler/ParameterList5.ts (3 errors) ====
|
||||
function A(): (public B) => C {
|
||||
~~~~~~~~~~~~~~~
|
||||
!!! A function whose declared type is neither 'void' nor 'any' must return a value or consist of a single 'throw' statement.
|
||||
!!! error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value or consist of a single 'throw' statement.
|
||||
~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
~
|
||||
!!! Cannot find name 'C'.
|
||||
!!! error TS2304: Cannot find name 'C'.
|
||||
}
|
||||
@@ -2,6 +2,6 @@
|
||||
class C {
|
||||
constructor(C: (public A) => any) {
|
||||
~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,9 @@
|
||||
class C1 {
|
||||
constructor(public p1:string); // ERROR
|
||||
~~~~~~~~~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
constructor(private p2:number); // ERROR
|
||||
~~~~~~~~~~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
constructor(public p3:any) {} // OK
|
||||
}
|
||||
@@ -2,11 +2,11 @@
|
||||
declare class C2 {
|
||||
constructor(public p1:string); // ERROR
|
||||
~~~~~~~~~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
constructor(private p2:number); // ERROR
|
||||
~~~~~~~~~~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
constructor(public p3:any); // ERROR
|
||||
~~~~~~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
}
|
||||
+2
-2
@@ -10,7 +10,7 @@
|
||||
// expected error
|
||||
export class Point {
|
||||
~~~~~
|
||||
!!! Duplicate identifier 'Point'.
|
||||
!!! error TS2300: Duplicate identifier 'Point'.
|
||||
origin: number;
|
||||
angle: number;
|
||||
}
|
||||
@@ -28,7 +28,7 @@
|
||||
// expected error
|
||||
export class Line {
|
||||
~~~~
|
||||
!!! Duplicate identifier 'Line'.
|
||||
!!! error TS2300: Duplicate identifier 'Line'.
|
||||
name: string;
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
==== tests/cases/conformance/internalModules/DeclarationMerging/part1.ts (1 errors) ====
|
||||
export module A {
|
||||
~
|
||||
!!! Cannot compile external modules unless the '--module' flag is provided.
|
||||
!!! error TS1148: Cannot compile external modules unless the '--module' flag is provided.
|
||||
export interface Point {
|
||||
x: number;
|
||||
y: number;
|
||||
@@ -21,15 +21,15 @@
|
||||
// collision with 'Origin' var in other part of merged module
|
||||
export var Origin: Point = { x: 0, y: 0 };
|
||||
~~~~~
|
||||
!!! Cannot find name 'Point'.
|
||||
!!! error TS2304: Cannot find name 'Point'.
|
||||
|
||||
export module Utils {
|
||||
export class Plane {
|
||||
constructor(public tl: Point, public br: Point) { }
|
||||
~~~~~
|
||||
!!! Cannot find name 'Point'.
|
||||
!!! error TS2304: Cannot find name 'Point'.
|
||||
~~~~~
|
||||
!!! Cannot find name 'Point'.
|
||||
!!! error TS2304: Cannot find name 'Point'.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/TypeArgumentLists/TypeArgumentList1.ts (5 errors) ====
|
||||
Foo<A,B,\ C>(4, 5, 6);
|
||||
|
||||
!!! Invalid character.
|
||||
!!! error TS1127: Invalid character.
|
||||
~~~
|
||||
!!! Cannot find name 'Foo'.
|
||||
!!! error TS2304: Cannot find name 'Foo'.
|
||||
~
|
||||
!!! Cannot find name 'A'.
|
||||
!!! error TS2304: Cannot find name 'A'.
|
||||
~
|
||||
!!! Cannot find name 'B'.
|
||||
!!! error TS2304: Cannot find name 'B'.
|
||||
~
|
||||
!!! Cannot find name 'C'.
|
||||
!!! error TS2304: Cannot find name 'C'.
|
||||
@@ -3,12 +3,12 @@
|
||||
class C {
|
||||
set X(public v) { }
|
||||
~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
static set X(public v2) { }
|
||||
~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
~~~~~~~~~
|
||||
!!! A parameter property is only allowed in a constructor implementation.
|
||||
!!! error TS2369: A parameter property is only allowed in a constructor implementation.
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
class C {
|
||||
get x() {
|
||||
~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -13,18 +13,18 @@
|
||||
class D {
|
||||
set x(v) {
|
||||
~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
}
|
||||
}
|
||||
|
||||
var x = {
|
||||
get a() { return 1 }
|
||||
~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
}
|
||||
|
||||
var y = {
|
||||
set b(v) { }
|
||||
~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
}
|
||||
@@ -3,8 +3,8 @@
|
||||
class C {
|
||||
set X(v = 0) { }
|
||||
~
|
||||
!!! A 'set' accessor parameter cannot have an initializer.
|
||||
!!! error TS1052: A 'set' accessor parameter cannot have an initializer.
|
||||
static set X(v2 = 0) { }
|
||||
~
|
||||
!!! A 'set' accessor parameter cannot have an initializer.
|
||||
!!! error TS1052: A 'set' accessor parameter cannot have an initializer.
|
||||
}
|
||||
@@ -3,8 +3,8 @@
|
||||
class C {
|
||||
set X(...v) { }
|
||||
~
|
||||
!!! A 'set' accessor cannot have rest parameter.
|
||||
!!! error TS1053: A 'set' accessor cannot have rest parameter.
|
||||
static set X(...v2) { }
|
||||
~
|
||||
!!! A 'set' accessor cannot have rest parameter.
|
||||
!!! error TS1053: A 'set' accessor cannot have rest parameter.
|
||||
}
|
||||
@@ -4,12 +4,12 @@
|
||||
class C {
|
||||
set x(v: (a: string) => string) {
|
||||
~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
}
|
||||
|
||||
get x() {
|
||||
~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
return (x: string) => "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
class Test {
|
||||
get Property(): Result {
|
||||
~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
var x = 1;
|
||||
return null;
|
||||
}
|
||||
@@ -13,7 +13,7 @@
|
||||
class Test2 {
|
||||
get Property() {
|
||||
~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
var x = 1;
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -4,32 +4,32 @@
|
||||
class C {
|
||||
get X() { return 1; }
|
||||
~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
set X(v) { }
|
||||
~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
|
||||
static get Y() { return 1; }
|
||||
~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
static set Y(v) { }
|
||||
~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
}
|
||||
}
|
||||
|
||||
declare class C {
|
||||
get X() { return 1; }
|
||||
~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
set X(v) { }
|
||||
~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
|
||||
static get Y() { return 1; }
|
||||
~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
static set Y(v) { }
|
||||
~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
}
|
||||
@@ -3,9 +3,9 @@
|
||||
class C {
|
||||
get x(): number { return 1; }
|
||||
~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
}
|
||||
var y = { get foo() { return 3; } };
|
||||
~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
|
||||
@@ -2,37 +2,37 @@
|
||||
class LanguageSpec_section_4_5_error_cases {
|
||||
public set AnnotatedSetter_SetterFirst(a: number) { }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
public get AnnotatedSetter_SetterFirst() { return ""; }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
~~
|
||||
!!! Type 'string' is not assignable to type 'number'.
|
||||
!!! error TS2323: Type 'string' is not assignable to type 'number'.
|
||||
|
||||
public get AnnotatedSetter_SetterLast() { return ""; }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
~~
|
||||
!!! Type 'string' is not assignable to type 'number'.
|
||||
!!! error TS2323: Type 'string' is not assignable to type 'number'.
|
||||
public set AnnotatedSetter_SetterLast(a: number) { }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
|
||||
public get AnnotatedGetter_GetterFirst(): string { return ""; }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
public set AnnotatedGetter_GetterFirst(aStr) { aStr = 0; }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
~~~~
|
||||
!!! Type 'number' is not assignable to type 'string'.
|
||||
!!! error TS2323: Type 'number' is not assignable to type 'string'.
|
||||
|
||||
public set AnnotatedGetter_GetterLast(aStr) { aStr = 0; }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
~~~~
|
||||
!!! Type 'number' is not assignable to type 'string'.
|
||||
!!! error TS2323: Type 'number' is not assignable to type 'string'.
|
||||
public get AnnotatedGetter_GetterLast(): string { return ""; }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
}
|
||||
@@ -6,44 +6,44 @@
|
||||
|
||||
public set InferredGetterFromSetterAnnotation(a: A) { }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
public get InferredGetterFromSetterAnnotation() { return new B(); }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
|
||||
public get InferredGetterFromSetterAnnotation_GetterFirst() { return new B(); }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
public set InferredGetterFromSetterAnnotation_GetterFirst(a: A) { }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
|
||||
|
||||
public get InferredFromGetter() { return new B(); }
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
public set InferredFromGetter(a) { }
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
|
||||
public set InferredFromGetter_SetterFirst(a) { }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
public get InferredFromGetter_SetterFirst() { return new B(); }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
|
||||
public set InferredSetterFromGetterAnnotation(a) { }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
public get InferredSetterFromGetterAnnotation() : A { return new B(); }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
|
||||
public get InferredSetterFromGetterAnnotation_GetterFirst() : A { return new B(); }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
public set InferredSetterFromGetterAnnotation_GetterFirst(a) { }
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
}
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
interface Bar extends Foo {
|
||||
~~~
|
||||
!!! Interface 'Bar' incorrectly extends interface 'Foo':
|
||||
!!! Types of property 'f' are incompatible:
|
||||
!!! Type '(key: string) => string' is not assignable to type '() => string'.
|
||||
!!! error TS2429: Interface 'Bar' incorrectly extends interface 'Foo':
|
||||
!!! error TS2429: Types of property 'f' are incompatible:
|
||||
!!! error TS2429: Type '(key: string) => string' is not assignable to type '() => string'.
|
||||
f(key: string): string;
|
||||
}
|
||||
|
||||
@@ -15,65 +15,65 @@
|
||||
// boolean + every type except any and string
|
||||
var r1 = a + a;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
var r2 = a + b;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'number'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'number'.
|
||||
var r3 = a + c;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'Object'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'Object'.
|
||||
|
||||
// number + every type except any and string
|
||||
var r4 = b + a;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'number' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'boolean'.
|
||||
var r5 = b + b; // number + number is valid
|
||||
var r6 = b + c;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'number' and 'Object'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'Object'.
|
||||
|
||||
// object + every type except any and string
|
||||
var r7 = c + a;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Object' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Object' and 'boolean'.
|
||||
var r8 = c + b;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Object' and 'number'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Object' and 'number'.
|
||||
var r9 = c + c;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
|
||||
// other cases
|
||||
var r10 = a + true;
|
||||
~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
var r11 = true + false;
|
||||
~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
var r12 = true + 123;
|
||||
~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'number'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'number'.
|
||||
var r13 = {} + {};
|
||||
~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types '{}' and '{}'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types '{}' and '{}'.
|
||||
var r14 = b + d;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'number' and 'Number'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'Number'.
|
||||
var r15 = b + foo;
|
||||
~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'number' and '() => void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'number' and '() => void'.
|
||||
var r16 = b + foo();
|
||||
~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'number' and 'void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'void'.
|
||||
var r17 = b + C;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'number' and 'typeof C'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'typeof C'.
|
||||
var r18 = E.a + new C();
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'E' and 'C'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'C'.
|
||||
var r19 = E.a + C.foo();
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'E' and 'void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'void'.
|
||||
var r20 = E.a + M;
|
||||
~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'E' and 'typeof M'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'typeof M'.
|
||||
+11
-11
@@ -11,36 +11,36 @@
|
||||
// null + boolean/Object
|
||||
var r1 = null + a;
|
||||
~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
var r2 = null + b;
|
||||
~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
var r3 = null + c;
|
||||
~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
var r4 = a + null;
|
||||
~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
var r5 = b + null;
|
||||
~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
var r6 = null + c;
|
||||
~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
|
||||
// other cases
|
||||
var r7 = null + d;
|
||||
~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Number' and 'Number'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'.
|
||||
var r8 = null + true;
|
||||
~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
var r9 = null + { a: '' };
|
||||
~~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'.
|
||||
var r10 = null + foo();
|
||||
~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
var r11 = null + (() => { });
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types '() => void' and '() => void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types '() => void' and '() => void'.
|
||||
+4
-4
@@ -2,13 +2,13 @@
|
||||
// bug 819721
|
||||
var r1 = null + null;
|
||||
~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'null' and 'null'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'null' and 'null'.
|
||||
var r2 = null + undefined;
|
||||
~~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'undefined' and 'undefined'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'.
|
||||
var r3 = undefined + null;
|
||||
~~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'null' and 'null'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'null' and 'null'.
|
||||
var r4 = undefined + undefined;
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'undefined' and 'undefined'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'.
|
||||
@@ -15,57 +15,57 @@
|
||||
var r1: any = t + a; // ok, one operand is any
|
||||
var r2 = t + b;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'boolean'.
|
||||
var r3 = t + c;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'number'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'number'.
|
||||
var r4 = t + d; // ok, one operand is string
|
||||
var r5 = t + e;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'Object'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'Object'.
|
||||
var r6 = t + g;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'E'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'E'.
|
||||
var r7 = t + f;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'void'.
|
||||
|
||||
// type parameter as right operand
|
||||
var r8 = a + t; // ok, one operand is any
|
||||
var r9 = b + t;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'T'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'T'.
|
||||
var r10 = c + t;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'number' and 'T'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'T'.
|
||||
var r11 = d + t; // ok, one operand is string
|
||||
var r12 = e + t;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Object' and 'T'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Object' and 'T'.
|
||||
var r13 = g + t;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'E' and 'T'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'T'.
|
||||
var r14 = f + t;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'void' and 'T'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'void' and 'T'.
|
||||
|
||||
// other cases
|
||||
var r15 = t + null;
|
||||
~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'T'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'T'.
|
||||
var r16 = t + undefined;
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'T'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'T'.
|
||||
var r17 = t + t;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'T'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'T'.
|
||||
var r18 = t + u;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'U'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'U'.
|
||||
var r19 = t + (() => { });
|
||||
~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and '() => void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and '() => void'.
|
||||
var r20 = t + [];
|
||||
~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'undefined[]'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'undefined[]'.
|
||||
}
|
||||
+11
-11
@@ -11,36 +11,36 @@
|
||||
// undefined + boolean/Object
|
||||
var r1 = undefined + a;
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
var r2 = undefined + b;
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
var r3 = undefined + c;
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
var r4 = a + undefined;
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
var r5 = b + undefined;
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'.
|
||||
var r6 = undefined + c;
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
|
||||
// other cases
|
||||
var r7 = undefined + d;
|
||||
~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Number' and 'Number'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'.
|
||||
var r8 = undefined + true;
|
||||
~~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'.
|
||||
var r9 = undefined + { a: '' };
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'.
|
||||
var r10 = undefined + foo();
|
||||
~~~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'void' and 'void'.
|
||||
var r11 = undefined + (() => { });
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Operator '+' cannot be applied to types '() => void' and '() => void'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types '() => void' and '() => void'.
|
||||
@@ -3,12 +3,12 @@
|
||||
var x = moduleA;
|
||||
x = 1; // Should be error
|
||||
~
|
||||
!!! Type 'number' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"':
|
||||
!!! Property 'someClass' is missing in type 'Number'.
|
||||
!!! error TS2322: Type 'number' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"':
|
||||
!!! error TS2322: Property 'someClass' is missing in type 'Number'.
|
||||
var y = 1;
|
||||
y = moduleA; // should be error
|
||||
~
|
||||
!!! Type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"' is not assignable to type 'number'.
|
||||
!!! error TS2323: Type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"' is not assignable to type 'number'.
|
||||
|
||||
==== tests/cases/compiler/aliasAssignments_moduleA.ts (0 errors) ====
|
||||
export class someClass {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
var p2: foo.Provide;
|
||||
var p3:booz.bar;
|
||||
~~~~~~~~
|
||||
!!! Module 'foo.bar.baz' has no exported member 'bar'.
|
||||
!!! error TS2305: Module 'foo.bar.baz' has no exported member 'bar'.
|
||||
var p22 = new provide.Provide();
|
||||
}
|
||||
|
||||
@@ -11,22 +11,22 @@
|
||||
|
||||
import m = no;
|
||||
~~~~~~~~~~~~~~
|
||||
!!! Cannot find name 'no'.
|
||||
!!! error TS2304: Cannot find name 'no'.
|
||||
import m2 = no.mod;
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! Cannot find name 'no'.
|
||||
!!! error TS2304: Cannot find name 'no'.
|
||||
import n = 5;
|
||||
~
|
||||
!!! Identifier expected.
|
||||
!!! error TS1003: Identifier expected.
|
||||
import o = "s";
|
||||
~~~
|
||||
!!! Identifier expected.
|
||||
!!! error TS1003: Identifier expected.
|
||||
import q = null;
|
||||
~~~~
|
||||
!!! Identifier expected.
|
||||
!!! error TS1003: Identifier expected.
|
||||
import r = undefined;
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Cannot find name 'undefined'.
|
||||
!!! error TS2304: Cannot find name 'undefined'.
|
||||
|
||||
|
||||
var p = new provide.Provide();
|
||||
@@ -38,7 +38,7 @@
|
||||
var p2: foo.Provide;
|
||||
var p3:booz.bar;
|
||||
~~~~~~~~
|
||||
!!! Module 'foo.bar.baz' has no exported member 'bar'.
|
||||
!!! error TS2305: Module 'foo.bar.baz' has no exported member 'bar'.
|
||||
var p22 = new provide.Provide();
|
||||
}
|
||||
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
}
|
||||
export import X = N;
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Import declaration 'X' is using private name 'N'.
|
||||
!!! error TS4000: Import declaration 'X' is using private name 'N'.
|
||||
}
|
||||
@@ -7,6 +7,6 @@
|
||||
}
|
||||
import R = N;
|
||||
~~~~~~~~~~~~~
|
||||
!!! Import declaration 'R' is using private name 'N'.
|
||||
!!! error TS4000: Import declaration 'R' is using private name 'N'.
|
||||
export import X = R;
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
z.bar("hello"); // This should be ok
|
||||
var x: foo.A = foo.bar("hello"); // foo.A should be ok but foo.bar should be error
|
||||
~~~
|
||||
!!! Cannot find name 'foo'.
|
||||
!!! error TS2304: Cannot find name 'foo'.
|
||||
|
||||
==== tests/cases/compiler/aliasOnMergedModuleInterface_0.ts (0 errors) ====
|
||||
declare module "foo"
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
import moduleA = require("aliasWithInterfaceExportAssignmentUsedInVarInitializer_0");
|
||||
var d = b.q3;
|
||||
~
|
||||
!!! Cannot find name 'b'.
|
||||
!!! error TS2304: Cannot find name 'b'.
|
||||
==== tests/cases/compiler/aliasWithInterfaceExportAssignmentUsedInVarInitializer_0.ts (0 errors) ====
|
||||
interface c {
|
||||
q3: number;
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
declare class foo{};
|
||||
function foo() { return null; }
|
||||
~~~
|
||||
!!! Duplicate identifier 'foo'.
|
||||
!!! error TS2300: Duplicate identifier 'foo'.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/// <reference path="decls.ts" />
|
||||
import imp1 = require('equ');
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Cannot compile external modules unless the '--module' flag is provided.
|
||||
!!! error TS1148: Cannot compile external modules unless the '--module' flag is provided.
|
||||
|
||||
|
||||
// Ambient external module members are always exported with or without export keyword when module lacks export assignment
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
declare enum E {
|
||||
e = 3.3 // Decimal
|
||||
~
|
||||
!!! Ambient enum elements can only have integer literal initializers.
|
||||
!!! error TS1066: Ambient enum elements can only have integer literal initializers.
|
||||
}
|
||||
@@ -2,13 +2,13 @@
|
||||
// Ambient variable with an initializer
|
||||
declare var x = 4;
|
||||
~
|
||||
!!! Initializers are not allowed in ambient contexts.
|
||||
!!! error TS1039: Initializers are not allowed in ambient contexts.
|
||||
|
||||
// Ambient functions with invalid overloads
|
||||
declare function fn(x: number): string;
|
||||
declare function fn(x: 'foo'): number;
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Specialized overload signature is not assignable to any non-specialized signature.
|
||||
!!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature.
|
||||
|
||||
// Ambient functions with duplicate signatures
|
||||
declare function fn1(x: number): string;
|
||||
@@ -21,51 +21,51 @@
|
||||
// Ambient function with default parameter values
|
||||
declare function fn3(x = 3);
|
||||
~~~~~
|
||||
!!! A parameter initializer is only allowed in a function or constructor implementation.
|
||||
!!! error TS2371: A parameter initializer is only allowed in a function or constructor implementation.
|
||||
|
||||
// Ambient function with function body
|
||||
declare function fn4() { };
|
||||
~
|
||||
!!! A function implementation cannot be declared in an ambient context.
|
||||
!!! error TS1037: A function implementation cannot be declared in an ambient context.
|
||||
|
||||
// Ambient enum with non - integer literal constant member
|
||||
declare enum E1 {
|
||||
y = 4.23
|
||||
~
|
||||
!!! Ambient enum elements can only have integer literal initializers.
|
||||
!!! error TS1066: Ambient enum elements can only have integer literal initializers.
|
||||
}
|
||||
|
||||
// Ambient enum with computer member
|
||||
declare enum E2 {
|
||||
x = 'foo'.length
|
||||
~
|
||||
!!! Ambient enum elements can only have integer literal initializers.
|
||||
!!! error TS1066: Ambient enum elements can only have integer literal initializers.
|
||||
}
|
||||
|
||||
// Ambient module with initializers for values, bodies for functions / classes
|
||||
declare module M1 {
|
||||
var x = 3;
|
||||
~
|
||||
!!! Initializers are not allowed in ambient contexts.
|
||||
!!! error TS1039: Initializers are not allowed in ambient contexts.
|
||||
function fn() { }
|
||||
~
|
||||
!!! A function implementation cannot be declared in an ambient context.
|
||||
!!! error TS1037: A function implementation cannot be declared in an ambient context.
|
||||
class C {
|
||||
static x = 3;
|
||||
~
|
||||
!!! Initializers are not allowed in ambient contexts.
|
||||
!!! error TS1039: Initializers are not allowed in ambient contexts.
|
||||
y = 4;
|
||||
~
|
||||
!!! Initializers are not allowed in ambient contexts.
|
||||
!!! error TS1039: Initializers are not allowed in ambient contexts.
|
||||
constructor() { }
|
||||
~
|
||||
!!! A constructor implementation cannot be declared in an ambient context.
|
||||
!!! error TS1111: A constructor implementation cannot be declared in an ambient context.
|
||||
fn() { }
|
||||
~
|
||||
!!! A function implementation cannot be declared in an ambient context.
|
||||
!!! error TS1037: A function implementation cannot be declared in an ambient context.
|
||||
static sfn() { }
|
||||
~
|
||||
!!! A function implementation cannot be declared in an ambient context.
|
||||
!!! error TS1037: A function implementation cannot be declared in an ambient context.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,13 +73,13 @@
|
||||
module M2 {
|
||||
declare module 'nope' { }
|
||||
~~~~~~
|
||||
!!! Ambient external modules cannot be nested in other modules.
|
||||
!!! error TS2435: Ambient external modules cannot be nested in other modules.
|
||||
}
|
||||
|
||||
// Ambient external module with a string literal name that isn't a top level external module name
|
||||
declare module '../foo' { }
|
||||
~~~~~~~~
|
||||
!!! Ambient external module declaration cannot specify relative module name.
|
||||
!!! error TS2436: Ambient external module declaration cannot specify relative module name.
|
||||
|
||||
// Ambient external module with export assignment and other exported members
|
||||
declare module 'bar' {
|
||||
@@ -87,6 +87,6 @@
|
||||
export var q;
|
||||
export = n;
|
||||
~~~~~~~~~~~
|
||||
!!! An export assignment cannot be used in a module with other exported elements.
|
||||
!!! error TS2309: An export assignment cannot be used in a module with other exported elements.
|
||||
}
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
|
||||
declare module "ext" {
|
||||
~~~~~
|
||||
!!! Ambient external modules cannot be nested in other modules.
|
||||
!!! error TS2435: Ambient external modules cannot be nested in other modules.
|
||||
export class C { }
|
||||
}
|
||||
|
||||
// Cannot resolve this ext module reference
|
||||
import ext = require("ext");
|
||||
~~~~~
|
||||
!!! Cannot find external module 'ext'.
|
||||
!!! error TS2307: Cannot find external module 'ext'.
|
||||
var x = ext;
|
||||
@@ -2,5 +2,5 @@
|
||||
module M {
|
||||
export declare module "M" { }
|
||||
~~~
|
||||
!!! Ambient external modules cannot be nested in other modules.
|
||||
!!! error TS2435: Ambient external modules cannot be nested in other modules.
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
==== tests/cases/conformance/ambient/ambientExternalModuleInsideNonAmbientExternalModule.ts (1 errors) ====
|
||||
export declare module "M" { }
|
||||
~~~
|
||||
!!! Ambient external modules cannot be nested in other modules.
|
||||
!!! error TS2435: Ambient external modules cannot be nested in other modules.
|
||||
+2
-2
@@ -2,9 +2,9 @@
|
||||
declare module "OuterModule" {
|
||||
import m2 = require("./SubModule");
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Import declaration in an ambient external module declaration cannot reference external module through relative external module name.
|
||||
!!! error TS2439: Import declaration in an ambient external module declaration cannot reference external module through relative external module name.
|
||||
~~~~~~~~~~~~~
|
||||
!!! Cannot find external module './SubModule'.
|
||||
!!! error TS2307: Cannot find external module './SubModule'.
|
||||
class SubModule {
|
||||
public static StaticVar: number;
|
||||
public InstanceVar: number;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
==== tests/cases/compiler/ambientExternalModuleWithRelativeModuleName.ts (2 errors) ====
|
||||
declare module "./relativeModule" {
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
!!! Ambient external module declaration cannot specify relative module name.
|
||||
!!! error TS2436: Ambient external module declaration cannot specify relative module name.
|
||||
var x: string;
|
||||
}
|
||||
|
||||
declare module ".\\relativeModule" {
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! Ambient external module declaration cannot specify relative module name.
|
||||
!!! error TS2436: Ambient external module declaration cannot specify relative module name.
|
||||
var x: string;
|
||||
}
|
||||
@@ -3,11 +3,11 @@
|
||||
declare class A {
|
||||
get length() : number;
|
||||
~~~~~~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
}
|
||||
|
||||
declare class B {
|
||||
get length() { return 0; }
|
||||
~~~~~~
|
||||
!!! An accessor cannot be declared in an ambient context.
|
||||
!!! error TS1086: An accessor cannot be declared in an ambient context.
|
||||
}
|
||||
@@ -2,37 +2,37 @@
|
||||
declare module M {
|
||||
break;
|
||||
~~~~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
continue;
|
||||
~~~~~~~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
debugger;
|
||||
~~~~~~~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
do { } while (true);
|
||||
~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
var x;
|
||||
for (x in null) { }
|
||||
~~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
~~~~
|
||||
!!! The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter.
|
||||
!!! error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter.
|
||||
if (true) { } else { }
|
||||
~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
1;
|
||||
~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
L: var y;
|
||||
~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
return;
|
||||
~~~~~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
switch (x) {
|
||||
~~~~~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
case 1:
|
||||
break;
|
||||
default:
|
||||
@@ -40,10 +40,10 @@
|
||||
}
|
||||
throw "nooo";
|
||||
~~~~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
try {
|
||||
~~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
@@ -51,8 +51,8 @@
|
||||
}
|
||||
with (x) {
|
||||
~~~~
|
||||
!!! Statements are not allowed in ambient contexts.
|
||||
!!! error TS1036: Statements are not allowed in ambient contexts.
|
||||
~
|
||||
!!! All symbols within a 'with' block will be resolved to 'any'.
|
||||
!!! error TS2410: All symbols within a 'with' block will be resolved to 'any'.
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,13 @@
|
||||
var r2 = < <T>(x: T) => T>f; // valid
|
||||
var r3 = <<T>(x: T) => T>f; // ambiguous, appears to the parser as a << operation
|
||||
~~
|
||||
!!! Expression expected.
|
||||
!!! error TS1109: Expression expected.
|
||||
~
|
||||
!!! ')' expected.
|
||||
!!! error TS1005: ')' expected.
|
||||
~
|
||||
!!! ',' expected.
|
||||
!!! error TS1005: ',' expected.
|
||||
~~
|
||||
!!! ';' expected.
|
||||
!!! error TS1005: ';' expected.
|
||||
~
|
||||
!!! Cannot find name 'x'.
|
||||
!!! error TS2304: Cannot find name 'x'.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
var x: number = foof("s", null);
|
||||
var y: string = foof("s", null);
|
||||
~
|
||||
!!! Type 'number' is not assignable to type 'string'.
|
||||
!!! error TS2323: Type 'number' is not assignable to type 'string'.
|
||||
|
||||
function foof2(bar: string, x): string;
|
||||
function foof2(bar: string, y): number;
|
||||
@@ -13,4 +13,4 @@
|
||||
var x2: string = foof2("s", null);
|
||||
var y2: number = foof2("s", null);
|
||||
~~
|
||||
!!! Type 'string' is not assignable to type 'number'.
|
||||
!!! error TS2323: Type 'string' is not assignable to type 'number'.
|
||||
@@ -3,5 +3,5 @@
|
||||
|
||||
import m1 = require("m2")
|
||||
~~~~
|
||||
!!! Cannot find external module 'm2'.
|
||||
!!! error TS2307: Cannot find external module 'm2'.
|
||||
m1.f();
|
||||
@@ -3,5 +3,5 @@
|
||||
|
||||
import m1 = require("m2")
|
||||
~~~~
|
||||
!!! Cannot find external module 'm2'.
|
||||
!!! error TS2307: Cannot find external module 'm2'.
|
||||
m1.f();
|
||||
@@ -1,40 +1,40 @@
|
||||
==== tests/cases/compiler/anonymousModules.ts (13 errors) ====
|
||||
module {
|
||||
~
|
||||
!!! ';' expected.
|
||||
!!! error TS1005: ';' expected.
|
||||
~~~~~~
|
||||
!!! Cannot find name 'module'.
|
||||
!!! error TS2304: Cannot find name 'module'.
|
||||
export var foo = 1;
|
||||
~~~~~~
|
||||
!!! Statement expected.
|
||||
!!! error TS1129: Statement expected.
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! Cannot compile external modules unless the '--module' flag is provided.
|
||||
!!! error TS1148: Cannot compile external modules unless the '--module' flag is provided.
|
||||
|
||||
module {
|
||||
~
|
||||
!!! ';' expected.
|
||||
!!! error TS1005: ';' expected.
|
||||
~~~~~~
|
||||
!!! Cannot find name 'module'.
|
||||
!!! error TS2304: Cannot find name 'module'.
|
||||
export var bar = 1;
|
||||
~~~~~~
|
||||
!!! Statement expected.
|
||||
!!! error TS1129: Statement expected.
|
||||
~~~
|
||||
!!! Individual declarations in merged declaration bar must be all exported or all local.
|
||||
!!! error TS2395: Individual declarations in merged declaration bar must be all exported or all local.
|
||||
}
|
||||
~
|
||||
!!! Declaration or statement expected.
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
|
||||
var bar = 2;
|
||||
~~~
|
||||
!!! Individual declarations in merged declaration bar must be all exported or all local.
|
||||
!!! error TS2395: Individual declarations in merged declaration bar must be all exported or all local.
|
||||
|
||||
module {
|
||||
~
|
||||
!!! ';' expected.
|
||||
!!! error TS1005: ';' expected.
|
||||
~~~~~~
|
||||
!!! Cannot find name 'module'.
|
||||
!!! error TS2304: Cannot find name 'module'.
|
||||
var x = bar;
|
||||
}
|
||||
}
|
||||
~
|
||||
!!! Declaration or statement expected.
|
||||
!!! error TS1128: Declaration or statement expected.
|
||||
@@ -10,4 +10,4 @@
|
||||
// grammar allows this for constructors
|
||||
var d = new x<any>(x); // no error
|
||||
~~~~~~~~~~~~~
|
||||
!!! Untyped function calls may not accept type arguments.
|
||||
!!! error TS2347: Untyped function calls may not accept type arguments.
|
||||
@@ -5,15 +5,15 @@
|
||||
var x: any;
|
||||
var a = x<number>();
|
||||
~~~~~~~~~~~
|
||||
!!! Untyped function calls may not accept type arguments.
|
||||
!!! error TS2347: Untyped function calls may not accept type arguments.
|
||||
var b = x<string>('hello');
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
!!! Untyped function calls may not accept type arguments.
|
||||
!!! error TS2347: Untyped function calls may not accept type arguments.
|
||||
|
||||
class C { foo: string; }
|
||||
var c = x<C>(x);
|
||||
~~~~~~~
|
||||
!!! Untyped function calls may not accept type arguments.
|
||||
!!! error TS2347: Untyped function calls may not accept type arguments.
|
||||
var d = x<any>(x);
|
||||
~~~~~~~~~
|
||||
!!! Untyped function calls may not accept type arguments.
|
||||
!!! error TS2347: Untyped function calls may not accept type arguments.
|
||||
@@ -114,7 +114,7 @@
|
||||
|
||||
interface I18<T, U extends T> {
|
||||
~~~~~~~~~~~
|
||||
!!! Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
||||
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
||||
[x: string]: U;
|
||||
foo: any;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
var myFn;
|
||||
function myFn() { }
|
||||
~~~~
|
||||
!!! Duplicate identifier 'myFn'.
|
||||
!!! error TS2300: Duplicate identifier 'myFn'.
|
||||
}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
==== tests/cases/compiler/anyIdenticalToItself.ts (3 errors) ====
|
||||
function foo(x: any);
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! Overload signature is not compatible with function implementation.
|
||||
!!! error TS2394: Overload signature is not compatible with function implementation.
|
||||
function foo(x: any);
|
||||
function foo(x: any, y: number) { }
|
||||
|
||||
class C {
|
||||
get X(): any {
|
||||
~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
var y: any;
|
||||
return y;
|
||||
}
|
||||
set X(v: any) {
|
||||
~
|
||||
!!! Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
}
|
||||
}
|
||||
@@ -9,9 +9,9 @@
|
||||
// is String (S) a subtype of U extends String (T)? Would only be true if we used the apparent type of U (T)
|
||||
class Derived<U> extends Base<string> { // error
|
||||
~~~~~~~
|
||||
!!! Class 'Derived<U>' incorrectly extends base class 'Base<string>':
|
||||
!!! Types of property 'x' are incompatible:
|
||||
!!! Type 'String' is not assignable to type 'string'.
|
||||
!!! error TS2416: Class 'Derived<U>' incorrectly extends base class 'Base<string>':
|
||||
!!! error TS2416: Types of property 'x' are incompatible:
|
||||
!!! error TS2416: Type 'String' is not assignable to type 'string'.
|
||||
x: String;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
// is String (S) a subtype of U extends String (T)? Would only be true if we used the apparent type of U (T)
|
||||
class Derived<U extends String> extends Base { // error
|
||||
~~~~~~~
|
||||
!!! Class 'Derived<U>' incorrectly extends base class 'Base':
|
||||
!!! Types of property 'x' are incompatible:
|
||||
!!! Type 'U' is not assignable to type 'string'.
|
||||
!!! error TS2416: Class 'Derived<U>' incorrectly extends base class 'Base':
|
||||
!!! error TS2416: Types of property 'x' are incompatible:
|
||||
!!! error TS2416: Type 'U' is not assignable to type 'string'.
|
||||
x: U;
|
||||
}
|
||||
@@ -3,6 +3,6 @@
|
||||
function foo(a) {
|
||||
arguments = 10; /// This shouldnt be of type number and result in error.
|
||||
~~~~~~~~~
|
||||
!!! Type 'number' is not assignable to type 'IArguments':
|
||||
!!! Property 'length' is missing in type 'Number'.
|
||||
!!! error TS2322: Type 'number' is not assignable to type 'IArguments':
|
||||
!!! error TS2322: Property 'length' is missing in type 'Number'.
|
||||
}
|
||||
@@ -3,37 +3,37 @@
|
||||
|
||||
f += ''; // error
|
||||
~
|
||||
!!! Invalid left-hand side of assignment expression.
|
||||
!!! error TS2364: Invalid left-hand side of assignment expression.
|
||||
f += 1; // error
|
||||
~~~~~~
|
||||
!!! Operator '+=' cannot be applied to types 'typeof f' and 'number'.
|
||||
!!! error TS2365: Operator '+=' cannot be applied to types 'typeof f' and 'number'.
|
||||
f -= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
f *= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
f /= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
f %= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
f &= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
f |= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
f <<= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
f >>= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
f >>>= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
f ^= 1; // error
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
@@ -3,19 +3,19 @@
|
||||
var y: Number;
|
||||
var z = x + y;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'Number' and 'Number'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'.
|
||||
var z2 = x - y;
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
~
|
||||
!!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
var z3 = x * y;
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
~
|
||||
!!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
var z4 = x / y;
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
~
|
||||
!!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
@@ -2,21 +2,21 @@
|
||||
var obj = function f<T>(a: T, b: T) {
|
||||
var z1 = a + b;
|
||||
~~~~~
|
||||
!!! Operator '+' cannot be applied to types 'T' and 'T'.
|
||||
!!! error TS2365: Operator '+' cannot be applied to types 'T' and 'T'.
|
||||
var z2 = a - b;
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
~
|
||||
!!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
var z3 = a * b;
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
~
|
||||
!!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
var z4 = a / b;
|
||||
~
|
||||
!!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
~
|
||||
!!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
|
||||
return a;
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user