@@ -37,13 +37,21 @@ abstract class FileWriter {
3737}
3838
3939/// 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.
4350 final GeneratorBackend _generatorBackend;
4451
45- Generator (this ._generatorBackend);
52+ DartdocModelGenerator (this ._generatorBackend);
4653
54+ @override
4755 Future <void > generate (PackageGraph ? packageGraph) async {
4856 await _generatorBackend.generateAdditionalFiles ();
4957
@@ -60,6 +68,7 @@ class Generator {
6068 _generatorBackend.generateSearchIndex (indexElements);
6169 }
6270
71+ @override
6372 Set <String > get writtenFiles => _generatorBackend.writer.writtenFiles;
6473
6574 /// Traverses the [packageGraph] and generates documentation for all contained
@@ -318,5 +327,5 @@ Generator initHtmlGenerator(
318327 var options = DartdocGeneratorBackendOptions .fromContext (context);
319328 var generatorBackend = HtmlGeneratorBackend (
320329 options, templates, writer, context.resourceProvider);
321- return Generator (generatorBackend);
330+ return DartdocModelGenerator (generatorBackend);
322331}
0 commit comments