diff options
author | phaller <hallerp@gmail.com> | 2012-05-25 17:36:19 +0200 |
---|---|---|
committer | phaller <philipp.haller@typesafe.com> | 2012-06-14 17:42:31 +0200 |
commit | 796024c7429a03e974a7d8e1dc5c80b84f82467d (patch) | |
tree | b4c900328a78ec7941530d1ecc27d544284febaf /test/postreview.py | |
parent | 4448e7a530626105776997fde04b4af76bf13de1 (diff) | |
download | scala-796024c7429a03e974a7d8e1dc5c80b84f82467d.tar.gz scala-796024c7429a03e974a7d8e1dc5c80b84f82467d.tar.bz2 scala-796024c7429a03e974a7d8e1dc5c80b84f82467d.zip |
CPS: enable return expressions in CPS code if they are in tail position
Adds a stack of context trees to AnnotationChecker(s). Here, it is used to
enforce that adaptAnnotations will only adapt the annotation of a return
expression if the expected type is a CPS type.
The remove-tail-return transform is reasonably general, covering cases such as
try-catch-finally. Moreover, an error is thrown if, in a CPS method, a return
is encountered which is not in a tail position such that it will be removed
subsequently.
Diffstat (limited to 'test/postreview.py')
0 files changed, 0 insertions, 0 deletions