=== tests/cases/compiler/privacyGetter.ts === export module m1 { >m1 : typeof m1, Symbol(m1, Decl(privacyGetter.ts, 0, 0)) export class C1_public { >C1_public : C1_public, Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) private f1() { >f1 : () => void, Symbol(f1, Decl(privacyGetter.ts, 1, 28)) } } class C2_private { >C2_private : C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } export class C3_public { >C3_public : C3_public, Symbol(C3_public, Decl(privacyGetter.ts, 7, 5)) private get p1_private() { >p1_private : C1_public, Symbol(p1_private, Decl(privacyGetter.ts, 9, 28), Decl(privacyGetter.ts, 12, 9)) return new C1_public(); >new C1_public() : C1_public >C1_public : typeof C1_public, Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private set p1_private(m1_c3_p1_arg: C1_public) { >p1_private : C1_public, Symbol(p1_private, Decl(privacyGetter.ts, 9, 28), Decl(privacyGetter.ts, 12, 9)) >m1_c3_p1_arg : C1_public, Symbol(m1_c3_p1_arg, Decl(privacyGetter.ts, 14, 31)) >C1_public : C1_public, Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private get p2_private() { >p2_private : C1_public, Symbol(p2_private, Decl(privacyGetter.ts, 15, 9), Decl(privacyGetter.ts, 19, 9)) return new C1_public(); >new C1_public() : C1_public >C1_public : typeof C1_public, Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private set p2_private(m1_c3_p2_arg: C1_public) { >p2_private : C1_public, Symbol(p2_private, Decl(privacyGetter.ts, 15, 9), Decl(privacyGetter.ts, 19, 9)) >m1_c3_p2_arg : C1_public, Symbol(m1_c3_p2_arg, Decl(privacyGetter.ts, 21, 31)) >C1_public : C1_public, Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private get p3_private() { >p3_private : C2_private, Symbol(p3_private, Decl(privacyGetter.ts, 22, 9), Decl(privacyGetter.ts, 26, 9)) return new C2_private(); >new C2_private() : C2_private >C2_private : typeof C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } private set p3_private(m1_c3_p3_arg: C2_private) { >p3_private : C2_private, Symbol(p3_private, Decl(privacyGetter.ts, 22, 9), Decl(privacyGetter.ts, 26, 9)) >m1_c3_p3_arg : C2_private, Symbol(m1_c3_p3_arg, Decl(privacyGetter.ts, 28, 31)) >C2_private : C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } public get p4_public(): C2_private { // error >p4_public : C2_private, Symbol(p4_public, Decl(privacyGetter.ts, 29, 9), Decl(privacyGetter.ts, 33, 9)) >C2_private : C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) return new C2_private(); //error >new C2_private() : C2_private >C2_private : typeof C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } public set p4_public(m1_c3_p4_arg: C2_private) { // error >p4_public : C2_private, Symbol(p4_public, Decl(privacyGetter.ts, 29, 9), Decl(privacyGetter.ts, 33, 9)) >m1_c3_p4_arg : C2_private, Symbol(m1_c3_p4_arg, Decl(privacyGetter.ts, 35, 29)) >C2_private : C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } } class C4_private { >C4_private : C4_private, Symbol(C4_private, Decl(privacyGetter.ts, 37, 5)) private get p1_private() { >p1_private : C1_public, Symbol(p1_private, Decl(privacyGetter.ts, 39, 22), Decl(privacyGetter.ts, 42, 9)) return new C1_public(); >new C1_public() : C1_public >C1_public : typeof C1_public, Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private set p1_private(m1_c3_p1_arg: C1_public) { >p1_private : C1_public, Symbol(p1_private, Decl(privacyGetter.ts, 39, 22), Decl(privacyGetter.ts, 42, 9)) >m1_c3_p1_arg : C1_public, Symbol(m1_c3_p1_arg, Decl(privacyGetter.ts, 44, 31)) >C1_public : C1_public, Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private get p2_private() { >p2_private : C1_public, Symbol(p2_private, Decl(privacyGetter.ts, 45, 9), Decl(privacyGetter.ts, 49, 9)) return new C1_public(); >new C1_public() : C1_public >C1_public : typeof C1_public, Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private set p2_private(m1_c3_p2_arg: C1_public) { >p2_private : C1_public, Symbol(p2_private, Decl(privacyGetter.ts, 45, 9), Decl(privacyGetter.ts, 49, 9)) >m1_c3_p2_arg : C1_public, Symbol(m1_c3_p2_arg, Decl(privacyGetter.ts, 51, 31)) >C1_public : C1_public, Symbol(C1_public, Decl(privacyGetter.ts, 0, 18)) } private get p3_private() { >p3_private : C2_private, Symbol(p3_private, Decl(privacyGetter.ts, 52, 9), Decl(privacyGetter.ts, 56, 9)) return new C2_private(); >new C2_private() : C2_private >C2_private : typeof C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } private set p3_private(m1_c3_p3_arg: C2_private) { >p3_private : C2_private, Symbol(p3_private, Decl(privacyGetter.ts, 52, 9), Decl(privacyGetter.ts, 56, 9)) >m1_c3_p3_arg : C2_private, Symbol(m1_c3_p3_arg, Decl(privacyGetter.ts, 58, 31)) >C2_private : C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } public get p4_public(): C2_private { >p4_public : C2_private, Symbol(p4_public, Decl(privacyGetter.ts, 59, 9), Decl(privacyGetter.ts, 63, 9)) >C2_private : C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) return new C2_private(); >new C2_private() : C2_private >C2_private : typeof C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } public set p4_public(m1_c3_p4_arg: C2_private) { >p4_public : C2_private, Symbol(p4_public, Decl(privacyGetter.ts, 59, 9), Decl(privacyGetter.ts, 63, 9)) >m1_c3_p4_arg : C2_private, Symbol(m1_c3_p4_arg, Decl(privacyGetter.ts, 65, 29)) >C2_private : C2_private, Symbol(C2_private, Decl(privacyGetter.ts, 4, 5)) } } } module m2 { >m2 : typeof m2, Symbol(m2, Decl(privacyGetter.ts, 68, 1)) export class m2_C1_public { >m2_C1_public : m2_C1_public, Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) private f1() { >f1 : () => void, Symbol(f1, Decl(privacyGetter.ts, 71, 31)) } } class m2_C2_private { >m2_C2_private : m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } export class m2_C3_public { >m2_C3_public : m2_C3_public, Symbol(m2_C3_public, Decl(privacyGetter.ts, 77, 5)) private get p1_private() { >p1_private : m2_C1_public, Symbol(p1_private, Decl(privacyGetter.ts, 79, 31), Decl(privacyGetter.ts, 82, 9)) return new m2_C1_public(); >new m2_C1_public() : m2_C1_public >m2_C1_public : typeof m2_C1_public, Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private set p1_private(m2_c3_p1_arg: m2_C1_public) { >p1_private : m2_C1_public, Symbol(p1_private, Decl(privacyGetter.ts, 79, 31), Decl(privacyGetter.ts, 82, 9)) >m2_c3_p1_arg : m2_C1_public, Symbol(m2_c3_p1_arg, Decl(privacyGetter.ts, 84, 31)) >m2_C1_public : m2_C1_public, Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private get p2_private() { >p2_private : m2_C1_public, Symbol(p2_private, Decl(privacyGetter.ts, 85, 9), Decl(privacyGetter.ts, 89, 9)) return new m2_C1_public(); >new m2_C1_public() : m2_C1_public >m2_C1_public : typeof m2_C1_public, Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private set p2_private(m2_c3_p2_arg: m2_C1_public) { >p2_private : m2_C1_public, Symbol(p2_private, Decl(privacyGetter.ts, 85, 9), Decl(privacyGetter.ts, 89, 9)) >m2_c3_p2_arg : m2_C1_public, Symbol(m2_c3_p2_arg, Decl(privacyGetter.ts, 91, 31)) >m2_C1_public : m2_C1_public, Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private get p3_private() { >p3_private : m2_C2_private, Symbol(p3_private, Decl(privacyGetter.ts, 92, 9), Decl(privacyGetter.ts, 96, 9)) return new m2_C2_private(); >new m2_C2_private() : m2_C2_private >m2_C2_private : typeof m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } private set p3_private(m2_c3_p3_arg: m2_C2_private) { >p3_private : m2_C2_private, Symbol(p3_private, Decl(privacyGetter.ts, 92, 9), Decl(privacyGetter.ts, 96, 9)) >m2_c3_p3_arg : m2_C2_private, Symbol(m2_c3_p3_arg, Decl(privacyGetter.ts, 98, 31)) >m2_C2_private : m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } public get p4_public(): m2_C2_private { >p4_public : m2_C2_private, Symbol(p4_public, Decl(privacyGetter.ts, 99, 9), Decl(privacyGetter.ts, 103, 9)) >m2_C2_private : m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) return new m2_C2_private(); >new m2_C2_private() : m2_C2_private >m2_C2_private : typeof m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } public set p4_public(m2_c3_p4_arg: m2_C2_private) { >p4_public : m2_C2_private, Symbol(p4_public, Decl(privacyGetter.ts, 99, 9), Decl(privacyGetter.ts, 103, 9)) >m2_c3_p4_arg : m2_C2_private, Symbol(m2_c3_p4_arg, Decl(privacyGetter.ts, 105, 29)) >m2_C2_private : m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } } class m2_C4_private { >m2_C4_private : m2_C4_private, Symbol(m2_C4_private, Decl(privacyGetter.ts, 107, 5)) private get p1_private() { >p1_private : m2_C1_public, Symbol(p1_private, Decl(privacyGetter.ts, 109, 25), Decl(privacyGetter.ts, 112, 9)) return new m2_C1_public(); >new m2_C1_public() : m2_C1_public >m2_C1_public : typeof m2_C1_public, Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private set p1_private(m2_c3_p1_arg: m2_C1_public) { >p1_private : m2_C1_public, Symbol(p1_private, Decl(privacyGetter.ts, 109, 25), Decl(privacyGetter.ts, 112, 9)) >m2_c3_p1_arg : m2_C1_public, Symbol(m2_c3_p1_arg, Decl(privacyGetter.ts, 114, 31)) >m2_C1_public : m2_C1_public, Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private get p2_private() { >p2_private : m2_C1_public, Symbol(p2_private, Decl(privacyGetter.ts, 115, 9), Decl(privacyGetter.ts, 119, 9)) return new m2_C1_public(); >new m2_C1_public() : m2_C1_public >m2_C1_public : typeof m2_C1_public, Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private set p2_private(m2_c3_p2_arg: m2_C1_public) { >p2_private : m2_C1_public, Symbol(p2_private, Decl(privacyGetter.ts, 115, 9), Decl(privacyGetter.ts, 119, 9)) >m2_c3_p2_arg : m2_C1_public, Symbol(m2_c3_p2_arg, Decl(privacyGetter.ts, 121, 31)) >m2_C1_public : m2_C1_public, Symbol(m2_C1_public, Decl(privacyGetter.ts, 70, 11)) } private get p3_private() { >p3_private : m2_C2_private, Symbol(p3_private, Decl(privacyGetter.ts, 122, 9), Decl(privacyGetter.ts, 126, 9)) return new m2_C2_private(); >new m2_C2_private() : m2_C2_private >m2_C2_private : typeof m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } private set p3_private(m2_c3_p3_arg: m2_C2_private) { >p3_private : m2_C2_private, Symbol(p3_private, Decl(privacyGetter.ts, 122, 9), Decl(privacyGetter.ts, 126, 9)) >m2_c3_p3_arg : m2_C2_private, Symbol(m2_c3_p3_arg, Decl(privacyGetter.ts, 128, 31)) >m2_C2_private : m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } public get p4_public(): m2_C2_private { >p4_public : m2_C2_private, Symbol(p4_public, Decl(privacyGetter.ts, 129, 9), Decl(privacyGetter.ts, 133, 9)) >m2_C2_private : m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) return new m2_C2_private(); >new m2_C2_private() : m2_C2_private >m2_C2_private : typeof m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } public set p4_public(m2_c3_p4_arg: m2_C2_private) { >p4_public : m2_C2_private, Symbol(p4_public, Decl(privacyGetter.ts, 129, 9), Decl(privacyGetter.ts, 133, 9)) >m2_c3_p4_arg : m2_C2_private, Symbol(m2_c3_p4_arg, Decl(privacyGetter.ts, 135, 29)) >m2_C2_private : m2_C2_private, Symbol(m2_C2_private, Decl(privacyGetter.ts, 74, 5)) } } } class C5_private { >C5_private : C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) private f() { >f : () => void, Symbol(f, Decl(privacyGetter.ts, 140, 18)) } } export class C6_public { >C6_public : C6_public, Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } export class C7_public { >C7_public : C7_public, Symbol(C7_public, Decl(privacyGetter.ts, 146, 1)) private get p1_private() { >p1_private : C6_public, Symbol(p1_private, Decl(privacyGetter.ts, 148, 24), Decl(privacyGetter.ts, 151, 5)) return new C6_public(); >new C6_public() : C6_public >C6_public : typeof C6_public, Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private set p1_private(m1_c3_p1_arg: C6_public) { >p1_private : C6_public, Symbol(p1_private, Decl(privacyGetter.ts, 148, 24), Decl(privacyGetter.ts, 151, 5)) >m1_c3_p1_arg : C6_public, Symbol(m1_c3_p1_arg, Decl(privacyGetter.ts, 153, 27)) >C6_public : C6_public, Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private get p2_private() { >p2_private : C6_public, Symbol(p2_private, Decl(privacyGetter.ts, 154, 5), Decl(privacyGetter.ts, 158, 5)) return new C6_public(); >new C6_public() : C6_public >C6_public : typeof C6_public, Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private set p2_private(m1_c3_p2_arg: C6_public) { >p2_private : C6_public, Symbol(p2_private, Decl(privacyGetter.ts, 154, 5), Decl(privacyGetter.ts, 158, 5)) >m1_c3_p2_arg : C6_public, Symbol(m1_c3_p2_arg, Decl(privacyGetter.ts, 160, 27)) >C6_public : C6_public, Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private get p3_private() { >p3_private : C5_private, Symbol(p3_private, Decl(privacyGetter.ts, 161, 5), Decl(privacyGetter.ts, 165, 5)) return new C5_private(); >new C5_private() : C5_private >C5_private : typeof C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } private set p3_private(m1_c3_p3_arg: C5_private) { >p3_private : C5_private, Symbol(p3_private, Decl(privacyGetter.ts, 161, 5), Decl(privacyGetter.ts, 165, 5)) >m1_c3_p3_arg : C5_private, Symbol(m1_c3_p3_arg, Decl(privacyGetter.ts, 167, 27)) >C5_private : C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } public get p4_public(): C5_private { // error >p4_public : C5_private, Symbol(p4_public, Decl(privacyGetter.ts, 168, 5), Decl(privacyGetter.ts, 172, 5)) >C5_private : C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) return new C5_private(); //error >new C5_private() : C5_private >C5_private : typeof C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } public set p4_public(m1_c3_p4_arg: C5_private) { // error >p4_public : C5_private, Symbol(p4_public, Decl(privacyGetter.ts, 168, 5), Decl(privacyGetter.ts, 172, 5)) >m1_c3_p4_arg : C5_private, Symbol(m1_c3_p4_arg, Decl(privacyGetter.ts, 174, 25)) >C5_private : C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } } class C8_private { >C8_private : C8_private, Symbol(C8_private, Decl(privacyGetter.ts, 176, 1)) private get p1_private() { >p1_private : C6_public, Symbol(p1_private, Decl(privacyGetter.ts, 178, 18), Decl(privacyGetter.ts, 181, 5)) return new C6_public(); >new C6_public() : C6_public >C6_public : typeof C6_public, Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private set p1_private(m1_c3_p1_arg: C6_public) { >p1_private : C6_public, Symbol(p1_private, Decl(privacyGetter.ts, 178, 18), Decl(privacyGetter.ts, 181, 5)) >m1_c3_p1_arg : C6_public, Symbol(m1_c3_p1_arg, Decl(privacyGetter.ts, 183, 27)) >C6_public : C6_public, Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private get p2_private() { >p2_private : C6_public, Symbol(p2_private, Decl(privacyGetter.ts, 184, 5), Decl(privacyGetter.ts, 188, 5)) return new C6_public(); >new C6_public() : C6_public >C6_public : typeof C6_public, Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private set p2_private(m1_c3_p2_arg: C6_public) { >p2_private : C6_public, Symbol(p2_private, Decl(privacyGetter.ts, 184, 5), Decl(privacyGetter.ts, 188, 5)) >m1_c3_p2_arg : C6_public, Symbol(m1_c3_p2_arg, Decl(privacyGetter.ts, 190, 27)) >C6_public : C6_public, Symbol(C6_public, Decl(privacyGetter.ts, 143, 1)) } private get p3_private() { >p3_private : C5_private, Symbol(p3_private, Decl(privacyGetter.ts, 191, 5), Decl(privacyGetter.ts, 195, 5)) return new C5_private(); >new C5_private() : C5_private >C5_private : typeof C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } private set p3_private(m1_c3_p3_arg: C5_private) { >p3_private : C5_private, Symbol(p3_private, Decl(privacyGetter.ts, 191, 5), Decl(privacyGetter.ts, 195, 5)) >m1_c3_p3_arg : C5_private, Symbol(m1_c3_p3_arg, Decl(privacyGetter.ts, 197, 27)) >C5_private : C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } public get p4_public(): C5_private { >p4_public : C5_private, Symbol(p4_public, Decl(privacyGetter.ts, 198, 5), Decl(privacyGetter.ts, 202, 5)) >C5_private : C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) return new C5_private(); >new C5_private() : C5_private >C5_private : typeof C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } public set p4_public(m1_c3_p4_arg: C5_private) { >p4_public : C5_private, Symbol(p4_public, Decl(privacyGetter.ts, 198, 5), Decl(privacyGetter.ts, 202, 5)) >m1_c3_p4_arg : C5_private, Symbol(m1_c3_p4_arg, Decl(privacyGetter.ts, 204, 25)) >C5_private : C5_private, Symbol(C5_private, Decl(privacyGetter.ts, 138, 1)) } }