Include debug data for state error in ResolvedLibraryResultImpl
Bug: https://github.com/dart-lang/sdk/issues/45430
Change-Id: If1f75ac54dc73fa8b0fe6fc0666acd48b3ff1357
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/results.dart b/pkg/analyzer/lib/src/dart/analysis/results.dart
index 9bd876d..c2e5b28 100644
--- a/pkg/analyzer/lib/src/dart/analysis/results.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/results.dart
@@ -302,8 +302,13 @@
(r) => r.path == elementPath,
orElse: () {
var elementStr = element.getDisplayString(withNullability: true);
- throw ArgumentError('Element (${element.runtimeType}) $elementStr is '
- 'not defined in this library.');
+ var buffer = StringBuffer();
+ buffer.write('Element (${element.runtimeType}) $elementStr');
+ buffer.writeln(' is not defined in this library.');
+ // TODO(scheglov) https://github.com/dart-lang/sdk/issues/45430
+ buffer.writeln('elementPath: $elementPath');
+ buffer.writeln('unitPaths: ${units!.map((e) => e.path).toList()}');
+ throw ArgumentError('$buffer');
},
);