Skip to content

Commit 0b6a9c9

Browse files
authored
Eliminate relative imports where possible and workaround inheritance problem in reexported classes (#1675)
* Eliminate relative imports where possible (and not in test package) * Add back the dartdoc options export to see if it causes meltdown on Windows * Workaround for dart-lang/sdk#32923 * Sort imports with Optimize Imports
1 parent de381e6 commit 0b6a9c9

12 files changed

+47
-55
lines changed

lib/dartdoc.dart

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,25 @@ import 'package:analyzer/analyzer.dart';
1313
import 'package:analyzer/dart/analysis/results.dart';
1414
import 'package:analyzer/src/generated/engine.dart';
1515
import 'package:analyzer/src/generated/source.dart';
16+
import 'package:dartdoc/src/config.dart';
17+
import 'package:dartdoc/src/generator.dart';
18+
import 'package:dartdoc/src/html/html_generator.dart';
19+
import 'package:dartdoc/src/logging.dart';
20+
import 'package:dartdoc/src/model.dart';
21+
import 'package:dartdoc/src/package_meta.dart';
1622
import 'package:dartdoc/src/utils.dart';
23+
import 'package:dartdoc/src/warnings.dart';
1724
import 'package:html/dom.dart' show Element, Document;
1825
import 'package:html/parser.dart' show parse;
1926
import 'package:path/path.dart' as pathLib;
20-
2127
import 'package:tuple/tuple.dart';
22-
import 'src/config.dart';
23-
import 'src/generator.dart';
24-
import 'src/html/html_generator.dart';
25-
import 'src/logging.dart';
26-
import 'src/model.dart';
27-
import 'src/package_meta.dart';
28-
import 'src/warnings.dart';
29-
30-
export 'src/config.dart';
31-
export 'src/element_type.dart';
32-
export 'src/generator.dart';
33-
export 'src/model.dart';
34-
export 'src/package_meta.dart';
28+
29+
export 'package:dartdoc/src/config.dart';
30+
export 'package:dartdoc/src/dartdoc_options.dart';
31+
export 'package:dartdoc/src/element_type.dart';
32+
export 'package:dartdoc/src/generator.dart';
33+
export 'package:dartdoc/src/model.dart';
34+
export 'package:dartdoc/src/package_meta.dart';
3535

3636
const String name = 'dartdoc';
3737
// Update when pubspec version changes.

lib/src/dartdoc_options.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@ import 'dart:io';
1919
import 'package:analyzer/dart/element/element.dart';
2020
import 'package:args/args.dart';
2121
import 'package:dartdoc/dartdoc.dart';
22+
import 'package:dartdoc/src/logging.dart';
2223
import 'package:path/path.dart' as pathLib;
2324
import 'package:yaml/yaml.dart';
2425

25-
import 'logging.dart';
26-
2726
/// Constants to help with type checking, because T is int and so forth
2827
/// don't work in Dart.
2928
const String _kStringVal = '';

lib/src/debug.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
library debugger_helper;
66

7-
import "dart:developer" as dev;
7+
import 'dart:developer' as dev;
88

99
get debugger =>
1010
const String.fromEnvironment('DEBUG') == null ? _nodebugger : dev.debugger;

lib/src/element_type.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ library dartdoc.element_type;
77

88
import 'package:analyzer/dart/element/element.dart';
99
import 'package:analyzer/dart/element/type.dart';
10-
11-
import 'model.dart';
10+
import 'package:dartdoc/src/model.dart';
1211

1312
/// Base class representing a type in Dartdoc. It wraps a [DartType], and
1413
/// may link to a [ModelElement].

lib/src/generator.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ library dartdoc.generator;
88
import 'dart:async' show Stream, Future;
99
import 'dart:io' show File;
1010

11-
import 'model.dart' show PackageGraph;
11+
import 'package:dartdoc/src/model.dart' show PackageGraph;
1212

1313
/// An abstract class that defines a generator that generates documentation for
1414
/// a given package.

lib/src/html/html_generator.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,13 @@ library dartdoc.html_generator;
77
import 'dart:async' show Future, StreamController, Stream;
88
import 'dart:io' show File;
99

10+
import 'package:dartdoc/src/generator.dart';
11+
import 'package:dartdoc/src/html/html_generator_instance.dart';
12+
import 'package:dartdoc/src/html/template_data.dart';
13+
import 'package:dartdoc/src/html/templates.dart';
14+
import 'package:dartdoc/src/model.dart';
1015
import 'package:path/path.dart' as pathLib;
1116

12-
import '../generator.dart';
13-
import '../model.dart';
14-
import 'html_generator_instance.dart';
15-
import 'template_data.dart';
16-
import 'templates.dart';
17-
1817
typedef String Renderer(String input);
1918

2019
// Generation order for libraries:

lib/src/html/html_generator_instance.dart

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,18 @@ import 'dart:convert' show JsonEncoder;
77
import 'dart:io' show File;
88

99
import 'package:collection/collection.dart' show compareNatural;
10+
import 'package:dartdoc/src/html/html_generator.dart' show HtmlGeneratorOptions;
11+
import 'package:dartdoc/src/html/resource_loader.dart' as loader;
12+
import 'package:dartdoc/src/html/resources.g.dart' as resources;
13+
import 'package:dartdoc/src/html/template_data.dart';
14+
import 'package:dartdoc/src/html/templates.dart';
15+
import 'package:dartdoc/src/logging.dart';
16+
import 'package:dartdoc/src/model.dart';
1017
import 'package:dartdoc/src/model_utils.dart';
18+
import 'package:dartdoc/src/warnings.dart';
1119
import 'package:mustache4dart/mustache4dart.dart';
1220
import 'package:path/path.dart' as pathLib;
1321

14-
import '../logging.dart';
15-
import '../model.dart';
16-
import '../warnings.dart';
17-
import 'html_generator.dart' show HtmlGeneratorOptions;
18-
import 'resource_loader.dart' as loader;
19-
import 'resources.g.dart' as resources;
20-
import 'template_data.dart';
21-
import 'templates.dart';
22-
2322
typedef void FileWriter(String path, Object content, {bool allowOverwrite});
2423

2524
class HtmlGeneratorInstance {

lib/src/html/template_data.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5-
import '../model.dart';
5+
import 'package:dartdoc/src/model.dart';
66

77
abstract class HtmlOptions {
88
String get relCanonicalPrefix;

lib/src/html/templates.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ library dartdoc.templates;
77
import 'dart:async' show Future;
88
import 'dart:io' show File;
99

10+
import 'package:dartdoc/src/html/resource_loader.dart' as loader;
1011
import 'package:mustache4dart/mustache4dart.dart';
1112

12-
import 'resource_loader.dart' as loader;
13-
1413
const _partials = const <String>[
1514
'callable',
1615
'callable_multiline',

lib/src/markdown_processor.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,13 @@ import 'dart:math';
1111
import 'package:analyzer/dart/ast/ast.dart' hide TypeParameter;
1212
import 'package:analyzer/dart/element/element.dart';
1313
import 'package:dartdoc/src/element_type.dart';
14+
import 'package:dartdoc/src/model.dart';
1415
import 'package:dartdoc/src/model_utils.dart';
16+
import 'package:dartdoc/src/warnings.dart';
1517
import 'package:html/parser.dart' show parse;
1618
import 'package:markdown/markdown.dart' as md;
1719
import 'package:tuple/tuple.dart';
1820

19-
import 'model.dart';
20-
import 'warnings.dart';
21-
2221
const validHtmlTags = const [
2322
"a",
2423
"abbr",

lib/src/model.dart

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,24 +35,23 @@ import 'package:analyzer/src/dart/element/member.dart'
3535
show ExecutableMember, Member, ParameterMember;
3636
import 'package:analyzer/src/dart/analysis/driver.dart';
3737
import 'package:collection/collection.dart';
38+
import 'package:dartdoc/src/config.dart';
3839
import 'package:dartdoc/src/dartdoc_options.dart';
40+
import 'package:dartdoc/src/element_type.dart';
3941
import 'package:dartdoc/src/io_utils.dart';
42+
import 'package:dartdoc/src/line_number_cache.dart';
43+
import 'package:dartdoc/src/logging.dart';
44+
import 'package:dartdoc/src/markdown_processor.dart' show Documentation;
45+
import 'package:dartdoc/src/model_utils.dart';
46+
import 'package:dartdoc/src/package_meta.dart' show PackageMeta, FileContents;
47+
import 'package:dartdoc/src/utils.dart';
48+
import 'package:dartdoc/src/warnings.dart';
4049
import 'package:front_end/src/byte_store/byte_store.dart';
4150
import 'package:front_end/src/base/performance_logger.dart';
4251
import 'package:path/path.dart' as pathLib;
4352
import 'package:tuple/tuple.dart';
4453
import 'package:package_config/discovery.dart' as package_config;
4554

46-
import 'config.dart';
47-
import 'element_type.dart';
48-
import 'line_number_cache.dart';
49-
import 'logging.dart';
50-
import 'markdown_processor.dart' show Documentation;
51-
import 'model_utils.dart';
52-
import 'package_meta.dart' show PackageMeta, FileContents;
53-
import 'utils.dart';
54-
import 'warnings.dart';
55-
5655
int byName(Nameable a, Nameable b) =>
5756
compareAsciiLowerCaseNatural(a.name, b.name);
5857

@@ -923,9 +922,9 @@ class Class extends ModelElement
923922
if (__inheritedElements == null) {
924923
__inheritedElements = [];
925924
Map<String, ExecutableElement> cmap =
926-
library.inheritanceManager.getMembersInheritedFromClasses(element);
925+
definingLibrary.inheritanceManager.getMembersInheritedFromClasses(element);
927926
Map<String, ExecutableElement> imap =
928-
library.inheritanceManager.getMembersInheritedFromInterfaces(element);
927+
definingLibrary.inheritanceManager.getMembersInheritedFromInterfaces(element);
929928
__inheritedElements.addAll(cmap.values);
930929
__inheritedElements
931930
.addAll(imap.values.where((e) => !cmap.containsKey(e.name)));

lib/src/warnings.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analyzer/dart/element/element.dart';
6+
import 'package:dartdoc/src/logging.dart';
67
import 'package:dartdoc/src/model.dart';
78
import 'package:tuple/tuple.dart';
89

9-
import 'logging.dart';
10-
1110
class PackageWarningHelpText {
1211
final String warningName;
1312
final String shortHelp;

0 commit comments

Comments
 (0)