Index: pkg/front_end/lib/src/fasta/kernel/kernel_function_type_alias_builder.dart |
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_function_type_alias_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_function_type_alias_builder.dart |
index f8c928d71fca40d3834266ce3e85311abbe1aad9..eeb4bad231c2e1dbb01cb2a91171d628848d21ce 100644 |
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_function_type_alias_builder.dart |
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_function_type_alias_builder.dart |
@@ -61,14 +61,19 @@ class KernelFunctionTypeAliasBuilder |
return thisType; |
} |
thisType = const InvalidType(); |
- DartType builtType = type?.build(library) ?? const DynamicType(); |
- if (typeVariables != null) { |
- for (KernelTypeVariableBuilder tv in typeVariables) { |
- tv.parameter.bound = tv?.bound?.build(library); |
- target.typeParameters.add(tv.parameter..parent = target); |
+ FunctionType builtType = type?.build(library); |
+ if (builtType != null) { |
+ builtType.typedefReference = target.reference; |
+ if (typeVariables != null) { |
+ for (KernelTypeVariableBuilder tv in typeVariables) { |
+ tv.parameter.bound = tv?.bound?.build(library); |
+ target.typeParameters.add(tv.parameter..parent = target); |
+ } |
} |
+ return thisType = builtType; |
+ } else { |
+ return thisType = const DynamicType(); |
} |
- return thisType = builtType; |
} |
/// [arguments] have already been built. |