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

Commit e1e7933

Browse files
author
Dart CI
committed
Version 2.18.0-233.0.dev
Merge commit '09ec1743fe97b22969a394f8d830074dbd1ad8a2' into 'dev'
2 parents c165d5b + 09ec174 commit e1e7933

File tree

6 files changed

+28
-38
lines changed

6 files changed

+28
-38
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class ConvertIntoBlockBody extends CorrectionProducer {
6161
var functionElement = _getFunctionElement(body.parent);
6262
if (functionElement == null) return null;
6363

64-
var lines = ['// TODO: implement ${functionElement.name}'];
64+
var lines = ['// TODO: implement ${functionElement.displayName}'];
6565

6666
var returnValueType = functionElement.returnType;
6767
if (!returnValueType.isVoid) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ enum E {
6565
enum E {
6666
v;
6767
set s(int _) {
68-
// TODO: implement s=
68+
// TODO: implement s
6969
}
7070
}
7171
''');

pkg/analyzer/lib/src/error/inheritance_override.dart

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -749,14 +749,15 @@ class _ClassVerifier {
749749
/// because the class itself defines an abstract method with this [name],
750750
/// report the more specific error, and return `true`.
751751
bool _reportConcreteClassWithAbstractMember(String name) {
752-
bool checkMemberNameCombo(ClassMember member, String memberName) {
752+
bool checkMemberNameCombo(
753+
ClassMember member, String memberName, String displayName) {
753754
if (memberName == name) {
754755
reporter.reportErrorForNode(
755756
classElement.isEnum
756757
? CompileTimeErrorCode.ENUM_WITH_ABSTRACT_MEMBER
757758
: CompileTimeErrorCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER,
758759
member,
759-
[name, classElement.name],
760+
[displayName, classElement.name],
760761
);
761762
return true;
762763
} else {
@@ -766,18 +767,18 @@ class _ClassVerifier {
766767

767768
for (var member in members) {
768769
if (member is MethodDeclaration) {
769-
var name2 = member.name.name;
770+
var displayName = member.name.name;
771+
var name2 = displayName;
770772
if (member.isSetter) {
771773
name2 += '=';
772774
}
773-
if (checkMemberNameCombo(member, name2)) return true;
775+
if (checkMemberNameCombo(member, name2, displayName)) return true;
774776
} else if (member is FieldDeclaration) {
775777
for (var variableDeclaration in member.fields.variables) {
776778
var name2 = variableDeclaration.name.name;
777-
if (checkMemberNameCombo(member, name2)) return true;
779+
if (checkMemberNameCombo(member, name2, name2)) return true;
778780
if (!variableDeclaration.isFinal) {
779-
name2 += '=';
780-
if (checkMemberNameCombo(member, name2)) return true;
781+
if (checkMemberNameCombo(member, '$name2=', name2)) return true;
781782
}
782783
}
783784
}

pkg/analyzer/test/src/diagnostics/concrete_class_with_abstract_member_test.dart

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ class A {
2525
''', [
2626
error(CompileTimeErrorCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER, 12, 16,
2727
text: "'x' must have a method body because 'A' isn't abstract."),
28-
error(CompileTimeErrorCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER, 12, 16,
29-
text: "'x=' must have a method body because 'A' isn't abstract."),
3028
]);
3129
}
3230

@@ -56,6 +54,17 @@ class A {
5654
}
5755
''');
5856
}
57+
58+
test_setter() async {
59+
await assertErrorsInCode('''
60+
class A {
61+
set s(int i);
62+
}
63+
''', [
64+
error(CompileTimeErrorCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER, 12, 13,
65+
text: "'s' must have a method body because 'A' isn't abstract."),
66+
]);
67+
}
5968
}
6069

6170
mixin ConcreteClassWithAbstractMemberTestCases on PubPackageResolutionTest {

pkg/front_end/test/incremental_compiler_leak_test.dart

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -192,32 +192,12 @@ class LeakFinder extends vmService.LaunchingVMServiceHelper {
192192
String? uriString = classDetails.location?.script?.uri;
193193
if (uriString == null) return true;
194194
if (uriString.startsWith("package:front_end/")) {
195-
// Classes used for lazy initialization will naturally fluctuate.
196-
if (classDetails.name == "DillClassBuilder") return true;
197-
if (classDetails.name == "DillExtensionBuilder") return true;
198-
if (classDetails.name == "DillExtensionMemberBuilder") return true;
199-
if (classDetails.name == "DillMemberBuilder") return true;
200-
if (classDetails.name == "DillTypeAliasBuilder") return true;
201-
202-
// These classes have proved to fluctuate, although the reason is less
203-
// clear.
204-
if (classDetails.name == "InheritedImplementationInterfaceConflict") {
205-
return true;
206-
}
207-
if (classDetails.name == "AbstractMemberOverridingImplementation") {
208-
return true;
209-
}
210-
if (classDetails.name == "VoidTypeBuilder") return true;
211-
if (classDetails.name == "NamedTypeBuilder") return true;
212-
if (classDetails.name == "DillClassMember") return true;
213-
if (classDetails.name == "Scope") return true;
214-
if (classDetails.name == "ConstructorScope") return true;
215-
if (classDetails.name == "ScopeBuilder") return true;
216-
if (classDetails.name == "ConstructorScopeBuilder") return true;
217-
if (classDetails.name == "NullTypeDeclarationBuilder") return true;
218-
if (classDetails.name == "NullabilityBuilder") return true;
219-
220-
return false;
195+
// Because of lazy loading many things naturally fluctuate.
196+
// We'll therefore restrict this to Source* stuff and
197+
// DillLibraryBuilder for front_end stuff.
198+
if (classDetails.name?.startsWith("Source") ?? false) return false;
199+
if (classDetails.name == "DillLibraryBuilder") return false;
200+
return true;
221201
} else if (uriString.startsWith("package:kernel/")) {
222202
// DirtifyingList is used for lazy stuff and naturally change in numbers.
223203
if (classDetails.name == "DirtifyingList") return true;

tools/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ CHANNEL dev
2727
MAJOR 2
2828
MINOR 18
2929
PATCH 0
30-
PRERELEASE 232
30+
PRERELEASE 233
3131
PRERELEASE_PATCH 0

0 commit comments

Comments
 (0)