Chromium Code Reviews| Index: frog/leg/elements/elements.dart |
| diff --git a/frog/leg/elements/elements.dart b/frog/leg/elements/elements.dart |
| index 437c819ed233101092b7f8680ff14a22ac06ea08..71bb69b08166955a03088b741bb6f1c120f5eedb 100644 |
| --- a/frog/leg/elements/elements.dart |
| +++ b/frog/leg/elements/elements.dart |
| @@ -356,4 +356,18 @@ class Elements { |
| && element.isInstanceMember() |
| && (element.kind === ElementKind.FUNCTION); |
| } |
| + |
| + static bool isClosureSend(Send send, TreeElements elements) { |
| + if (send.isPropertyAccess) return false; |
| + if (send.receiver !== null) return false; |
| + Element element = elements[send]; |
| + // (o)() or foo()(). |
| + if (element === null && send.selector.asIdentifier() === null) return true; |
| + // foo() with foo a local or a parameter. |
| + if (element.kind === ElementKind.VARIABLE || |
|
kasperl
2012/01/05 12:52:19
Should we have element.isVariable() and element.is
floitsch
2012/01/05 13:59:20
Done.
|
| + element.kind === ElementKind.PARAMETER) { |
| + return true; |
| + } |
| + return false; |
| + } |
| } |