9179db84df
I broke this functionality when I refactored FunctionTypeImpl into lazy and strict variants; this CL restores it and simplifies it. This CL also adds a new method to the analyzer API: FunctionTypeAliasElement.instantiate(), to allow a client to supply type arguments to a typedef (as one would at a site where the typedef is used), to produce a type. Putting the method in FunctionTypeAliasElement helps move us toward an API that distinguishes type "constructors" from types (a generic typedef defines not just one type but a family of types; to obtain a type one must instantiate the typedef by supplying type arguments). Change-Id: I722db2befe2d54fd53d625ddba0dec856a555a7b Reviewed-on: https://dart-review.googlesource.com/62282 Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>