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>
diff --git a/pkg/analysis_server/test/analysis/notification_navigation_test.dart b/pkg/analysis_server/test/analysis/notification_navigation_test.dart
index a7f279a..890f511 100644
--- a/pkg/analysis_server/test/analysis/notification_navigation_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_navigation_test.dart
@@ -1040,10 +1040,6 @@
@failingTest
@override
- test_annotationField() async => super.test_annotationField();
-
- @failingTest
- @override
test_inComment() async => super.test_inComment();
@failingTest
diff --git a/pkg/analysis_server/test/analysis/notification_overrides_test.dart b/pkg/analysis_server/test/analysis/notification_overrides_test.dart
index 23dee92..5942c7c 100644
--- a/pkg/analysis_server/test/analysis/notification_overrides_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_overrides_test.dart
@@ -634,18 +634,6 @@
@failingTest
@override
- test_super_fieldByField() async => super.test_super_fieldByField();
-
- @failingTest
- @override
- test_super_fieldByGetter() async => super.test_super_fieldByGetter();
-
- @failingTest
- @override
- test_super_fieldBySetter() async => super.test_super_fieldBySetter();
-
- @failingTest
- @override
test_super_method_superTypeCycle() async {
fail('Timeout');
// return callFailingTest(super.test_super_method_superTypeCycle);
diff --git a/pkg/analysis_server/test/integration/analysis/navigation_test.dart b/pkg/analysis_server/test/integration/analysis/navigation_test.dart
index 1eb6b71..0337b72 100644
--- a/pkg/analysis_server/test/integration/analysis/navigation_test.dart
+++ b/pkg/analysis_server/test/integration/analysis/navigation_test.dart
@@ -139,8 +139,4 @@
class AnalysisNavigationTest_UseCFE extends AnalysisNavigationTest {
@override
bool get useCFE => true;
-
- @override
- @failingTest
- test_navigation() => super.test_navigation();
}
diff --git a/pkg/analysis_server/test/search/type_hierarchy_test.dart b/pkg/analysis_server/test/search/type_hierarchy_test.dart
index d707da7..6c20bff 100644
--- a/pkg/analysis_server/test/search/type_hierarchy_test.dart
+++ b/pkg/analysis_server/test/search/type_hierarchy_test.dart
@@ -1105,28 +1105,6 @@
@failingTest
@override
- test_member_fromField_toField() => super.test_member_fromField_toField();
-
- @failingTest
- @override
- test_member_fromField_toGetter() => super.test_member_fromField_toGetter();
-
- @failingTest
- @override
- test_member_fromField_toSetter() => super.test_member_fromField_toSetter();
-
- @failingTest
- @override
- test_member_fromFinalField_toGetter() =>
- super.test_member_fromFinalField_toGetter();
-
- @failingTest
- @override
- test_member_fromFinalField_toSetter() =>
- super.test_member_fromFinalField_toSetter();
-
- @failingTest
- @override
test_member_getter() {
fail('Timeout');
// return callFailingTest(super.test_member_getter);
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 0872c30..792a447 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -8078,8 +8078,13 @@
@override
int get nameOffset {
int offset = super.nameOffset;
- if (offset == 0 && _unlinkedVariable != null) {
- return _unlinkedVariable.nameOffset;
+ if (offset == 0) {
+ if (_kernel != null) {
+ return _kernel.fileOffset;
+ }
+ if (_unlinkedVariable != null) {
+ return _unlinkedVariable.nameOffset;
+ }
}
return offset;
}
@@ -8446,14 +8451,19 @@
@override
int get nameOffset {
int offset = super.nameOffset;
- if (offset == 0 && unlinkedParam != null) {
- if (isSynthetic ||
- (unlinkedParam.name.isEmpty &&
- unlinkedParam.kind != UnlinkedParamKind.named &&
- enclosingElement is GenericFunctionTypeElement)) {
- return -1;
+ if (offset == 0) {
+ if (_kernel != null) {
+ return _kernel.fileOffset;
}
- return unlinkedParam.nameOffset;
+ if (unlinkedParam != null) {
+ if (isSynthetic ||
+ (unlinkedParam.name.isEmpty &&
+ unlinkedParam.kind != UnlinkedParamKind.named &&
+ enclosingElement is GenericFunctionTypeElement)) {
+ return -1;
+ }
+ return unlinkedParam.nameOffset;
+ }
}
return offset;
}
diff --git a/pkg/analyzer/test/src/summary/resynthesize_common.dart b/pkg/analyzer/test/src/summary/resynthesize_common.dart
index db674ca..38dd3ef 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_common.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_common.dart
@@ -9023,6 +9023,16 @@
''');
}
+ test_parameter() async {
+ var library = await checkLibrary('void main(int p) {}');
+ checkElementText(
+ library,
+ r'''
+void main@5(int p@14) {}
+''',
+ withOffsets: true);
+ }
+
test_parameter_checked() async {
// Note: due to dartbug.com/27393, the keyword "checked" is identified by
// its presence in a library called "meta". If that bug is fixed, this test
@@ -10445,6 +10455,19 @@
}
}
+ test_variable() async {
+ var library = await checkLibrary('int x = 0;');
+ checkElementText(
+ library,
+ r'''
+int x@4;
+synthetic int get x@4 {}
+synthetic void set x@4(int _x@4) {}
+''',
+ withOffsets: true,
+ withSyntheticAccessors: true);
+ }
+
test_variable_const() async {
var library = await checkLibrary('const int i = 0;');
checkElementText(library, r'''