Skip to content

Commit cb4f5b3

Browse files
committed
Resynthesize nameOffset for properties/parameters.
R=brianwilkerson@google.com Change-Id: Ib3213529836df20f580a5d8805006ba13b82bf20 Reviewed-on: https://dart-review.googlesource.com/68761 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
1 parent 69f216d commit cb4f5b3

6 files changed

Lines changed: 42 additions & 51 deletions

File tree

pkg/analysis_server/test/analysis/notification_navigation_test.dart

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,10 +1038,6 @@ class AnalysisNotificationNavigationTest_UseCFE
10381038
@override
10391039
bool get useCFE => true;
10401040

1041-
@failingTest
1042-
@override
1043-
test_annotationField() async => super.test_annotationField();
1044-
10451041
@failingTest
10461042
@override
10471043
test_inComment() async => super.test_inComment();

pkg/analysis_server/test/analysis/notification_overrides_test.dart

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -632,18 +632,6 @@ class AnalysisNotificationOverridesTest_UseCFE
632632
@override
633633
bool get useCFE => true;
634634

635-
@failingTest
636-
@override
637-
test_super_fieldByField() async => super.test_super_fieldByField();
638-
639-
@failingTest
640-
@override
641-
test_super_fieldByGetter() async => super.test_super_fieldByGetter();
642-
643-
@failingTest
644-
@override
645-
test_super_fieldBySetter() async => super.test_super_fieldBySetter();
646-
647635
@failingTest
648636
@override
649637
test_super_method_superTypeCycle() async {

pkg/analysis_server/test/integration/analysis/navigation_test.dart

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,4 @@ part of foo;
139139
class AnalysisNavigationTest_UseCFE extends AnalysisNavigationTest {
140140
@override
141141
bool get useCFE => true;
142-
143-
@override
144-
@failingTest
145-
test_navigation() => super.test_navigation();
146142
}

pkg/analysis_server/test/search/type_hierarchy_test.dart

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,28 +1103,6 @@ class GetTypeHierarchyTest_UseCFE extends GetTypeHierarchyTest {
11031103
// return callFailingTest(super.test_fromField_toMixinSetter);
11041104
}
11051105

1106-
@failingTest
1107-
@override
1108-
test_member_fromField_toField() => super.test_member_fromField_toField();
1109-
1110-
@failingTest
1111-
@override
1112-
test_member_fromField_toGetter() => super.test_member_fromField_toGetter();
1113-
1114-
@failingTest
1115-
@override
1116-
test_member_fromField_toSetter() => super.test_member_fromField_toSetter();
1117-
1118-
@failingTest
1119-
@override
1120-
test_member_fromFinalField_toGetter() =>
1121-
super.test_member_fromFinalField_toGetter();
1122-
1123-
@failingTest
1124-
@override
1125-
test_member_fromFinalField_toSetter() =>
1126-
super.test_member_fromFinalField_toSetter();
1127-
11281106
@failingTest
11291107
@override
11301108
test_member_getter() {

pkg/analyzer/lib/src/dart/element/element.dart

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8078,8 +8078,13 @@ abstract class NonParameterVariableElementImpl extends VariableElementImpl {
80788078
@override
80798079
int get nameOffset {
80808080
int offset = super.nameOffset;
8081-
if (offset == 0 && _unlinkedVariable != null) {
8082-
return _unlinkedVariable.nameOffset;
8081+
if (offset == 0) {
8082+
if (_kernel != null) {
8083+
return _kernel.fileOffset;
8084+
}
8085+
if (_unlinkedVariable != null) {
8086+
return _unlinkedVariable.nameOffset;
8087+
}
80838088
}
80848089
return offset;
80858090
}
@@ -8446,14 +8451,19 @@ class ParameterElementImpl extends VariableElementImpl
84468451
@override
84478452
int get nameOffset {
84488453
int offset = super.nameOffset;
8449-
if (offset == 0 && unlinkedParam != null) {
8450-
if (isSynthetic ||
8451-
(unlinkedParam.name.isEmpty &&
8452-
unlinkedParam.kind != UnlinkedParamKind.named &&
8453-
enclosingElement is GenericFunctionTypeElement)) {
8454-
return -1;
8454+
if (offset == 0) {
8455+
if (_kernel != null) {
8456+
return _kernel.fileOffset;
8457+
}
8458+
if (unlinkedParam != null) {
8459+
if (isSynthetic ||
8460+
(unlinkedParam.name.isEmpty &&
8461+
unlinkedParam.kind != UnlinkedParamKind.named &&
8462+
enclosingElement is GenericFunctionTypeElement)) {
8463+
return -1;
8464+
}
8465+
return unlinkedParam.nameOffset;
84558466
}
8456-
return unlinkedParam.nameOffset;
84578467
}
84588468
return offset;
84598469
}

pkg/analyzer/test/src/summary/resynthesize_common.dart

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9023,6 +9023,16 @@ class C {
90239023
''');
90249024
}
90259025

9026+
test_parameter() async {
9027+
var library = await checkLibrary('void main(int p) {}');
9028+
checkElementText(
9029+
library,
9030+
r'''
9031+
void main@5(int p@14) {}
9032+
''',
9033+
withOffsets: true);
9034+
}
9035+
90269036
test_parameter_checked() async {
90279037
// Note: due to dartbug.com/27393, the keyword "checked" is identified by
90289038
// its presence in a library called "meta". If that bug is fixed, this test
@@ -10445,6 +10455,19 @@ dynamic v;
1044510455
}
1044610456
}
1044710457

10458+
test_variable() async {
10459+
var library = await checkLibrary('int x = 0;');
10460+
checkElementText(
10461+
library,
10462+
r'''
10463+
int x@4;
10464+
synthetic int get x@4 {}
10465+
synthetic void set x@4(int _x@4) {}
10466+
''',
10467+
withOffsets: true,
10468+
withSyntheticAccessors: true);
10469+
}
10470+
1044810471
test_variable_const() async {
1044910472
var library = await checkLibrary('const int i = 0;');
1045010473
checkElementText(library, r'''

0 commit comments

Comments
 (0)