Correct oversight so that no warning is given if a class implements Function, has no call() method but declares its own noSuchMethod().

R=brianwilkerson@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org//137763002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31795 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
gbracha@google.com 2014-01-14 18:46:55 +00:00
parent c2f0dec5ec
commit 01e4d829f4

View file

@ -5500,7 +5500,7 @@ A function type $T$ may be assigned to a function type $S$, written $T \Longlef
% ensure that Object and dynamic may be assign dot a function type
A function is always an instance of some class that implements the class \code{Function} and implements a \CALL{} method with the same signature as the function. All function types are subtypes of \code{Function}.
If a type $I$ includes an instance method named \CALL{}, and the type of \CALL{} is the function type $F$, then $I$ is considered to be a subtype of $F$. It is a static warning if a concrete class implements \cd{Function} and does not have a concrete method named \CALL{}.
If a type $I$ includes an instance method named \CALL{}, and the type of \CALL{} is the function type $F$, then $I$ is considered to be a subtype of $F$. It is a static warning if a concrete class implements \cd{Function} and does not have a concrete method named \CALL{} unless that class declares its own implementation of \cd{noSuchMethod()}.