diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-04-10 23:52:31 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-04-11 23:32:42 +0200 |
commit | 5a0b1918238cb385401f304b22132f51936d795b (patch) | |
tree | 3787f45b62cdf98912bf8ba7429bf6efeadf07e8 /README.md | |
parent | 74beb1b751f6abf1775d6a8ec3eea4d63f3fd41f (diff) | |
download | scala-async-5a0b1918238cb385401f304b22132f51936d795b.tar.gz scala-async-5a0b1918238cb385401f304b22132f51936d795b.tar.bz2 scala-async-5a0b1918238cb385401f304b22132f51936d795b.zip |
Allow await in applications with multiple argument lists
Before, we levied an implementation restriction to prevent
this. As it turned out, that needlessly prevented use of
`await` in the receiver of a multi-param-list application.
This commit lifts the restriction altogether, and treats
such applications holistically, being careful to preserve the
left-to-right evaluation order of arguments in the translated
code.
- use `TreeInfo.Applied` and `Type#paramss` from `reflect.internal`
to get the info we need
- use the parameter name for the lifted argument val, rather than
`argN`
- encapsulate handling of by-name-ness and parameter names
in `mapArgumentss`
- test for evaluation order preservation
Diffstat (limited to 'README.md')
0 files changed, 0 insertions, 0 deletions