TypeScript/tests/baselines/reference/exportNonVisibleType.symbols
2016-03-16 13:45:55 -07:00

65 lines
1.5 KiB
Text

=== tests/cases/conformance/externalModules/foo1.ts ===
interface I1 {
>I1 : Symbol(I1, Decl(foo1.ts, 0, 0))
a: string;
>a : Symbol(I1.a, Decl(foo1.ts, 0, 14))
b: number;
>b : Symbol(I1.b, Decl(foo1.ts, 1, 11))
}
var x: I1 = {a: "test", b: 42};
>x : Symbol(x, Decl(foo1.ts, 5, 3))
>I1 : Symbol(I1, Decl(foo1.ts, 0, 0))
>a : Symbol(a, Decl(foo1.ts, 5, 13))
>b : Symbol(b, Decl(foo1.ts, 5, 23))
export = x; // Should fail, I1 not exported.
>x : Symbol(x, Decl(foo1.ts, 5, 3))
=== tests/cases/conformance/externalModules/foo2.ts ===
interface I1 {
>I1 : Symbol(I1, Decl(foo2.ts, 0, 0))
a: string;
>a : Symbol(I1.a, Decl(foo2.ts, 0, 14))
b: number;
>b : Symbol(I1.b, Decl(foo2.ts, 1, 11))
}
class C1 {
>C1 : Symbol(C1, Decl(foo2.ts, 3, 1))
m1: I1;
>m1 : Symbol(C1.m1, Decl(foo2.ts, 5, 10))
>I1 : Symbol(I1, Decl(foo2.ts, 0, 0))
}
export = C1; // Should fail, type I1 of visible member C1.m1 not exported.
>C1 : Symbol(C1, Decl(foo2.ts, 3, 1))
=== tests/cases/conformance/externalModules/foo3.ts ===
interface I1 {
>I1 : Symbol(I1, Decl(foo3.ts, 0, 0))
a: string;
>a : Symbol(I1.a, Decl(foo3.ts, 0, 14))
b: number;
>b : Symbol(I1.b, Decl(foo3.ts, 1, 11))
}
class C1 {
>C1 : Symbol(C1, Decl(foo3.ts, 3, 1))
private m1: I1;
>m1 : Symbol(C1.m1, Decl(foo3.ts, 5, 10))
>I1 : Symbol(I1, Decl(foo3.ts, 0, 0))
}
export = C1; // Should work, private type I1 of visible class C1 only used in private member m1.
>C1 : Symbol(C1, Decl(foo3.ts, 3, 1))