00d4b4cb50
Fixes bug #4404
72 lines
1.1 KiB
Plaintext
72 lines
1.1 KiB
Plaintext
=== tests/cases/conformance/jsx/tsxElementResolution9.tsx ===
|
|
declare module JSX {
|
|
>JSX : any
|
|
|
|
interface Element { }
|
|
>Element : Element
|
|
|
|
interface IntrinsicElements { }
|
|
>IntrinsicElements : IntrinsicElements
|
|
}
|
|
|
|
interface Obj1 {
|
|
>Obj1 : Obj1
|
|
|
|
new(n: string): { x: number };
|
|
>n : string
|
|
>x : number
|
|
|
|
new(n: number): { y: string };
|
|
>n : number
|
|
>y : string
|
|
}
|
|
var Obj1: Obj1;
|
|
>Obj1 : Obj1
|
|
>Obj1 : Obj1
|
|
|
|
<Obj1 />; // Error, return type is not an object type
|
|
><Obj1 /> : JSX.Element
|
|
>Obj1 : Obj1
|
|
|
|
interface Obj2 {
|
|
>Obj2 : Obj2
|
|
|
|
(n: string): { x: number };
|
|
>n : string
|
|
>x : number
|
|
|
|
(n: number): { y: string };
|
|
>n : number
|
|
>y : string
|
|
}
|
|
var Obj2: Obj2;
|
|
>Obj2 : Obj2
|
|
>Obj2 : Obj2
|
|
|
|
<Obj2 />; // Error, return type is not an object type
|
|
><Obj2 /> : JSX.Element
|
|
>Obj2 : Obj2
|
|
|
|
interface Obj3 {
|
|
>Obj3 : Obj3
|
|
|
|
(n: string): { x: number };
|
|
>n : string
|
|
>x : number
|
|
|
|
(n: number): { x: number; y: string };
|
|
>n : number
|
|
>x : number
|
|
>y : string
|
|
}
|
|
var Obj3: Obj3;
|
|
>Obj3 : Obj3
|
|
>Obj3 : Obj3
|
|
|
|
<Obj3 x={42} />; // OK
|
|
><Obj3 x={42} /> : JSX.Element
|
|
>Obj3 : Obj3
|
|
>x : any
|
|
>42 : number
|
|
|