[analysis_server] remove unneeded new

Fixes #49901

Change-Id: I7729e29c1e7ca73a824762156fd68d5d8a2516fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258243
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
Ahmed Ashour
2023-01-05 03:05:58 +00:00
committed by Commit Queue
parent 1ab011a2a7
commit 4bf325dd90
9 changed files with 223 additions and 224 deletions
@@ -25,16 +25,16 @@ class AnalysisNotificationClosingLabelsTest
Widget build(BuildContext context) {
return /*1*/new Row(
children: /*2*/<Widget>[
new Text('a'),
new Text('b'),
Text('a'),
Text('b'),
]/*/2*/,
)/*/1*/;
}
''';
static final expectedResults = [
ClosingLabel(51, 96, 'Row'),
ClosingLabel(79, 57, '<Widget>[]')
ClosingLabel(51, 88, 'Row'),
ClosingLabel(79, 49, '<Widget>[]')
];
List<ClosingLabel>? lastLabels;
@@ -173,7 +173,7 @@ class A {
}
void contextFunction() {
var a = new A();
var a = A();
// context line
}
''';
@@ -176,7 +176,7 @@ dependencies:
// Configure the test file.
final file =
newFile('$workspaceRootPath/aaa/main.dart', 'void f() { new Foo(); }');
newFile('$workspaceRootPath/aaa/main.dart', 'void f() { Foo(); }');
await waitForTasksFinished();
@@ -137,7 +137,7 @@ import 'dart:collection';
void f() {
print(pi);
new HashMap();
HashMap();
}
''');
return _assertOrganized(r'''
@@ -148,7 +148,7 @@ import 'dart:math';
void f() {
print(pi);
new HashMap();
HashMap();
}
''');
}
@@ -939,12 +939,12 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text('AAA');
return Text('AAA');
}
}
''');
await waitForTasksFinished();
await getRefactoringsForString('new Text');
await getRefactoringsForString('Text');
expect(kinds, contains(RefactoringKind.EXTRACT_WIDGET));
}
@@ -986,7 +986,7 @@ class A {
A.test() {}
}
void f() {
new A.test();
A.test();
}
''', 'test();');
}
@@ -1441,8 +1441,8 @@ class Test {
}
void f() {
Test v;
new Test();
new Test.named();
Test();
Test.named();
}
''');
return assertSuccessfulRefactoring(() {
@@ -1454,8 +1454,8 @@ class NewName {
}
void f() {
NewName v;
new NewName();
new NewName.named();
NewName();
NewName.named();
}
''');
}
@@ -1495,7 +1495,7 @@ class Test {
Test() {}
}
void f() {
new Test();
Test();
}
''');
return assertSuccessfulRefactoring(
@@ -1507,12 +1507,12 @@ class NewName {
NewName() {}
}
void f() {
new NewName();
NewName();
}
''',
feedbackValidator: (feedback) {
var renameFeedback = feedback as RenameFeedback;
expect(renameFeedback.offset, 44);
expect(renameFeedback.offset, 40);
expect(renameFeedback.length, 4);
},
);
@@ -1524,7 +1524,7 @@ class Test {
Test.named() {}
}
void f() {
new Test.named();
Test.named();
}
''');
return assertSuccessfulRefactoring(
@@ -1536,12 +1536,12 @@ class NewName {
NewName.named() {}
}
void f() {
new NewName.named();
NewName.named();
}
''',
feedbackValidator: (feedback) {
var renameFeedback = feedback as RenameFeedback;
expect(renameFeedback.offset, 50);
expect(renameFeedback.offset, 46);
expect(renameFeedback.length, 4);
},
);
@@ -1729,7 +1729,7 @@ class A {
A({this.test: 0});
}
void f() {
new A(test: 42);
A(test: 42);
}
''');
return assertSuccessfulRefactoring(() {
@@ -1740,7 +1740,7 @@ class A {
A({this.newName: 0});
}
void f() {
new A(newName: 42);
A(newName: 42);
}
''');
}
@@ -1896,7 +1896,7 @@ class A {
A.test() {}
}
void f() {
new A.test();
A.test();
}
''');
return assertSuccessfulRefactoring(
@@ -1908,12 +1908,12 @@ class A {
A.newName() {}
}
void f() {
new A.newName();
A.newName();
}
''',
feedbackValidator: (feedback) {
var renameFeedback = feedback as RenameFeedback;
expect(renameFeedback.offset, 45);
expect(renameFeedback.offset, 41);
expect(renameFeedback.length, 4);
},
);
@@ -1374,7 +1374,7 @@ void f() {new A().f^}''');
addSource('/partAB.dart', '''
part of libAB;
var T1;
PB F1() => new PB();
PB F1() => PB();
class PB { }''');
addSource('/testCD.dart', '''
class C { }
@@ -1397,7 +1397,7 @@ void f() {new A().f^}''');
addSource('/partAB.dart', '''
part of libAB;
var T1;
PB F1() => new PB();
PB F1() => PB();
typedef PB2 F2(int blat);
class Clz = Object with Object;
class PB { }''');
@@ -2669,7 +2669,7 @@ class C {
}
void f() {
new C().^
C().^
}
''');
await computeSuggestions();
@@ -2689,7 +2689,7 @@ class C {
}
void f() {
new C().^
C().^
}
''');
await computeSuggestions();
@@ -2709,7 +2709,7 @@ class C {
}
void f() {
new C().^
C().^
}
''');
await computeSuggestions();
@@ -2729,7 +2729,7 @@ class C {
}
void f() {
new C().^
C().^
}
''');
await computeSuggestions();
@@ -3059,10 +3059,10 @@ void f() {new C().^}''');
// MethodInvocation ExpressionStatement Block
addTestSource(r'''
void f() { }
class I {X get f => new A();get _g => new A(); F $p; void $q(){}}
class I {X get f => A();get _g => A(); F $p; void $q(){}}
class A implements I {
var b; X _c;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
// no semicolon between completion point and next statement
set s1(I x) {} set _s2(I x) {x.^ m(null);}
m(X x) {} I _n(X x) {}}
@@ -3155,7 +3155,7 @@ void f() {new C().^}''');
class C {
int get x => null;
}
void f() {int y = new C().^}''');
void f() {int y = C().^}''');
await computeSuggestions();
var suggestion = assertSuggestGetter('x', 'int');
assertHasNoParameterInfo(suggestion);
@@ -3166,7 +3166,7 @@ void f() {int y = new C().^}''');
class C {
set x(int value) {};
}
void f() {int y = new C().^}''');
void f() {int y = C().^}''');
await computeSuggestions();
var suggestion = assertSuggestSetter('x');
assertHasNoParameterInfo(suggestion);
@@ -3177,7 +3177,7 @@ void f() {int y = new C().^}''');
class C {
set x() {};
}
void f() {int y = new C().^}''');
void f() {int y = C().^}''');
await computeSuggestions();
var suggestion = assertSuggestSetter('x');
assertHasNoParameterInfo(suggestion);
@@ -3342,12 +3342,12 @@ void f() {C.^ print("something");}''');
lib B;
class I {
static const scI = 'boo';
X get f => new A();
get _g => new A();}
X get f => A();
get _g => A();}
class B implements I {
static const int scB = 12;
var b; X _c;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
set s1(I x) {} set _s2(I x) {}
m(X x) {} I _n(X x) {}}
class X{}''');
@@ -3386,11 +3386,11 @@ void f() {C.^ print("something");}''');
// SimpleIdentifier PrefixedIdentifier ExpressionStatement
addSource('$testPackageLibPath/b.dart', '''
lib B;
class I {X get f => new A();get _g => new A();}
class I {X get f => A();get _g => A();}
class A implements I {
static const int sc = 12;
@deprecated var b; X _c;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
set s1(I x) {} set _s2(I x) {}
m(X x) {} I _n(X x) {}}
class X{}''');
@@ -3422,11 +3422,11 @@ void f() {C.^ print("something");}''');
// SimpleIdentifier PrefixedIdentifier ExpressionStatement
addTestSource('''
void f() {A a; a.^}
class I {X get f => new A();get _g => new A();}
class I {X get f => A();get _g => A();}
class A implements I {
static const int sc = 12;
var b; X _c;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
set s1(I x) {} set _s2(I x) {}
m(X x) {} I _n(X x) {}}
class X{}''');
@@ -3926,12 +3926,12 @@ class C with M {
// MethodInvocation ExpressionStatement Block
addTestSource('''
void f() { }
class I {X get f => new A();get _g => new A();}
class I {X get f => A();get _g => A();}
class A implements I {
A() {}
A.z() {}
var b; X _c;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
// no semicolon between completion point and next statement
set s1(I x) {} set _s2(I x) {this.^ m(null);}
m(X x) {} I _n(X x) {}}
@@ -3961,12 +3961,12 @@ class C with M {
// MethodInvocation ExpressionStatement Block
addTestSource('''
void f() { }
class I {X get f => new A();get _g => new A();}
class I {X get f => A();get _g => A();}
class A implements I {
A() {this.^}
A.z() {}
var b; X _c;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
// no semicolon between completion point and next statement
set s1(I x) {} set _s2(I x) {m(null);}
m(X x) {} I _n(X x) {}}
@@ -3996,12 +3996,12 @@ class C with M {
// SimpleIdentifier FieldFormalParameter FormalParameterList
addTestSource('''
void f() { }
class I {X get f => new A();get _g => new A();}
class I {X get f => A();get _g => A();}
class A implements I {
A(this.^) {}
A.z() {}
var b; X _c; static sb;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
// no semicolon between completion point and next statement
set s1(I x) {} set _s2(I x) {m(null);}
m(X x) {} I _n(X x) {}}
@@ -4033,12 +4033,12 @@ class C with M {
// SimpleIdentifier FieldFormalParameter FormalParameterList
addTestSource('''
void f() { }
class I {X get f => new A();get _g => new A();}
class I {X get f => A();get _g => A();}
class A implements I {
A(this.b^) {}
A.z() {}
var b; X _c;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
// no semicolon between completion point and next statement
set s1(I x) {} set _s2(I x) {m(null);}
m(X x) {} I _n(X x) {}}
@@ -4069,12 +4069,12 @@ class C with M {
// SimpleIdentifier FieldFormalParameter FormalParameterList
addTestSource('''
void f() { }
class I {X get f => new A();get _g => new A();}
class I {X get f => A();get _g => A();}
class A implements I {
A(this.^b) {}
A.z() {}
var b; X _c;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
// no semicolon between completion point and next statement
set s1(I x) {} set _s2(I x) {m(null);}
m(X x) {} I _n(X x) {}}
@@ -4105,12 +4105,12 @@ class C with M {
// SimpleIdentifier FieldFormalParameter FormalParameterList
addTestSource('''
void f() { }
class I {X get f => new A();get _g => new A();}
class I {X get f => A();get _g => A();}
class A implements I {
A(this.b, this.^) {}
A.z() {}
var b; X _c;
X get d => new A();get _e => new A();
X get d => A();get _e => A();
// no semicolon between completion point and next statement
set s1(I x) {} set _s2(I x) {m(null);}
m(X x) {} I _n(X x) {}}
@@ -46,11 +46,11 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text('AAA');
return Text('AAA');
}
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
// empty
refactoring.name = '';
@@ -70,13 +70,13 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container();
return Container();
}
}
class Test {}
''');
_createRefactoringForStringOffset('new Container');
_createRefactoringForStringOffset('Container');
refactoring.name = 'Test';
assertRefactoringStatus(
@@ -91,22 +91,22 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Row(
return Row(
children: <Widget>[
new Column(
Column(
children: <Widget>[
new Text('AAA'),
new Text('BBB'),
Text('AAA'),
Text('BBB'),
],
),
new Text('CCC'),
new Text('DDD'),
Text('CCC'),
Text('DDD'),
],
);
}
}
''');
_createRefactoringForStringOffset('new Column');
_createRefactoringForStringOffset('Column');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
@@ -114,11 +114,11 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Row(
return Row(
children: <Widget>[
Test(),
new Text('CCC'),
new Text('DDD'),
Text('CCC'),
Text('DDD'),
],
);
}
@@ -131,10 +131,10 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Column(
return Column(
children: <Widget>[
new Text('AAA'),
new Text('BBB'),
Text('AAA'),
Text('BBB'),
],
);
}
@@ -148,27 +148,27 @@ import 'package:flutter/material.dart';
Widget f() {
Widget foo() {
return new Row(
return Row(
children: <Widget>[
new Text('AAA'),
new Text('BBB'),
Text('AAA'),
Text('BBB'),
],
);
}
return foo();
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
Widget f() {
Widget foo() {
return new Row(
return Row(
children: <Widget>[
Test(),
new Text('BBB'),
Text('BBB'),
],
);
}
@@ -182,7 +182,7 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text('AAA');
return Text('AAA');
}
}
''');
@@ -195,7 +195,7 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container();
return Container();
}
}
''');
@@ -218,7 +218,7 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container();
return Container();
}
}
''');
@@ -229,7 +229,7 @@ class Test extends StatelessWidget {
import 'package:flutter/material.dart';
Widget f() {
return new Container();
return Container();
}
''');
@@ -251,24 +251,23 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container();
return Container();
}
}
''');
}
await assertResult('Container');
await assertResult('new Container');
await assertResult('new Container(');
await assertResult('new Container()');
await assertResult('new Container();');
await assertResult('Container(');
await assertResult('Container()');
await assertResult('Container();');
await assertResult('taine');
await assertResult('tainer');
await assertResult('tainer(');
await assertResult('tainer()');
await assertResult('turn new Container');
await assertResult('return new Container()');
await assertResult('return new Container();');
await assertResult('turn Container');
await assertResult('return Container()');
await assertResult('return Container();');
}
Future<void> test_expression_topFunction() async {
@@ -276,24 +275,24 @@ class Test extends StatelessWidget {
import 'package:flutter/material.dart';
Widget f() {
return new Row(
return Row(
children: <Widget>[
new Text('AAA'),
new Text('BBB'),
Text('AAA'),
Text('BBB'),
],
);
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
Widget f() {
return new Row(
return Row(
children: <Widget>[
Test(),
new Text('BBB'),
Text('BBB'),
],
);
}
@@ -305,7 +304,7 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text('AAA');
return Text('AAA');
}
}
''');
@@ -318,8 +317,8 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new GestureDetector(
child: new Text(''),
return GestureDetector(
child: Text(''),
onTap: () {
foo();
},
@@ -329,7 +328,7 @@ class MyWidget extends StatelessWidget {
void foo() {}
}
''');
_createRefactoringForStringOffset('new GestureDetector');
_createRefactoringForStringOffset('GestureDetector');
var status = await refactoring.checkAllConditions();
assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR);
@@ -346,8 +345,8 @@ abstract class MyInterface {
abstract class MyWidget extends StatelessWidget implements MyInterface {
@override
Widget build(BuildContext context) {
return new GestureDetector(
child: new Text(''),
return GestureDetector(
child: Text(''),
onTap: () {
foo();
},
@@ -355,7 +354,7 @@ abstract class MyWidget extends StatelessWidget implements MyInterface {
}
}
''');
_createRefactoringForStringOffset('new GestureDetector');
_createRefactoringForStringOffset('GestureDetector');
var status = await refactoring.checkAllConditions();
assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR);
@@ -370,12 +369,12 @@ class C {
}
class MyWidget extends StatelessWidget {
C c = new C();
C c = C();
@override
Widget build(BuildContext context) {
return new GestureDetector(
child: new Text(''),
return GestureDetector(
child: Text(''),
onTap: () {
c.foo();
},
@@ -383,7 +382,7 @@ class MyWidget extends StatelessWidget {
}
}
''');
_createRefactoringForStringOffset('new GestureDetector');
_createRefactoringForStringOffset('GestureDetector');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
@@ -393,7 +392,7 @@ class C {
}
class MyWidget extends StatelessWidget {
C c = new C();
C c = C();
@override
Widget build(BuildContext context) {
@@ -411,8 +410,8 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new GestureDetector(
child: new Text(''),
return GestureDetector(
child: Text(''),
onTap: () {
c.foo();
},
@@ -433,9 +432,9 @@ class MyWidget extends StatelessWidget {
}
Widget createColumn() {
var a = new Text('AAA');
var b = new Text('BBB');
return new Column(
var a = Text('AAA');
var b = Text('BBB');
return Column(
children: <Widget>[a, b],
);
}
@@ -460,9 +459,9 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
var a = new Text('AAA');
var b = new Text('BBB');
return new Column(
var a = Text('AAA');
var b = Text('BBB');
return Column(
children: <Widget>[a, b],
);
}
@@ -480,7 +479,7 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
int bar = 1;
return new Row(
return Row(
children: <Widget>[
createColumn('aaa', bar),
createColumn('bbb', 2),
@@ -489,9 +488,9 @@ class MyWidget extends StatelessWidget {
}
Widget createColumn(String p1, int p2) {
var a = new Text('$foo $p1');
var b = new Text('$p2');
return new Column(
var a = Text('$foo $p1');
var b = Text('$p2');
return Column(
children: <Widget>[a, b],
);
}
@@ -508,7 +507,7 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
int bar = 1;
return new Row(
return Row(
children: <Widget>[
Test(foo: foo, p1: 'aaa', p2: bar),
Test(foo: foo, p1: 'bbb', p2: 2),
@@ -531,9 +530,9 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
var a = new Text('$foo $p1');
var b = new Text('$p2');
return new Column(
var a = Text('$foo $p1');
var b = Text('$p2');
return Column(
children: <Widget>[a, b],
);
}
@@ -553,7 +552,7 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
int bar = 1;
return new Row(
return Row(
children: <Widget>[
createColumn(p1: 'aaa', p2: bar),
createColumn(p1: 'bbb', p2: 2),
@@ -562,9 +561,9 @@ class MyWidget extends StatelessWidget {
}
Widget createColumn({required String p1, required int p2}) {
var a = new Text('$foo $p1');
var b = new Text('$p2');
return new Column(
var a = Text('$foo $p1');
var b = Text('$p2');
return Column(
children: <Widget>[a, b],
);
}
@@ -583,7 +582,7 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
int bar = 1;
return new Row(
return Row(
children: <Widget>[
Test(foo: foo, p1: 'aaa', p2: bar),
Test(foo: foo, p1: 'bbb', p2: 2),
@@ -606,9 +605,9 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
var a = new Text('$foo $p1');
var b = new Text('$p2');
return new Column(
var a = Text('$foo $p1');
var b = Text('$p2');
return Column(
children: <Widget>[a, b],
);
}
@@ -627,11 +626,11 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text(field);
return Text(field);
}
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
@@ -657,7 +656,7 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text(field);
return Text(field);
}
}
''');
@@ -672,15 +671,15 @@ class C {
}
class MyWidget extends StatelessWidget {
C c = new C();
C c = C();
@override
Widget build(BuildContext context) {
return new Text(c.field);
return Text(c.field);
}
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
@@ -690,7 +689,7 @@ class C {
}
class MyWidget extends StatelessWidget {
C c = new C();
C c = C();
@override
Widget build(BuildContext context) {
@@ -708,7 +707,7 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text(c.field);
return Text(c.field);
}
}
''');
@@ -723,11 +722,11 @@ String field = '';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text(field);
return Text(field);
}
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
@@ -748,7 +747,7 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text(field);
return Text(field);
}
}
''');
@@ -765,8 +764,8 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new GestureDetector(
child: new Text(''),
return GestureDetector(
child: Text(''),
onTap: () {
field = '';
},
@@ -774,7 +773,7 @@ class MyWidget extends StatelessWidget {
}
}
''');
_createRefactoringForStringOffset('new GestureDetector');
_createRefactoringForStringOffset('GestureDetector');
var status = await refactoring.checkAllConditions();
assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR);
@@ -791,8 +790,8 @@ abstract class MySuperWidget extends StatelessWidget {
class MyWidget extends MySuperWidget {
@override
Widget build(BuildContext context) {
return new GestureDetector(
child: new Text(''),
return GestureDetector(
child: Text(''),
onTap: () {
field = '';
},
@@ -800,7 +799,7 @@ class MyWidget extends MySuperWidget {
}
}
''');
_createRefactoringForStringOffset('new GestureDetector');
_createRefactoringForStringOffset('GestureDetector');
var status = await refactoring.checkAllConditions();
assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR);
@@ -815,12 +814,12 @@ class C {
}
class MyWidget extends StatelessWidget {
C c = new C();
C c = C();
@override
Widget build(BuildContext context) {
return new GestureDetector(
child: new Text(''),
return GestureDetector(
child: Text(''),
onTap: () {
c.field = '';
},
@@ -828,7 +827,7 @@ class MyWidget extends StatelessWidget {
}
}
''');
_createRefactoringForStringOffset('new GestureDetector');
_createRefactoringForStringOffset('GestureDetector');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
@@ -838,7 +837,7 @@ class C {
}
class MyWidget extends StatelessWidget {
C c = new C();
C c = C();
@override
Widget build(BuildContext context) {
@@ -856,8 +855,8 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new GestureDetector(
child: new Text(''),
return GestureDetector(
child: Text(''),
onTap: () {
c.field = '';
},
@@ -875,11 +874,11 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
String key = '';
return new Text('$key $key');
return Text('$key $key');
}
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
var status = await refactoring.checkAllConditions();
assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR);
@@ -893,11 +892,11 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
String local = '';
return new Text('$local $local');
return Text('$local $local');
}
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
await _assertSuccessfulRefactoring(r'''
import 'package:flutter/material.dart';
@@ -920,7 +919,7 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text('$local $local');
return Text('$local $local');
}
}
''');
@@ -934,8 +933,8 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
String local;
return new GestureDetector(
child: new Text(''),
return GestureDetector(
child: Text(''),
onTap: () {
local = '';
},
@@ -943,7 +942,7 @@ class MyWidget extends StatelessWidget {
}
}
''');
_createRefactoringForStringOffset('new GestureDetector');
_createRefactoringForStringOffset('GestureDetector');
var status = await refactoring.checkAllConditions();
assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR);
@@ -960,11 +959,11 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text(_field);
return Text(_field);
}
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
@@ -990,7 +989,7 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text(_field);
return Text(_field);
}
}
''');
@@ -1008,11 +1007,11 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text('$field $_field');
return Text('$field $_field');
}
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
await _assertSuccessfulRefactoring(r'''
import 'package:flutter/material.dart';
@@ -1041,7 +1040,7 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text('$field $_field');
return Text('$field $_field');
}
}
''');
@@ -1059,16 +1058,16 @@ class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
String local = '';
return new Column(
return Column(
children: <Widget>[
new Text(field),
new Text(local),
Text(field),
Text(local),
],
);
}
}
''');
_createRefactoringForStringOffset('new Column');
_createRefactoringForStringOffset('Column');
await _assertSuccessfulRefactoring('''
import 'package:flutter/material.dart';
@@ -1097,10 +1096,10 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Column(
return Column(
children: <Widget>[
new Text(field),
new Text(local),
Text(field),
Text(local),
],
);
}
@@ -1115,11 +1114,11 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text('AAA');
return Text('AAA');
}
}
''');
_createRefactoringForStringOffset('new Text');
_createRefactoringForStringOffset('Text');
expect(refactoring.refactoringName, 'Extract Widget');
}
@@ -1132,10 +1131,10 @@ Widget f() {
var a = 'a $index';
// start
var b = 'b $index';
return new Row(
return Row(
children: <Widget>[
new Text(a),
new Text(b),
Text(a),
Text(b),
],
);
// end
@@ -1167,10 +1166,10 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
var b = 'b $index';
return new Row(
return Row(
children: <Widget>[
new Text(a),
new Text(b),
Text(a),
Text(b),
],
);
}
@@ -1199,7 +1198,7 @@ import 'package:flutter/material.dart';
void f() {
// start
new Text('text');
Text('text');
// end
}
''');
@@ -1218,22 +1217,22 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Row(
return Row(
children: <Widget>[
new Column(
Column(
children: <Widget>[
new Text('AAA'),
new Text('BBB'),
Text('AAA'),
Text('BBB'),
],
),
new Text('CCC'),
new Text('DDD'),
Text('CCC'),
Text('DDD'),
],
);
}
}
''');
_createRefactoringForStringOffset('new Column');
_createRefactoringForStringOffset('Column');
await _assertSuccessfulRefactoring('''
// No super params.
@@ -1243,11 +1242,11 @@ import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Row(
return Row(
children: <Widget>[
Test(),
new Text('CCC'),
new Text('DDD'),
Text('CCC'),
Text('DDD'),
],
);
}
@@ -1260,10 +1259,10 @@ class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Column(
return Column(
children: <Widget>[
new Text('AAA'),
new Text('BBB'),
Text('AAA'),
Text('BBB'),
],
);
}
@@ -1296,7 +1295,7 @@ class Test extends StatelessWidget {
_createRefactoring(offset, length);
}
/// Creates a new refactoring in [refactoring] at the offset of the given
/// Creates a refactoring in [refactoring] at the offset of the given
/// [search] pattern.
void _createRefactoringForStringOffset(String search) {
var offset = findOffset(search);
@@ -23,8 +23,8 @@ class AddAwaitBulkTest extends BulkFixProcessorTest {
Future<void> test_singleFile() async {
await resolveTestCode('''
Future doSomething() => new Future.value('');
Future doSomethingElse() => new Future.value('');
Future doSomething() => Future.value('');
Future doSomethingElse() => Future.value('');
void f() async {
doSomething();
@@ -32,8 +32,8 @@ void f() async {
}
''');
await assertHasFix('''
Future doSomething() => new Future.value('');
Future doSomethingElse() => new Future.value('');
Future doSomething() => Future.value('');
Future doSomethingElse() => Future.value('');
void f() async {
await doSomething();
@@ -53,14 +53,14 @@ class AddAwaitTest extends FixProcessorLintTest {
Future<void> test_methodInvocation() async {
await resolveTestCode('''
Future doSomething() => new Future.value('');
Future doSomething() => Future.value('');
void f() async {
doSomething();
}
''');
await assertHasFix('''
Future doSomething() => new Future.value('');
Future doSomething() => Future.value('');
void f() async {
await doSomething();
@@ -49,7 +49,7 @@ var w = const Icon();
Future<void> test_getWidgetPresentationText_notWidget() async {
await resolveTestCode('''
import 'package:flutter/material.dart';
var w = new Object();
var w = Object();
''');
var w = _getTopVariableCreation('w');
expect(_flutter.getWidgetPresentationText(w), isNull);
@@ -101,8 +101,8 @@ var w = new Foo();
import 'package:flutter/widgets.dart';
void f() {
new MyWidget(1234);
new MyWidget.named(5678);
MyWidget(1234);
MyWidget.named(5678);
}
class MyWidget extends StatelessWidget {
@@ -115,7 +115,7 @@ class MyWidget extends StatelessWidget {
var body = f.functionExpression.body as BlockFunctionBody;
var statements = body.block.statements;
// new MyWidget(1234);
// MyWidget(1234);
{
var statement = statements[0] as ExpressionStatement;
var creation = statement.expression as InstanceCreationExpression;
@@ -132,7 +132,7 @@ class MyWidget extends StatelessWidget {
);
}
// new MyWidget.named(5678);
// MyWidget.named(5678);
{
var statement = statements[1] as ExpressionStatement;
var creation = statement.expression as InstanceCreationExpression;
@@ -161,8 +161,8 @@ void f() {
createText('xyz');
}
Text createEmptyText() => new Text('');
Text createText(String txt) => new Text(txt);
Text createEmptyText() => Text('');
Text createText(String txt) => Text(txt);
''');
{
var invocation = findNode.methodInvocation('createEmptyText();');
@@ -188,10 +188,10 @@ Text createText(String txt) => new Text(txt);
import 'package:flutter/widgets.dart';
void f() {
new Container(child: new Text(''));
Container(child: Text(''));
}
Text createEmptyText() => new Text('');
Text createEmptyText() => Text('');
''');
var childExpression = findNode.namedExpression('child: ');
expect(_flutter.identifyWidgetExpression(childExpression), isNull);
@@ -256,7 +256,7 @@ void f() {
intVariable;
}
Text createEmptyText() => new Text('');
Text createEmptyText() => Text('');
''');
expect(_flutter.identifyWidgetExpression(null), isNull);
{
@@ -275,7 +275,7 @@ Text createEmptyText() => new Text('');
import 'package:flutter/widgets.dart';
void f() {
var text = new Text('abc');
var text = Text('abc');
useWidget(text); // ref
}
@@ -411,7 +411,7 @@ List<Widget> f(Widget widget) {
import 'package:flutter/widgets.dart';
void f() {
var text = new Text('abc');
var text = Text('abc');
useWidget(child: text); // ref
}
@@ -463,8 +463,8 @@ class NotWidget extends State {}
await resolveTestCode('''
import 'package:flutter/widgets.dart';
var a = new Object();
var b = new Text('bbb');
var a = Object();
var b = Text('bbb');
''');
expect(_flutter.isWidgetCreation(null), isFalse);
@@ -481,10 +481,10 @@ import 'package:flutter/widgets.dart';
void f() {
MyWidget.named(); // use
var text = new Text('abc');
var text = Text('abc');
text;
createEmptyText();
new Container(child: text);
Container(child: text);
var intVariable = 42;
intVariable;
}
@@ -503,7 +503,7 @@ Text createEmptyText() => new Text('');
}
{
var expression = findNode.instanceCreation("new Text('abc')");
var expression = findNode.instanceCreation("Text('abc')");
expect(_flutter.isWidgetExpression(expression), isTrue);
}