Index: pkg/analyzer/lib/src/kernel/resynthesize.dart |
diff --git a/pkg/analyzer/lib/src/kernel/resynthesize.dart b/pkg/analyzer/lib/src/kernel/resynthesize.dart |
index d3d0286bb3243a57e12e82b237ed2cb2116845db..189128029e9e84c8a167dd0e7564dde886a42130 100644 |
--- a/pkg/analyzer/lib/src/kernel/resynthesize.dart |
+++ b/pkg/analyzer/lib/src/kernel/resynthesize.dart |
@@ -106,6 +106,8 @@ class KernelResynthesizer { |
} else if (parentName.name == '@methods') { |
isMethod = true; |
parentName = parentName.parent; |
+ } else if (parentName.name == '@typedefs') { |
+ parentName = parentName.parent; |
} |
ElementImpl parentElement = _getElement(parentName); |
@@ -734,6 +736,12 @@ class _KernelUnitResynthesizerContextImpl |
} |
if (kernelType is kernel.FunctionType) { |
+ if (kernelType.typedef != null) { |
+ FunctionTypeAliasElementImpl element = libraryContext.resynthesizer |
+ ._getElement(kernelType.typedef.canonicalName); |
+ return element.type; |
+ } |
+ |
var functionElement = new FunctionElementImpl.synthetic([], null); |
functionElement.enclosingElement = context; |