@@ -13,6 +13,15 @@ import 'package:dartdoc/src/model/model.dart';
1313import 'package:dartdoc/src/model/model_object_builder.dart' ;
1414import 'package:dartdoc/src/render/element_type_renderer.dart' ;
1515
16+ mixin ElementTypeBuilderImpl implements ElementTypeBuilder {
17+ PackageGraph get packageGraph;
18+
19+ @override
20+ ElementType typeFrom (DartType f, Library library,
21+ {ElementType returnedFrom}) =>
22+ ElementType ._from (f, library, packageGraph, returnedFrom: returnedFrom);
23+ }
24+
1625/// Base class representing a type in Dartdoc. It wraps a [DartType] , and
1726/// may link to a [ModelElement] .
1827abstract class ElementType extends Privacy
@@ -26,7 +35,7 @@ abstract class ElementType extends Privacy
2635
2736 ElementType (this ._type, this .library, this .packageGraph, this .returnedFrom);
2837
29- factory ElementType .from (
38+ factory ElementType ._from (
3039 DartType f, Library library, PackageGraph packageGraph,
3140 {ElementType returnedFrom}) {
3241 if (f.element == null ||
@@ -215,7 +224,7 @@ class ParameterizedElementType extends DefinedElementType with Rendered {
215224 @override
216225 Iterable <ElementType > get typeArguments =>
217226 _typeArguments ?? = type.typeArguments
218- .map ((f) => ElementType . from (f, library, packageGraph ))
227+ .map ((f) => modelBuilder. typeFrom (f, library))
219228 .toList (growable: false );
220229}
221230
@@ -234,7 +243,7 @@ mixin Aliased implements ElementType, ModelBuilderInterface {
234243 Iterable <ElementType > _aliasArguments;
235244 Iterable <ElementType > get aliasArguments =>
236245 _aliasArguments ?? = type.alias.typeArguments
237- .map ((f) => ElementType . from (f, library, packageGraph ))
246+ .map ((f) => modelBuilder. typeFrom (f, library))
238247 .toList (growable: false );
239248}
240249
@@ -381,7 +390,7 @@ mixin Callable implements ElementType {
381390
382391 ElementType _returnType;
383392 ElementType get returnType {
384- _returnType ?? = ElementType . from (type.returnType, library, packageGraph );
393+ _returnType ?? = modelBuilder. typeFrom (type.returnType, library);
385394 return _returnType;
386395 }
387396
@@ -432,7 +441,7 @@ class CallableElementType extends DefinedElementType with Rendered, Callable {
432441 @override
433442 Iterable <ElementType > get typeArguments =>
434443 _typeArguments ?? = (type.alias? .typeArguments ?? [])
435- .map ((f) => ElementType . from (f, library, packageGraph ))
444+ .map ((f) => modelBuilder. typeFrom (f, library))
436445 .toList (growable: false );
437446}
438447
0 commit comments