[vala] codegen: Open block for try statements
- From: Luca Bruno <lucabru src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] codegen: Open block for try statements
- Date: Thu, 26 May 2011 15:00:59 +0000 (UTC)
commit 060597fb51e18218c254d2af0e37486d59a03c4c
Author: Luca Bruno <lucabru src gnome org>
Date: Thu May 26 16:53:50 2011 +0200
codegen: Open block for try statements
Fixes bug 651145.
codegen/valaccodebasemodule.vala | 4 ++--
tests/Makefile.am | 1 +
tests/errors/bug651145.vala | 8 ++++++++
3 files changed, 11 insertions(+), 2 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index b4efc50..2445bc7 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -1669,7 +1669,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
var local_vars = b.get_local_variables ();
- if (b.parent_node is Block || b.parent_node is SwitchStatement) {
+ if (b.parent_node is Block || b.parent_node is SwitchStatement || b.parent_node is TryStatement) {
ccode.open_block ();
}
@@ -1954,7 +1954,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
ccode.add_assignment (get_variable_cexpression ("_data%d_".printf (block_id)), new CCodeConstant ("NULL"));
}
- if (b.parent_node is Block || b.parent_node is SwitchStatement) {
+ if (b.parent_node is Block || b.parent_node is SwitchStatement || b.parent_node is TryStatement) {
ccode.close ();
}
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 422571e..a990d9c 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -88,6 +88,7 @@ TESTS = \
errors/bug596228.vala \
errors/bug623049.vala \
errors/bug639589.vala \
+ errors/bug651145.vala \
asynchronous/bug595735.vala \
asynchronous/bug595755.vala \
asynchronous/bug596177.vala \
diff --git a/tests/errors/bug651145.vala b/tests/errors/bug651145.vala
new file mode 100644
index 0000000..06fa14a
--- /dev/null
+++ b/tests/errors/bug651145.vala
@@ -0,0 +1,8 @@
+void main () {
+ try {
+ string foo;
+ } finally {}
+ try {
+ string foo;
+ } finally {}
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]