=== tests/cases/compiler/privacyGloGetter.ts === module m1 { >m1 : Symbol(m1, Decl(privacyGloGetter.ts, 0, 0)) export class C1_public { >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) private f1() { >f1 : Symbol(f1, Decl(privacyGloGetter.ts, 1, 28)) } } class C2_private { >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } export class C3_public { >C3_public : Symbol(C3_public, Decl(privacyGloGetter.ts, 7, 5)) private get p1_private() { >p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 9, 28), Decl(privacyGloGetter.ts, 12, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private set p1_private(m1_c3_p1_arg: C1_public) { >p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 9, 28), Decl(privacyGloGetter.ts, 12, 9)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGloGetter.ts, 14, 31)) >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private get p2_private() { >p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 15, 9), Decl(privacyGloGetter.ts, 19, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private set p2_private(m1_c3_p2_arg: C1_public) { >p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 15, 9), Decl(privacyGloGetter.ts, 19, 9)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGloGetter.ts, 21, 31)) >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private get p3_private() { >p3_private : Symbol(p3_private, Decl(privacyGloGetter.ts, 22, 9), Decl(privacyGloGetter.ts, 26, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } private set p3_private(m1_c3_p3_arg: C2_private) { >p3_private : Symbol(p3_private, Decl(privacyGloGetter.ts, 22, 9), Decl(privacyGloGetter.ts, 26, 9)) >m1_c3_p3_arg : Symbol(m1_c3_p3_arg, Decl(privacyGloGetter.ts, 28, 31)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } public get p4_public(): C2_private { // error >p4_public : Symbol(p4_public, Decl(privacyGloGetter.ts, 29, 9), Decl(privacyGloGetter.ts, 33, 9)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) return new C2_private(); //error >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } public set p4_public(m1_c3_p4_arg: C2_private) { // error >p4_public : Symbol(p4_public, Decl(privacyGloGetter.ts, 29, 9), Decl(privacyGloGetter.ts, 33, 9)) >m1_c3_p4_arg : Symbol(m1_c3_p4_arg, Decl(privacyGloGetter.ts, 35, 29)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } } class C4_private { >C4_private : Symbol(C4_private, Decl(privacyGloGetter.ts, 37, 5)) private get p1_private() { >p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 39, 22), Decl(privacyGloGetter.ts, 42, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private set p1_private(m1_c3_p1_arg: C1_public) { >p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 39, 22), Decl(privacyGloGetter.ts, 42, 9)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGloGetter.ts, 44, 31)) >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private get p2_private() { >p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 45, 9), Decl(privacyGloGetter.ts, 49, 9)) return new C1_public(); >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private set p2_private(m1_c3_p2_arg: C1_public) { >p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 45, 9), Decl(privacyGloGetter.ts, 49, 9)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGloGetter.ts, 51, 31)) >C1_public : Symbol(C1_public, Decl(privacyGloGetter.ts, 0, 11)) } private get p3_private() { >p3_private : Symbol(p3_private, Decl(privacyGloGetter.ts, 52, 9), Decl(privacyGloGetter.ts, 56, 9)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } private set p3_private(m1_c3_p3_arg: C2_private) { >p3_private : Symbol(p3_private, Decl(privacyGloGetter.ts, 52, 9), Decl(privacyGloGetter.ts, 56, 9)) >m1_c3_p3_arg : Symbol(m1_c3_p3_arg, Decl(privacyGloGetter.ts, 58, 31)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } public get p4_public(): C2_private { >p4_public : Symbol(p4_public, Decl(privacyGloGetter.ts, 59, 9), Decl(privacyGloGetter.ts, 63, 9)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) return new C2_private(); >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } public set p4_public(m1_c3_p4_arg: C2_private) { >p4_public : Symbol(p4_public, Decl(privacyGloGetter.ts, 59, 9), Decl(privacyGloGetter.ts, 63, 9)) >m1_c3_p4_arg : Symbol(m1_c3_p4_arg, Decl(privacyGloGetter.ts, 65, 29)) >C2_private : Symbol(C2_private, Decl(privacyGloGetter.ts, 4, 5)) } } } class C6_public { >C6_public : Symbol(C6_public, Decl(privacyGloGetter.ts, 68, 1)) } class C7_public { >C7_public : Symbol(C7_public, Decl(privacyGloGetter.ts, 71, 1)) private get p1_private() { >p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 73, 17), Decl(privacyGloGetter.ts, 76, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGloGetter.ts, 68, 1)) } private set p1_private(m1_c3_p1_arg: C6_public) { >p1_private : Symbol(p1_private, Decl(privacyGloGetter.ts, 73, 17), Decl(privacyGloGetter.ts, 76, 5)) >m1_c3_p1_arg : Symbol(m1_c3_p1_arg, Decl(privacyGloGetter.ts, 78, 27)) >C6_public : Symbol(C6_public, Decl(privacyGloGetter.ts, 68, 1)) } private get p2_private() { >p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 79, 5), Decl(privacyGloGetter.ts, 83, 5)) return new C6_public(); >C6_public : Symbol(C6_public, Decl(privacyGloGetter.ts, 68, 1)) } private set p2_private(m1_c3_p2_arg: C6_public) { >p2_private : Symbol(p2_private, Decl(privacyGloGetter.ts, 79, 5), Decl(privacyGloGetter.ts, 83, 5)) >m1_c3_p2_arg : Symbol(m1_c3_p2_arg, Decl(privacyGloGetter.ts, 85, 27)) >C6_public : Symbol(C6_public, Decl(privacyGloGetter.ts, 68, 1)) } }