2017-08-05 01:10:33 +02:00
|
|
|
/// <reference path='fourslash.ts' />
|
|
|
|
|
|
|
|
// Don't try to propagate property accessed variables back,
|
|
|
|
// or emit spurious returns when the value is clearly ignored
|
|
|
|
|
|
|
|
//// function fn() {
|
|
|
|
//// const x = { m: 1 };
|
|
|
|
//// /*a*/x.m = 3/*b*/;
|
|
|
|
//// }
|
|
|
|
|
|
|
|
goTo.select('a', 'b')
|
2017-08-25 18:53:28 +02:00
|
|
|
edit.applyRefactor({
|
2017-09-15 01:04:44 +02:00
|
|
|
refactorName: "Extract Symbol",
|
|
|
|
actionName: "function_scope_1",
|
2017-09-09 14:52:52 +02:00
|
|
|
actionDescription: "Extract to function in global scope",
|
2017-09-13 18:02:10 +02:00
|
|
|
newContent:
|
|
|
|
`function fn() {
|
2017-08-05 01:10:33 +02:00
|
|
|
const x = { m: 1 };
|
2017-09-13 18:02:10 +02:00
|
|
|
/*RENAME*/newFunction(x);
|
2017-08-05 01:10:33 +02:00
|
|
|
}
|
2017-10-12 20:37:31 +02:00
|
|
|
|
2017-08-05 01:10:33 +02:00
|
|
|
function newFunction(x: { m: number; }) {
|
|
|
|
x.m = 3;
|
|
|
|
}
|
2017-09-13 18:02:10 +02:00
|
|
|
`
|
|
|
|
});
|