Skip to content

Commit 74974db

Browse files
committed
Merge branch 'master' into nodoc-param
2 parents 5cb5dd3 + db8f78f commit 74974db

16 files changed

+186
-233
lines changed

lib/src/generator/template_data.dart

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ abstract class TemplateData<T extends Documentable> {
2121
String get metaDescription;
2222

2323
List<Documentable> get navLinks;
24-
List<Documentable> get navLinksWithGenerics => [];
24+
List<Container> get navLinksWithGenerics => [];
2525
Documentable get parent {
2626
if (navLinksWithGenerics.isEmpty) {
2727
return navLinks.isNotEmpty ? navLinks.last : null;
@@ -33,6 +33,8 @@ abstract class TemplateData<T extends Documentable> {
3333

3434
bool get hasHomepage => false;
3535

36+
String get homepage => null;
37+
3638
String get htmlBase;
3739
T get self;
3840
String get version => htmlOptions.toolVersion;
@@ -73,6 +75,7 @@ class PackageTemplateData extends TemplateData<Package> {
7375

7476
@override
7577
bool get hasHomepage => package.hasHomepage;
78+
@override
7679
String get homepage => package.homepage;
7780

7881
/// empty for packages because they are at the root – not needed
@@ -235,7 +238,7 @@ class ConstructorTemplateData extends TemplateData<Constructor> {
235238
@override
236239
List<Documentable> get navLinks => [packageGraph.defaultPackage, library];
237240
@override
238-
List<Documentable> get navLinksWithGenerics => [clazz];
241+
List<Container> get navLinksWithGenerics => [clazz];
239242
@override
240243
@override
241244
String get htmlBase => '../../';
@@ -313,7 +316,7 @@ class MethodTemplateData extends TemplateData<Method> {
313316
@override
314317
List<Documentable> get navLinks => [packageGraph.defaultPackage, library];
315318
@override
316-
List<Documentable> get navLinksWithGenerics => [container];
319+
List<Container> get navLinksWithGenerics => [container];
317320
@override
318321
String get htmlBase => '../../';
319322
}
@@ -347,7 +350,7 @@ class PropertyTemplateData extends TemplateData<Field> {
347350
@override
348351
List<Documentable> get navLinks => [packageGraph.defaultPackage, library];
349352
@override
350-
List<Documentable> get navLinksWithGenerics => [container];
353+
List<Container> get navLinksWithGenerics => [container];
351354
@override
352355
String get htmlBase => '../../';
353356
}

lib/src/model/category.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class Category extends Nameable
8888
} else if (c is Extension) {
8989
_extensions.add(c);
9090
} else {
91-
throw UnimplementedError('Unrecognized element');
91+
throw UnimplementedError('Unrecognized element: $c (${c.runtimeType})');
9292
}
9393
}
9494

@@ -147,8 +147,6 @@ class Category extends Nameable
147147
@override
148148
String get href => isCanonical ? '${package.baseHref}$filePath' : null;
149149

150-
@Deprecated(
151-
'Public field is unused; will be removed as early as Dartdoc 1.0.0')
152150
String get categoryLabel => _categoryRenderer.renderCategoryLabel(this);
153151

154152
@Deprecated(

lib/src/model/class.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import 'package:meta/meta.dart';
1919
/// **instance**: As with [Container], but also includes inherited children.
2020
/// **inherited**: Filtered getters giving only inherited children.
2121
class Class extends Container
22-
with TypeParameters, Categorization, ExtensionTarget
22+
with Categorization, ExtensionTarget
2323
implements EnclosedElement {
2424
// TODO(srawlins): To make final, remove public getter, setter, rename to be
2525
// public, and add `final` modifier.

lib/src/model/container.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import 'package:meta/meta.dart';
2727
/// **has** : boolean getters indicating whether the underlying getters are
2828
/// empty. Mostly for the templating system.
2929
/// **all** : Referring to all children.
30-
abstract class Container extends ModelElement {
30+
abstract class Container extends ModelElement with TypeParameters {
3131
Container(Element element, Library library, PackageGraph packageGraph)
3232
: super(element, library, packageGraph, null);
3333

lib/src/model/extension.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import 'package:dartdoc/src/quiver.dart' as quiver;
1010

1111
/// Extension methods
1212
class Extension extends Container
13-
with TypeParameters, Categorization
13+
with Categorization
1414
implements EnclosedElement {
1515
ElementType extendedType;
1616

lib/src/model/model_node.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import 'package:analyzer/dart/ast/ast.dart';
66
import 'package:analyzer/dart/element/element.dart';
7+
import 'package:analyzer/file_system/file_system.dart';
78
import 'package:dartdoc/src/model_utils.dart' as model_utils;
89

910
/// A stripped down [CommentReference] containing only that information needed
@@ -22,11 +23,12 @@ class ModelCommentReference {
2223
class ModelNode {
2324
final List<ModelCommentReference> commentRefs;
2425
final Element element;
26+
final ResourceProvider resourceProvider;
2527

2628
final int _sourceOffset;
2729
final int _sourceEnd;
2830

29-
ModelNode(AstNode sourceNode, this.element)
31+
ModelNode(AstNode sourceNode, this.element, this.resourceProvider)
3032
: _sourceOffset = sourceNode?.offset,
3133
_sourceEnd = sourceNode?.end,
3234
commentRefs = _commentRefsFor(sourceNode);
@@ -46,7 +48,8 @@ class ModelNode {
4648
String get sourceCode {
4749
if (_sourceCode == null) {
4850
if (_sourceOffset != null) {
49-
var contents = model_utils.getFileContentsFor(element);
51+
var contents =
52+
model_utils.getFileContentsFor(element, resourceProvider);
5053
// Find the start of the line, so that we can line up all the indents.
5154
var i = _sourceOffset;
5255
while (i > 0) {

lib/src/model/package_graph.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ class PackageGraph {
141141
Element element, Map<String, CompilationUnit> compilationUnitMap) {
142142
_modelNodes.putIfAbsent(
143143
element,
144-
() =>
145-
ModelNode(utils.getAstNode(element, compilationUnitMap), element));
144+
() => ModelNode(utils.getAstNode(element, compilationUnitMap), element,
145+
resourceProvider));
146146
}
147147

148148
ModelNode getModelNodeFor(Element element) => _modelNodes[element];

lib/src/model_utils.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
library dartdoc.model_utils;
66

77
import 'dart:convert';
8-
import 'dart:io';
98

109
import 'package:analyzer/dart/ast/ast.dart';
1110
import 'package:analyzer/dart/element/element.dart';
11+
import 'package:analyzer/file_system/file_system.dart';
1212
import 'package:analyzer/src/dart/ast/utilities.dart';
1313
import 'package:dartdoc/dartdoc.dart';
1414
import 'package:dartdoc/src/model/model.dart';
@@ -90,10 +90,10 @@ Iterable<Class> findCanonicalFor(Iterable<Class> classes) {
9090
c.packageGraph.findCanonicalModelElementFor(c.element) as Class ?? c);
9191
}
9292

93-
String getFileContentsFor(Element e) {
93+
String getFileContentsFor(Element e, ResourceProvider resourceProvider) {
9494
var location = e.source.fullName;
9595
if (!_fileContents.containsKey(location)) {
96-
var contents = File(location).readAsStringSync();
96+
var contents = resourceProvider.getFile(location).readAsStringSync();
9797
_fileContents.putIfAbsent(location, () => contents);
9898
}
9999
return _fileContents[location];

test/end2end/html_generator_test.dart

Lines changed: 0 additions & 169 deletions
This file was deleted.

0 commit comments

Comments
 (0)