TypeScript/tests/cases/compiler/complicatedPrivacy.ts
2015-01-19 16:36:50 -08:00

105 lines
1.7 KiB
TypeScript

// @target: es5
module m1 {
export module m2 {
export function f1(c1: C1) {
}
export function f2(c2: C2) {
}
export class C2 implements m3.i3 {
public get p1(arg) {
return new C1();
}
public set p1(arg1: C1) {
}
public f55() {
return "Hello world";
}
}
}
export function f2(arg1: { x?: C1, y: number }) {
}
export function f3(): {
(a: number) : C1;
} {
return null;
}
export function f4(arg1:
{
[number]: C1; // Used to be indexer, now it is a computed property
}) {
}
export function f5(arg2: {
new (arg1: C1) : C1
}) {
}
module m3 {
function f2(f1: C1) {
}
export interface i3 {
f55(): string;
}
}
class C1 {
}
interface i {
x: number;
}
export class C5 implements i {
public x: number;
}
export var v2: C1[];
}
class C2 {
}
module m2 {
export module m3 {
export class c_pr implements mglo5.i5, mglo5.i6 {
f1() {
return "Hello";
}
}
module m4 {
class C {
}
module m5 {
export module m6 {
function f1() {
return new C();
}
}
}
}
}
}
module mglo5 {
export interface i5 {
f1(): string;
}
interface i6 {
f6(): number;
}
}