DescriptionKeep types in signatures of function types properly instantiated as the function
type itself gets instantiated.
Until now, the signature was kept unchanged and the instantiation was reflected
by the type arguments of the function type only. This delayed instantiation
would complicate the implementation of generic functions.
This cl actually removes type arguments for (non-typedef) function types. The
function type is now fully represented by the signature. When the function type
is instantiated, a new signature is allocated (instead of a new type argument
vector) to hold instantiated result type and formal parameter types.
The same applies in the case of typedef function types, however, the type
arguments of the typedef are kept as before. This allows for better printing
of typedef function types and for finalization of recursive type involving
typedefs as type arguments.
R=asiva@google.com
Committed: https://github.com/dart-lang/sdk/commit/5f5a698100be7b145168490dfb81cd436ce1b8ff
Patch Set 1 #
Total comments: 2
Patch Set 2 : added comment and sync #
Messages
Total messages: 6 (2 generated)
|