|
| 1 | +=== tests/cases/conformance/classes/members/privateNames/privateWriteOnlyAccessorRead.ts === |
| 2 | +class Test { |
| 3 | +>Test : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 4 | + |
| 5 | + set #value(v: { foo: { bar: number } }) {} |
| 6 | +>#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 7 | +>v : Symbol(v, Decl(privateWriteOnlyAccessorRead.ts, 1, 13)) |
| 8 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 1, 17)) |
| 9 | +>bar : Symbol(bar, Decl(privateWriteOnlyAccessorRead.ts, 1, 24)) |
| 10 | + |
| 11 | + set #valueRest(v: number[]) {} |
| 12 | +>#valueRest : Symbol(Test.#valueRest, Decl(privateWriteOnlyAccessorRead.ts, 1, 44)) |
| 13 | +>v : Symbol(v, Decl(privateWriteOnlyAccessorRead.ts, 2, 17)) |
| 14 | + |
| 15 | + set #valueOne(v: number) {} |
| 16 | +>#valueOne : Symbol(Test.#valueOne, Decl(privateWriteOnlyAccessorRead.ts, 2, 32)) |
| 17 | +>v : Symbol(v, Decl(privateWriteOnlyAccessorRead.ts, 3, 16)) |
| 18 | + |
| 19 | + m() { |
| 20 | +>m : Symbol(Test.m, Decl(privateWriteOnlyAccessorRead.ts, 3, 29)) |
| 21 | + |
| 22 | + const foo = { bar: 1 }; |
| 23 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 6, 9)) |
| 24 | +>bar : Symbol(bar, Decl(privateWriteOnlyAccessorRead.ts, 6, 17)) |
| 25 | + |
| 26 | + console.log(this.#value); // error |
| 27 | +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) |
| 28 | +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) |
| 29 | +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) |
| 30 | +>this.#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 31 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 32 | + |
| 33 | + this.#value = { foo }; // ok |
| 34 | +>this.#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 35 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 36 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 8, 19)) |
| 37 | + |
| 38 | + this.#value = { foo }; // ok |
| 39 | +>this.#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 40 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 41 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 9, 19)) |
| 42 | + |
| 43 | + this.#value.foo = foo; // error |
| 44 | +>this.#value.foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 1, 17)) |
| 45 | +>this.#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 46 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 47 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 1, 17)) |
| 48 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 6, 9)) |
| 49 | + |
| 50 | + ({ o: this.#value } = { o: { foo } }); //ok |
| 51 | +>o : Symbol(o, Decl(privateWriteOnlyAccessorRead.ts, 12, 6)) |
| 52 | +>this.#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 53 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 54 | +>o : Symbol(o, Decl(privateWriteOnlyAccessorRead.ts, 12, 27)) |
| 55 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 12, 32)) |
| 56 | + |
| 57 | + ({ ...this.#value } = { foo }); //ok |
| 58 | +>this.#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 59 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 60 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 13, 27)) |
| 61 | + |
| 62 | + ({ foo: this.#value.foo } = { foo }); //error |
| 63 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 15, 6)) |
| 64 | +>this.#value.foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 1, 17)) |
| 65 | +>this.#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 66 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 67 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 1, 17)) |
| 68 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 15, 33)) |
| 69 | + |
| 70 | + ({ |
| 71 | + foo: { ...this.#value.foo }, |
| 72 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 16, 6)) |
| 73 | +>this.#value.foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 1, 17)) |
| 74 | +>this.#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 75 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 76 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 1, 17)) |
| 77 | + |
| 78 | + } = { foo }); //error |
| 79 | +>foo : Symbol(foo, Decl(privateWriteOnlyAccessorRead.ts, 18, 9)) |
| 80 | + |
| 81 | + let r = { o: this.#value }; //error |
| 82 | +>r : Symbol(r, Decl(privateWriteOnlyAccessorRead.ts, 20, 7)) |
| 83 | +>o : Symbol(o, Decl(privateWriteOnlyAccessorRead.ts, 20, 13)) |
| 84 | +>this.#value : Symbol(Test.#value, Decl(privateWriteOnlyAccessorRead.ts, 0, 12)) |
| 85 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 86 | + |
| 87 | + [this.#valueOne, ...this.#valueRest] = [1, 2, 3]; |
| 88 | +>this.#valueOne : Symbol(Test.#valueOne, Decl(privateWriteOnlyAccessorRead.ts, 2, 32)) |
| 89 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 90 | +>this.#valueRest : Symbol(Test.#valueRest, Decl(privateWriteOnlyAccessorRead.ts, 1, 44)) |
| 91 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 92 | + |
| 93 | + let arr = [ |
| 94 | +>arr : Symbol(arr, Decl(privateWriteOnlyAccessorRead.ts, 23, 7)) |
| 95 | + |
| 96 | + this.#valueOne, |
| 97 | +>this.#valueOne : Symbol(Test.#valueOne, Decl(privateWriteOnlyAccessorRead.ts, 2, 32)) |
| 98 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 99 | + |
| 100 | + ...this.#valueRest |
| 101 | +>this.#valueRest : Symbol(Test.#valueRest, Decl(privateWriteOnlyAccessorRead.ts, 1, 44)) |
| 102 | +>this : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 103 | + |
| 104 | + ]; |
| 105 | + } |
| 106 | +} |
| 107 | +new Test().m(); |
| 108 | +>new Test().m : Symbol(Test.m, Decl(privateWriteOnlyAccessorRead.ts, 3, 29)) |
| 109 | +>Test : Symbol(Test, Decl(privateWriteOnlyAccessorRead.ts, 0, 0)) |
| 110 | +>m : Symbol(Test.m, Decl(privateWriteOnlyAccessorRead.ts, 3, 29)) |
| 111 | + |
0 commit comments