File: refactorConvertToGetAccessAndSetAccess33.ts

package info (click to toggle)
node-typescript 4.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 396,552 kB
  • sloc: javascript: 1,444,377; makefile: 7; sh: 3
file content (42 lines) | stat: -rw-r--r-- 1,164 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/// <reference path='fourslash.ts' />

//// class A {
////     public readonly /*a*/a/*b*/: number;
////     public b: number;
////     constructor () {
////         this.a = 1; // convert
////         this["a"]++; // convert
////         ++this.a; // convert
////         if (Math.random()) {
////             this.a = 2; // convert
////         }
////         console.log(this.a); // preserve
////         this.b = this.a; // preserve
////     }
////     foo () { this.a = 2; }
//// }

goTo.select("a", "b");
edit.applyRefactor({
    refactorName: "Generate 'get' and 'set' accessors",
    actionName: "Generate 'get' and 'set' accessors",
    actionDescription: "Generate 'get' and 'set' accessors",
    newContent: `class A {
    private readonly /*RENAME*/_a: number;
    public get a(): number {
        return this._a;
    }
    public b: number;
    constructor () {
        this._a = 1; // convert
        this["_a"]++; // convert
        ++this._a; // convert
        if (Math.random()) {
            this._a = 2; // convert
        }
        console.log(this.a); // preserve
        this.b = this.a; // preserve
    }
    foo () { this.a = 2; }
}`,
});