Skip to content

Commit 8f5f30e

Browse files
authored
Change element type expectations for function aliases (#2380)
* Retype typedefs for FunctionTyped change in analyzer * workaround for 0.40 * dartfmt * fix hints
1 parent 611f5a9 commit 8f5f30e

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

lib/src/element_type.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,11 @@ abstract class ElementType extends Privacy {
3737
} else {
3838
var element = ModelElement.fromElement(f.element, packageGraph);
3939
assert(f is ParameterizedType || f is TypeParameterType);
40+
// TODO(jcollins-g): Remove reference to f.element.enclosingElement after
41+
// analyzer 0.41.
4042
var isGenericTypeAlias =
41-
f.element.enclosingElement is GenericTypeAliasElement;
43+
f.element.enclosingElement is GenericTypeAliasElement ||
44+
f.element is GenericTypeAliasElement;
4245
if (f is FunctionType) {
4346
assert(f is ParameterizedType);
4447
if (isGenericTypeAlias) {

lib/src/model/top_level_container.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,5 @@ abstract class TopLevelContainer implements Nameable {
6868
Iterable<TopLevelVariable> get publicProperties =>
6969
model_utils.filterNonPublic(properties);
7070

71-
Iterable<ModelFunctionTyped> get publicTypedefs =>
72-
model_utils.filterNonPublic(typedefs);
71+
Iterable<Typedef> get publicTypedefs => model_utils.filterNonPublic(typedefs);
7372
}

lib/src/model/typedef.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import 'package:dartdoc/src/render/typedef_renderer.dart';
99

1010
class Typedef extends ModelElement
1111
with TypeParameters, Categorization
12-
implements EnclosedElement, ModelFunctionTyped {
12+
implements EnclosedElement {
1313
Typedef(FunctionTypeAliasElement element, Library library,
1414
PackageGraph packageGraph)
1515
: super(element, library, packageGraph, null);
@@ -44,17 +44,17 @@ class Typedef extends ModelElement
4444
}
4545

4646
// Food for mustache.
47-
@override
4847
bool get isInherited => false;
4948

5049
@override
5150
String get kind => 'typedef';
5251

53-
@override
5452
String get linkedReturnType => modelType.createLinkedReturnTypeName();
5553

5654
@override
57-
DefinedElementType get modelType => super.modelType;
55+
// TODO(jcollins-g): change to FunctionTypeElementType after analyzer 0.41
56+
// ignore: unnecessary_overrides
57+
ElementType get modelType => super.modelType;
5858

5959
FunctionTypeAliasElement get _typedef =>
6060
(element as FunctionTypeAliasElement);

0 commit comments

Comments
 (0)