1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
=== tests/cases/conformance/externalModules/a.ts ===
/// <reference path="foo.d.ts" />
import * as ff from './foo';
>ff : Symbol(ff, Decl(a.ts, 1, 6))
let y: Foo; // OK in type position
>y : Symbol(y, Decl(a.ts, 3, 3))
>Foo : Symbol(Foo, Decl(foo.d.ts, 6, 15))
y.foo();
>y.foo : Symbol(ff.foo, Decl(foo.d.ts, 0, 21))
>y : Symbol(y, Decl(a.ts, 3, 3))
>foo : Symbol(ff.foo, Decl(foo.d.ts, 0, 21))
let z: Foo.SubThing; // OK in ns position
>z : Symbol(z, Decl(a.ts, 5, 3))
>Foo : Symbol(Foo, Decl(foo.d.ts, 6, 15))
>SubThing : Symbol(ff.SubThing, Decl(foo.d.ts, 3, 25))
let x: any = Foo; // Not OK in value position
>x : Symbol(x, Decl(a.ts, 6, 3))
>Foo : Symbol(Foo, Decl(foo.d.ts, 6, 15))
=== tests/cases/conformance/externalModules/foo.d.ts ===
declare class Thing {
>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0), Decl(foo.d.ts, 2, 1))
foo(): number;
>foo : Symbol(Thing.foo, Decl(foo.d.ts, 0, 21))
}
declare namespace Thing {
>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0), Decl(foo.d.ts, 2, 1))
interface SubThing { }
>SubThing : Symbol(SubThing, Decl(foo.d.ts, 3, 25))
}
export = Thing;
>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0), Decl(foo.d.ts, 2, 1))
export as namespace Foo;
>Foo : Symbol(Foo, Decl(foo.d.ts, 6, 15))
|