@@ -37,13 +37,21 @@ abstract class FileWriter {
37
37
}
38
38
39
39
/// A generator generates documentation for a given package.
40
- ///
41
- /// Generators can generate documentation in different formats: HTML, JSON, etc.
42
- class Generator {
40
+ abstract class Generator {
41
+ Future <void > generate (PackageGraph ? packageGraph);
42
+ Set <String > get writtenFiles;
43
+ }
44
+
45
+ /// A [DartdocModelGenerator] generates documentation for a given package
46
+ /// analyzed in the dartdoc model.
47
+ class DartdocModelGenerator implements Generator {
48
+ /// Depending on the given [GeneratorBackend] it can generate documentation
49
+ /// in different formats: HTML, JSON, etc.
43
50
final GeneratorBackend _generatorBackend;
44
51
45
- Generator (this ._generatorBackend);
52
+ DartdocModelGenerator (this ._generatorBackend);
46
53
54
+ @override
47
55
Future <void > generate (PackageGraph ? packageGraph) async {
48
56
await _generatorBackend.generateAdditionalFiles ();
49
57
@@ -60,6 +68,7 @@ class Generator {
60
68
_generatorBackend.generateSearchIndex (indexElements);
61
69
}
62
70
71
+ @override
63
72
Set <String > get writtenFiles => _generatorBackend.writer.writtenFiles;
64
73
65
74
/// Traverses the [packageGraph] and generates documentation for all contained
@@ -318,5 +327,5 @@ Generator initHtmlGenerator(
318
327
var options = DartdocGeneratorBackendOptions .fromContext (context);
319
328
var generatorBackend = HtmlGeneratorBackend (
320
329
options, templates, writer, context.resourceProvider);
321
- return Generator (generatorBackend);
330
+ return DartdocModelGenerator (generatorBackend);
322
331
}
0 commit comments