Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 37cccea

Browse files
author
Dart CI
committed
Version 2.11.0-247.0.dev
Merge commit 'a669f440a630feb951b6a641d21bf0879bb5dd23' into 'dev'
2 parents aa6968f + a669f44 commit 37cccea

27 files changed

+2673
-3001
lines changed

pkg/analysis_server/lib/src/services/correction/dart/replace_with_var.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,11 @@ class ReplaceWithVar extends CorrectionProducer {
4545
if (initializer is TypedLiteral) {
4646
if (initializer.typeArguments == null) {
4747
typeArgumentsText = utils.getNodeText(type.typeArguments);
48-
typeArgumentsOffset = initializer.offset;
48+
if (initializer is ListLiteral) {
49+
typeArgumentsOffset = initializer.leftBracket.offset;
50+
} else if (initializer is SetOrMapLiteral) {
51+
typeArgumentsOffset = initializer.leftBracket.offset;
52+
}
4953
}
5054
} else if (initializer is InstanceCreationExpression) {
5155
if (initializer.constructorName.type.typeArguments == null) {

pkg/analysis_server/lib/src/services/flutter/property.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ String getFieldDocumentation(FieldElement field) {
2424

2525
String getParameterDocumentation(ParameterElement parameter) {
2626
if (parameter is FieldFormalParameterElement) {
27-
var rawComment = parameter.field.documentationComment;
27+
var rawComment = parameter.field?.documentationComment;
2828
return getDartDocPlainText(rawComment);
2929
}
3030
return null;

pkg/analysis_server/test/src/services/correction/fix/replace_with_var_test.dart

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,21 @@ List f() {
123123
''');
124124
}
125125

126+
Future<void> test_generic_listLiteral_const() async {
127+
await resolveTestUnit('''
128+
String f() {
129+
const List<String> values = const ['a'];
130+
return values[0];
131+
}
132+
''');
133+
await assertHasFix('''
134+
String f() {
135+
const values = const <String>['a'];
136+
return values[0];
137+
}
138+
''');
139+
}
140+
126141
Future<void> test_generic_mapLiteral() async {
127142
await resolveTestUnit('''
128143
Map f() {
@@ -138,6 +153,21 @@ Map f() {
138153
''');
139154
}
140155

156+
Future<void> test_generic_mapLiteral_const() async {
157+
await resolveTestUnit('''
158+
Map f() {
159+
const Map<String, int> m = const {};
160+
return m;
161+
}
162+
''');
163+
await assertHasFix('''
164+
Map f() {
165+
const m = const <String, int>{};
166+
return m;
167+
}
168+
''');
169+
}
170+
141171
Future<void> test_generic_setLiteral() async {
142172
await resolveTestUnit('''
143173
Set f() {
@@ -163,6 +193,21 @@ Set f() {
163193
await assertNoFix();
164194
}
165195

196+
Future<void> test_generic_setLiteral_const() async {
197+
await resolveTestUnit('''
198+
String f() {
199+
const Set<String> s = const {'a'};
200+
return s.first;
201+
}
202+
''');
203+
await assertHasFix('''
204+
String f() {
205+
const s = const <String>{'a'};
206+
return s.first;
207+
}
208+
''');
209+
}
210+
166211
Future<void> test_simple() async {
167212
await resolveTestUnit('''
168213
String f() {

pkg/analysis_server/test/src/services/flutter/widget_descriptions_test.dart

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,37 @@ void main() {
1717

1818
@reflectiveTest
1919
class GetDescriptionTest extends WidgetDescriptionBase {
20+
Future<void> test_documentation_fieldFormalParameter() async {
21+
await resolveTestUnit('''
22+
class MyWidget {
23+
/// my doc
24+
final int f;
25+
MyWidget(this.f);
26+
}
27+
28+
void f() {
29+
MyWidget(0);
30+
}
31+
''');
32+
var property = await getWidgetProperty('MyWidget(0', 'f');
33+
expect(property.documentation, 'my doc');
34+
}
35+
36+
Future<void> test_documentation_fieldFormalParameter_unresolvedField() async {
37+
verifyNoTestUnitErrors = false;
38+
await resolveTestUnit('''
39+
class MyWidget {
40+
MyWidget(this.f);
41+
}
42+
43+
void f() {
44+
MyWidget(0);
45+
}
46+
''');
47+
var property = await getWidgetProperty('MyWidget(0', 'f');
48+
expect(property.documentation, isNull);
49+
}
50+
2051
Future<void> test_kind_named_notSet() async {
2152
await resolveTestUnit('''
2253
import 'package:flutter/material.dart';

pkg/analyzer/lib/src/dart/analysis/driver.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ typedef WorkToWaitAfterComputingResult = Future<void> Function(String path);
8585
/// TODO(scheglov) Clean up the list of implicitly analyzed files.
8686
class AnalysisDriver implements AnalysisDriverGeneric {
8787
/// The version of data format, should be incremented on every format change.
88-
static const int DATA_VERSION = 114;
88+
static const int DATA_VERSION = 112;
8989

9090
/// The length of the list returned by [_computeDeclaredVariablesSignature].
9191
static const int _declaredVariablesSignatureLength = 4;

0 commit comments

Comments
 (0)