summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLuca Bruno <lucabru@src.gnome.org>2011-04-02 10:09:10 +0200
committerJürg Billeter <j@bitron.ch>2011-04-02 15:46:10 +0200
commita90b9d2e467ab77ccef7bcd6c26f310cda3b6f2f (patch)
tree490152135452a9592911c1a19d84a68eddf17c3f /tests
parentc46029863c2c87b6c4feed662fd3f1ed79b14501 (diff)
downloadvala-a90b9d2e467ab77ccef7bcd6c26f310cda3b6f2f.tar.gz
codegen: Fix look-up of next closure block
Methods that are not closures don't capture parent blocks. Fixes bug 646345.
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am1
-rw-r--r--tests/methods/bug646345.vala16
2 files changed, 17 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 411f348ab..b643d8a4e 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -34,6 +34,7 @@ TESTS = \
methods/bug599892.vala \
methods/bug613483.vala \
methods/bug620673.vala \
+ methods/bug646345.vala \
control-flow/break.vala \
control-flow/expressions-conditional.vala \
control-flow/for.vala \
diff --git a/tests/methods/bug646345.vala b/tests/methods/bug646345.vala
new file mode 100644
index 000000000..29b84e41b
--- /dev/null
+++ b/tests/methods/bug646345.vala
@@ -0,0 +1,16 @@
+void main() {
+ var outervar = "outerfoo";
+ SourceFunc firstfunc = () => {
+ outervar = "outerbar";
+ return false;
+ };
+
+ SourceFunc secondfunc = () => {
+ var innervar = "innerfoo";
+ SourceFunc innerfunc = () => {
+ innervar = "innerbar";
+ return false;
+ };
+ return false;
+ };
+}