-
Notifications
You must be signed in to change notification settings - Fork 12.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f235b85
commit 74b1e3f
Showing
14 changed files
with
298 additions
and
0 deletions.
There are no files selected for viewing
16 changes: 16 additions & 0 deletions
16
tests/baselines/reference/declarationEmitIdentifierPredicates01.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
//// [declarationEmitIdentifierPredicates01.ts] | ||
|
||
export function f(x: any): x is number { | ||
return typeof x === "number"; | ||
} | ||
|
||
//// [declarationEmitIdentifierPredicates01.js] | ||
"use strict"; | ||
function f(x) { | ||
return typeof x === "number"; | ||
} | ||
exports.f = f; | ||
|
||
|
||
//// [declarationEmitIdentifierPredicates01.d.ts] | ||
export declare function f(x: any): x is number; |
10 changes: 10 additions & 0 deletions
10
tests/baselines/reference/declarationEmitIdentifierPredicates01.symbols
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
=== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitIdentifierPredicates01.ts === | ||
|
||
export function f(x: any): x is number { | ||
>f : Symbol(f, Decl(declarationEmitIdentifierPredicates01.ts, 0, 0)) | ||
>x : Symbol(x, Decl(declarationEmitIdentifierPredicates01.ts, 1, 18)) | ||
>x : Symbol(x, Decl(declarationEmitIdentifierPredicates01.ts, 1, 18)) | ||
|
||
return typeof x === "number"; | ||
>x : Symbol(x, Decl(declarationEmitIdentifierPredicates01.ts, 1, 18)) | ||
} |
13 changes: 13 additions & 0 deletions
13
tests/baselines/reference/declarationEmitIdentifierPredicates01.types
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
=== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitIdentifierPredicates01.ts === | ||
|
||
export function f(x: any): x is number { | ||
>f : (x: any) => x is number | ||
>x : any | ||
>x : any | ||
|
||
return typeof x === "number"; | ||
>typeof x === "number" : boolean | ||
>typeof x : string | ||
>x : any | ||
>"number" : string | ||
} |
14 changes: 14 additions & 0 deletions
14
tests/baselines/reference/declarationEmitIdentifierPredicatesWithPrivateName01.errors.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
tests/cases/conformance/declarationEmit/typePredicates/declarationEmitIdentifierPredicatesWithPrivateName01.ts(6,33): error TS4060: Return type of exported function has or is using private name 'I'. | ||
|
||
|
||
==== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitIdentifierPredicatesWithPrivateName01.ts (1 errors) ==== | ||
|
||
interface I { | ||
a: number; | ||
} | ||
|
||
export function f(x: any): x is I { | ||
~ | ||
!!! error TS4060: Return type of exported function has or is using private name 'I'. | ||
return typeof x.a === "number"; | ||
} |
16 changes: 16 additions & 0 deletions
16
tests/baselines/reference/declarationEmitIdentifierPredicatesWithPrivateName01.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
//// [declarationEmitIdentifierPredicatesWithPrivateName01.ts] | ||
|
||
interface I { | ||
a: number; | ||
} | ||
|
||
export function f(x: any): x is I { | ||
return typeof x.a === "number"; | ||
} | ||
|
||
//// [declarationEmitIdentifierPredicatesWithPrivateName01.js] | ||
"use strict"; | ||
function f(x) { | ||
return typeof x.a === "number"; | ||
} | ||
exports.f = f; |
43 changes: 43 additions & 0 deletions
43
tests/baselines/reference/declarationEmitThisPredicates01.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
//// [declarationEmitThisPredicates01.ts] | ||
|
||
export class C { | ||
m(): this is D { | ||
return this instanceof D; | ||
} | ||
} | ||
|
||
export class D extends C { | ||
} | ||
|
||
//// [declarationEmitThisPredicates01.js] | ||
"use strict"; | ||
var __extends = (this && this.__extends) || function (d, b) { | ||
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
var C = (function () { | ||
function C() { | ||
} | ||
C.prototype.m = function () { | ||
return this instanceof D; | ||
}; | ||
return C; | ||
}()); | ||
exports.C = C; | ||
var D = (function (_super) { | ||
__extends(D, _super); | ||
function D() { | ||
_super.apply(this, arguments); | ||
} | ||
return D; | ||
}(C)); | ||
exports.D = D; | ||
|
||
|
||
//// [declarationEmitThisPredicates01.d.ts] | ||
export declare class C { | ||
m(): this is D; | ||
} | ||
export declare class D extends C { | ||
} |
19 changes: 19 additions & 0 deletions
19
tests/baselines/reference/declarationEmitThisPredicates01.symbols
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
=== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicates01.ts === | ||
|
||
export class C { | ||
>C : Symbol(C, Decl(declarationEmitThisPredicates01.ts, 0, 0)) | ||
|
||
m(): this is D { | ||
>m : Symbol(m, Decl(declarationEmitThisPredicates01.ts, 1, 16)) | ||
>D : Symbol(D, Decl(declarationEmitThisPredicates01.ts, 5, 1)) | ||
|
||
return this instanceof D; | ||
>this : Symbol(C, Decl(declarationEmitThisPredicates01.ts, 0, 0)) | ||
>D : Symbol(D, Decl(declarationEmitThisPredicates01.ts, 5, 1)) | ||
} | ||
} | ||
|
||
export class D extends C { | ||
>D : Symbol(D, Decl(declarationEmitThisPredicates01.ts, 5, 1)) | ||
>C : Symbol(C, Decl(declarationEmitThisPredicates01.ts, 0, 0)) | ||
} |
20 changes: 20 additions & 0 deletions
20
tests/baselines/reference/declarationEmitThisPredicates01.types
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
=== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicates01.ts === | ||
|
||
export class C { | ||
>C : C | ||
|
||
m(): this is D { | ||
>m : () => this is D | ||
>D : D | ||
|
||
return this instanceof D; | ||
>this instanceof D : boolean | ||
>this : this | ||
>D : typeof D | ||
} | ||
} | ||
|
||
export class D extends C { | ||
>D : D | ||
>C : C | ||
} |
19 changes: 19 additions & 0 deletions
19
tests/baselines/reference/declarationEmitThisPredicates02.errors.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicates02.ts(9,10): error TS2526: A 'this' type is available only in a non-static member of a class or interface. | ||
|
||
|
||
==== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicates02.ts (1 errors) ==== | ||
|
||
export interface Foo { | ||
a: string; | ||
b: number; | ||
c: boolean; | ||
} | ||
|
||
export const obj = { | ||
m(): this is Foo { | ||
~~~~ | ||
!!! error TS2526: A 'this' type is available only in a non-static member of a class or interface. | ||
let dis = this as Foo; | ||
return dis.a != null && dis.b != null && dis.c != null; | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
tests/baselines/reference/declarationEmitThisPredicates02.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
//// [declarationEmitThisPredicates02.ts] | ||
|
||
export interface Foo { | ||
a: string; | ||
b: number; | ||
c: boolean; | ||
} | ||
|
||
export const obj = { | ||
m(): this is Foo { | ||
let dis = this as Foo; | ||
return dis.a != null && dis.b != null && dis.c != null; | ||
} | ||
} | ||
|
||
//// [declarationEmitThisPredicates02.js] | ||
"use strict"; | ||
exports.obj = { | ||
m: function () { | ||
var dis = this; | ||
return dis.a != null && dis.b != null && dis.c != null; | ||
} | ||
}; | ||
|
||
|
||
//// [declarationEmitThisPredicates02.d.ts] | ||
export interface Foo { | ||
a: string; | ||
b: number; | ||
c: boolean; | ||
} | ||
export declare const obj: { | ||
m(): this is Foo; | ||
}; |
15 changes: 15 additions & 0 deletions
15
tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName01.errors.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName01.ts(3,18): error TS4055: Return type of public method from exported class has or is using private name 'D'. | ||
|
||
|
||
==== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName01.ts (1 errors) ==== | ||
|
||
export class C { | ||
m(): this is D { | ||
~ | ||
!!! error TS4055: Return type of public method from exported class has or is using private name 'D'. | ||
return this instanceof D; | ||
} | ||
} | ||
|
||
class D extends C { | ||
} |
34 changes: 34 additions & 0 deletions
34
tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName01.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
//// [declarationEmitThisPredicatesWithPrivateName01.ts] | ||
|
||
export class C { | ||
m(): this is D { | ||
return this instanceof D; | ||
} | ||
} | ||
|
||
class D extends C { | ||
} | ||
|
||
//// [declarationEmitThisPredicatesWithPrivateName01.js] | ||
"use strict"; | ||
var __extends = (this && this.__extends) || function (d, b) { | ||
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
var C = (function () { | ||
function C() { | ||
} | ||
C.prototype.m = function () { | ||
return this instanceof D; | ||
}; | ||
return C; | ||
}()); | ||
exports.C = C; | ||
var D = (function (_super) { | ||
__extends(D, _super); | ||
function D() { | ||
_super.apply(this, arguments); | ||
} | ||
return D; | ||
}(C)); |
22 changes: 22 additions & 0 deletions
22
tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.errors.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName02.ts(8,14): error TS4025: Exported variable 'obj' has or is using private name 'Foo'. | ||
tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName02.ts(9,10): error TS2526: A 'this' type is available only in a non-static member of a class or interface. | ||
|
||
|
||
==== tests/cases/conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName02.ts (2 errors) ==== | ||
|
||
interface Foo { | ||
a: string; | ||
b: number; | ||
c: boolean; | ||
} | ||
|
||
export const obj = { | ||
~~~ | ||
!!! error TS4025: Exported variable 'obj' has or is using private name 'Foo'. | ||
m(): this is Foo { | ||
~~~~ | ||
!!! error TS2526: A 'this' type is available only in a non-static member of a class or interface. | ||
let dis = this as Foo; | ||
return dis.a != null && dis.b != null && dis.c != null; | ||
} | ||
} |
23 changes: 23 additions & 0 deletions
23
tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
//// [declarationEmitThisPredicatesWithPrivateName02.ts] | ||
|
||
interface Foo { | ||
a: string; | ||
b: number; | ||
c: boolean; | ||
} | ||
|
||
export const obj = { | ||
m(): this is Foo { | ||
let dis = this as Foo; | ||
return dis.a != null && dis.b != null && dis.c != null; | ||
} | ||
} | ||
|
||
//// [declarationEmitThisPredicatesWithPrivateName02.js] | ||
"use strict"; | ||
exports.obj = { | ||
m: function () { | ||
var dis = this; | ||
return dis.a != null && dis.b != null && dis.c != null; | ||
} | ||
}; |