Skip to content

Commit ca6a56d

Browse files
authored
Fix crash on invalid prefix imports. (#1899)
1 parent a6b4e7d commit ca6a56d

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

lib/src/model.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2236,7 +2236,8 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
22362236
_prefixToLibrary = {};
22372237
// It is possible to have overlapping prefixes.
22382238
for (ImportElement i in (element as LibraryElement).imports) {
2239-
if (i.prefix?.name != null) {
2239+
// Ignore invalid imports.
2240+
if (i.prefix?.name != null && i.importedLibrary != null) {
22402241
_prefixToLibrary.putIfAbsent(i.prefix?.name, () => new Set());
22412242
_prefixToLibrary[i.prefix?.name].add(
22422243
new ModelElement.from(i.importedLibrary, library, packageGraph));

testing/test_package/lib/fake.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ library fake;
4848

4949
import 'dart:async';
5050
import 'dart:collection';
51+
// Make sure dartdoc ignores invalid prefixes imports (#1896)
52+
// ignore: uri_does_not_exist
53+
import 'dart:json' as invalidPrefix;
5154
import 'package:meta/meta.dart' show Required;
5255
import 'csspub.dart' as css;
5356
import 'csspub.dart' as renamedLib2;

0 commit comments

Comments
 (0)