TypeScript/tests/baselines/reference/moduledecl.types
2015-10-28 13:07:08 -07:00

552 lines
8 KiB
Plaintext

=== tests/cases/compiler/moduledecl.ts ===
module a {
>a : any
}
module b.a {
>b : any
>a : any
}
module c.a.b {
>c : any
>a : any
>b : any
import ma = a;
>ma : any
>a : any
}
module mImport {
>mImport : any
import d = a;
>d : any
>a : any
import e = b.a;
>e : any
>b : any
>a : any
import d1 = a;
>d1 : any
>a : any
import e1 = b.a;
>e1 : any
>b : any
>a : any
}
module m0 {
>m0 : typeof m0
function f1() {
>f1 : () => void
}
function f2(s: string);
>f2 : { (s: string): any; (n: number): any; }
>s : string
function f2(n: number);
>f2 : { (s: string): any; (n: number): any; }
>n : number
function f2(ns: any) {
>f2 : { (s: string): any; (n: number): any; }
>ns : any
}
class c1 {
>c1 : c1
public a : ()=>string;
>a : () => string
private b: ()=>number;
>b : () => number
private static s1;
>s1 : any
public static s2;
>s2 : any
}
interface i1 {
>i1 : i1
() : Object;
>Object : Object
[n: number]: c1;
>n : number
>c1 : c1
}
import m2 = a;
>m2 : any
>a : any
import m3 = b;
>m3 : any
>b : any
import m4 = b.a;
>m4 : any
>b : any
>a : any
import m5 = c;
>m5 : any
>c : any
import m6 = c.a;
>m6 : any
>c : any
>a : any
import m7 = c.a.b;
>m7 : any
>c : any
>a : any
>b : any
}
module m1 {
>m1 : typeof m1
export function f1() {
>f1 : () => void
}
export function f2(s: string);
>f2 : { (s: string): any; (n: number): any; }
>s : string
export function f2(n: number);
>f2 : { (s: string): any; (n: number): any; }
>n : number
export function f2(ns: any) {
>f2 : { (s: string): any; (n: number): any; }
>ns : any
}
export class c1 {
>c1 : c1
public a: () =>string;
>a : () => string
private b: () =>number;
>b : () => number
private static s1;
>s1 : any
public static s2;
>s2 : any
public d() {
>d : () => string
return "Hello";
>"Hello" : string
}
public e: { x: number; y: string; };
>e : { x: number; y: string; }
>x : number
>y : string
constructor (public n, public n2: number, private n3, private n4: string) {
>n : any
>n2 : number
>n3 : any
>n4 : string
}
}
export interface i1 {
>i1 : i1
() : Object;
>Object : Object
[n: number]: c1;
>n : number
>c1 : c1
}
import m2 = a;
>m2 : any
>a : any
import m3 = b;
>m3 : any
>b : any
import m4 = b.a;
>m4 : any
>b : any
>a : any
import m5 = c;
>m5 : any
>c : any
import m6 = c.a;
>m6 : any
>c : any
>a : any
import m7 = c.a.b;
>m7 : any
>c : any
>a : any
>b : any
}
module m {
>m : typeof m
export module m2 {
>m2 : typeof m2
var a = 10;
>a : number
>10 : number
export var b: number;
>b : number
}
export module m3 {
>m3 : typeof m3
export var c: number;
>c : number
}
}
module m {
>m : typeof m
export module m25 {
>m25 : typeof m25
export module m5 {
>m5 : typeof m5
export var c: number;
>c : number
}
}
}
module m13 {
>m13 : typeof m13
export module m4 {
>m4 : typeof m4
export module m2 {
>m2 : typeof m2
export module m3 {
>m3 : typeof m3
export var c: number;
>c : number
}
}
export function f() {
>f : () => number
return 20;
>20 : number
}
}
}
declare module m4 {
>m4 : typeof m4
export var b;
>b : any
}
declare module m5 {
>m5 : typeof m5
export var c;
>c : any
}
declare module m43 {
>m43 : typeof m43
export var b;
>b : any
}
declare module m55 {
>m55 : typeof m55
export var c;
>c : any
}
declare module "m3" {
export var b: number;
>b : number
}
module exportTests {
>exportTests : typeof exportTests
export class C1_public {
>C1_public : C1_public
private f2() {
>f2 : () => number
return 30;
>30 : number
}
public f3() {
>f3 : () => string
return "string";
>"string" : string
}
}
class C2_private {
>C2_private : C2_private
private f2() {
>f2 : () => number
return 30;
>30 : number
}
public f3() {
>f3 : () => string
return "string";
>"string" : string
}
}
export class C3_public {
>C3_public : C3_public
private getC2_private() {
>getC2_private : () => C2_private
return new C2_private();
>new C2_private() : C2_private
>C2_private : typeof C2_private
}
private setC2_private(arg: C2_private) {
>setC2_private : (arg: C2_private) => void
>arg : C2_private
>C2_private : C2_private
}
private get c2() {
>c2 : C2_private
return new C2_private();
>new C2_private() : C2_private
>C2_private : typeof C2_private
}
public getC1_public() {
>getC1_public : () => C1_public
return new C1_public();
>new C1_public() : C1_public
>C1_public : typeof C1_public
}
public setC1_public(arg: C1_public) {
>setC1_public : (arg: C1_public) => void
>arg : C1_public
>C1_public : C1_public
}
public get c1() {
>c1 : C1_public
return new C1_public();
>new C1_public() : C1_public
>C1_public : typeof C1_public
}
}
}
declare module mAmbient {
>mAmbient : typeof mAmbient
class C {
>C : C
public myProp: number;
>myProp : number
}
function foo() : C;
>foo : () => C
>C : C
var aVar: C;
>aVar : C
>C : C
interface B {
>B : B
x: number;
>x : number
y: C;
>y : C
>C : C
}
enum e {
>e : e
x,
>x : e
y,
>y : e
z
>z : e
}
module m3 {
>m3 : typeof m3
class C {
>C : C
public myProp: number;
>myProp : number
}
function foo(): C;
>foo : () => C
>C : C
var aVar: C;
>aVar : C
>C : C
interface B {
>B : B
x: number;
>x : number
y: C;
>y : C
>C : C
}
enum e {
>e : e
x,
>x : e
y,
>y : e
z
>z : e
}
}
}
function foo() {
>foo : () => mAmbient.C
return mAmbient.foo();
>mAmbient.foo() : mAmbient.C
>mAmbient.foo : () => mAmbient.C
>mAmbient : typeof mAmbient
>foo : () => mAmbient.C
}
var cVar = new mAmbient.C();
>cVar : mAmbient.C
>new mAmbient.C() : mAmbient.C
>mAmbient.C : typeof mAmbient.C
>mAmbient : typeof mAmbient
>C : typeof mAmbient.C
var aVar = mAmbient.aVar;
>aVar : mAmbient.C
>mAmbient.aVar : mAmbient.C
>mAmbient : typeof mAmbient
>aVar : mAmbient.C
var bB: mAmbient.B;
>bB : mAmbient.B
>mAmbient : any
>B : mAmbient.B
var eVar: mAmbient.e;
>eVar : mAmbient.e
>mAmbient : any
>e : mAmbient.e
function m3foo() {
>m3foo : () => mAmbient.m3.C
return mAmbient.m3.foo();
>mAmbient.m3.foo() : mAmbient.m3.C
>mAmbient.m3.foo : () => mAmbient.m3.C
>mAmbient.m3 : typeof mAmbient.m3
>mAmbient : typeof mAmbient
>m3 : typeof mAmbient.m3
>foo : () => mAmbient.m3.C
}
var m3cVar = new mAmbient.m3.C();
>m3cVar : mAmbient.m3.C
>new mAmbient.m3.C() : mAmbient.m3.C
>mAmbient.m3.C : typeof mAmbient.m3.C
>mAmbient.m3 : typeof mAmbient.m3
>mAmbient : typeof mAmbient
>m3 : typeof mAmbient.m3
>C : typeof mAmbient.m3.C
var m3aVar = mAmbient.m3.aVar;
>m3aVar : mAmbient.m3.C
>mAmbient.m3.aVar : mAmbient.m3.C
>mAmbient.m3 : typeof mAmbient.m3
>mAmbient : typeof mAmbient
>m3 : typeof mAmbient.m3
>aVar : mAmbient.m3.C
var m3bB: mAmbient.m3.B;
>m3bB : mAmbient.m3.B
>mAmbient : any
>m3 : any
>B : mAmbient.m3.B
var m3eVar: mAmbient.m3.e;
>m3eVar : mAmbient.m3.e
>mAmbient : any
>m3 : any
>e : mAmbient.m3.e