Don't use 'Source.encoding'. (#2020)
diff --git a/lib/src/model.dart b/lib/src/model.dart
index 2218fa7..c6beacd 100644
--- a/lib/src/model.dart
+++ b/lib/src/model.dart
@@ -2777,23 +2777,19 @@
static String getLibraryName(LibraryElement element) {
var source = element.source;
- String name = element.name;
- if (name == null || name.isEmpty) {
- // handle the case of an anonymous library
- name = path.basename(source.fullName);
-
- if (name.endsWith('.dart')) {
- name = name.substring(0, name.length - '.dart'.length);
- }
+ if (source.uri.isScheme('dart')) {
+ return '${source.uri}';
}
- // So, if the library is a system library, it's name is not
- // dart:___, it's dart.___. Apparently the way to get to the dart:___
- // name is to get source.encoding.
- // This may be wrong or misleading, but developers expect the name
- // of dart:____
- name = source.isInSystemLibrary ? source.encoding : name;
+ var name = element.name;
+ if (name != null && name.isNotEmpty) {
+ return name;
+ }
+ name = path.basename(source.fullName);
+ if (name.endsWith('.dart')) {
+ name = name.substring(0, name.length - '.dart'.length);
+ }
return name;
}