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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
// ==ORIGINAL==
namespace A {
let y = 1;
class C {
a() {
let z = 1;
/*[#|*/let a1 = { x: 1 };
y = 10;
z = 42;
return a1.x + 10;/*|]*/
}
}
}
// ==SCOPE::Extract to inner function in method 'a'==
namespace A {
let y = 1;
class C {
a() {
let z = 1;
return /*RENAME*/newFunction();
function newFunction() {
let a1 = { x: 1 };
y = 10;
z = 42;
return a1.x + 10;
}
}
}
}
// ==SCOPE::Extract to method in class 'C'==
namespace A {
let y = 1;
class C {
a() {
let z = 1;
let __return;
({ __return, z } = this./*RENAME*/newMethod(z));
return __return;
}
private newMethod(z: number) {
let a1 = { x: 1 };
y = 10;
z = 42;
return { __return: a1.x + 10, z };
}
}
}
// ==SCOPE::Extract to function in namespace 'A'==
namespace A {
let y = 1;
class C {
a() {
let z = 1;
let __return;
({ __return, z } = /*RENAME*/newFunction(z));
return __return;
}
}
function newFunction(z: number) {
let a1 = { x: 1 };
y = 10;
z = 42;
return { __return: a1.x + 10, z };
}
}
// ==SCOPE::Extract to function in global scope==
namespace A {
let y = 1;
class C {
a() {
let z = 1;
let __return;
({ __return, y, z } = /*RENAME*/newFunction(y, z));
return __return;
}
}
}
function newFunction(y: number, z: number) {
let a1 = { x: 1 };
y = 10;
z = 42;
return { __return: a1.x + 10, y, z };
}
|