Revert "Add DartEditBuilder.writeTopLevelElementReference()."
This reverts commit 23a1534432ae038b4d6eedc8f3a98b6a86bf1673.
Reason for revert: a different API is more suitable.
Original change's description:
> Add DartEditBuilder.writeTopLevelElementReference().
>
> R=​brianwilkerson@google.com, paulberry@google.com
>
> Change-Id: Ib1511a91a7f021002e4b2f109cebe82b2814985d
> Reviewed-on: https://dart-review.googlesource.com/53687
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Paul Berry <paulberry@google.com>
TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ia5a8f1976d8ffc21de5672cce3dee73c3297cfcf
Reviewed-on: https://dart-review.googlesource.com/53881
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart b/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
index 636af2a..19623cc 100644
--- a/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
+++ b/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
@@ -580,34 +580,6 @@
}
@override
- void writeTopLevelElementReference(Element element) {
- if (element?.enclosingElement is! CompilationUnitElement) {
- throw new ArgumentError('The element $element is not top-level.');
- }
- if (element is! FunctionElement && element is! PropertyAccessorElement) {
- throw new ArgumentError(
- 'The element $element can only be a top-level function or accessor.');
- }
-
- LibraryElement definingLibrary = element.library;
- LibraryElement importingLibrary = dartFileEditBuilder.unit.element.library;
-
- // TODO(scheglov) Extract this code (it is already used twice).
- // TODO(scheglov) Consider updating `show` combinator to show the element.
- ImportElement existingImport = _getImportElement(element, importingLibrary);
- if (existingImport != null) {
- if (existingImport.prefix != null) {
- write(existingImport.prefix.displayName);
- write('.');
- }
- } else {
- importLibrary(definingLibrary.source);
- }
-
- write(element.displayName);
- }
-
- @override
bool writeType(DartType type,
{bool addSupertypeProposals: false,
String groupName,
diff --git a/pkg/analyzer_plugin/lib/utilities/change_builder/change_builder_dart.dart b/pkg/analyzer_plugin/lib/utilities/change_builder/change_builder_dart.dart
index 5df9c02..86545f0 100644
--- a/pkg/analyzer_plugin/lib/utilities/change_builder/change_builder_dart.dart
+++ b/pkg/analyzer_plugin/lib/utilities/change_builder/change_builder_dart.dart
@@ -223,13 +223,6 @@
void writeParametersMatchingArguments(ArgumentList arguments);
/**
- * Write the code that references the given top-level [element] (a top-level
- * function, or a property accessor). If the [element] is not a top-level
- * element then [ArgumentError] is thrown.
- */
- void writeTopLevelElementReference(Element element);
-
- /**
* Write the code for a type annotation for the given [type]. If the [type] is
* either `null` or represents the type 'dynamic', then the behavior depends
* on whether a type is [required]. If [required] is `true`, then 'var' will
diff --git a/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart b/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart
index d5691de..fdb1008 100644
--- a/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart
+++ b/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart
@@ -1577,78 +1577,6 @@
expect(edit.replacement, equalsIgnoringWhitespace('String s, int i'));
}
- test_writeTopLevelElementReference_hasImport_noPrefix() async {
- String aPath = provider.convertPath('/a.dart');
- addSource(aPath, 'const a = 42;');
-
- String path = provider.convertPath('/test.dart');
- String content = r'''
-import 'a.dart';
-''';
- addSource(path, content);
-
- var aElement = await _getTopLevelAccessorElement(aPath, 'a');
-
- DartChangeBuilderImpl builder = new DartChangeBuilder(session);
- await builder.addFileEdit(path, (DartFileEditBuilder builder) {
- builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
- builder.write('const v = ');
- builder.writeTopLevelElementReference(aElement);
- builder.write(';');
- });
- });
- SourceEdit edit = getEdit(builder);
- expect(edit.replacement, equalsIgnoringWhitespace('const v = a;'));
- }
-
- test_writeTopLevelElementReference_hasImport_prefix() async {
- String aPath = provider.convertPath('/a.dart');
- addSource(aPath, 'const a = 42;');
-
- String path = provider.convertPath('/test.dart');
- String content = r'''
-import 'a.dart' as p;
-''';
- addSource(path, content);
-
- var aElement = await _getTopLevelAccessorElement(aPath, 'a');
-
- DartChangeBuilderImpl builder = new DartChangeBuilder(session);
- await builder.addFileEdit(path, (DartFileEditBuilder builder) {
- builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
- builder.write('const v = ');
- builder.writeTopLevelElementReference(aElement);
- builder.write(';');
- });
- });
- SourceEdit edit = getEdit(builder);
- expect(edit.replacement, equalsIgnoringWhitespace('const v = p.a;'));
- }
-
- test_writeTopLevelElementReference_noImport() async {
- String aPath = provider.convertPath('/a.dart');
- addSource(aPath, 'const a = 42;');
-
- String path = provider.convertPath('/test.dart');
- String content = '';
- addSource(path, content);
-
- var aElement = await _getTopLevelAccessorElement(aPath, 'a');
-
- DartChangeBuilderImpl builder = new DartChangeBuilder(session);
- await builder.addFileEdit(path, (DartFileEditBuilder builder) {
- builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
- builder.write('const v = ');
- builder.writeTopLevelElementReference(aElement);
- builder.write(';');
- });
- });
- List<SourceEdit> edits = getEdits(builder);
- expect(edits, hasLength(2));
- expect(edits[0].replacement, equalsIgnoringWhitespace("import 'a.dart';"));
- expect(edits[1].replacement, equalsIgnoringWhitespace('const v = a;'));
- }
-
test_writeType_dynamic() async {
String path = provider.convertPath('/test.dart');
String content = 'class A {}';
@@ -1984,12 +1912,6 @@
return result.element.getType(name);
}
- Future<PropertyAccessorElement> _getTopLevelAccessorElement(
- String path, String name) async {
- UnitElementResult result = await driver.getUnitElement(path);
- return result.element.accessors.firstWhere((v) => v.name == name);
- }
-
Future<DartType> _getType(String path, String name) async {
ClassElement classElement = await _getClassElement(path, name);
return classElement.type;