[vala] Fix generated code for stack-allocated arrays
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [vala] Fix generated code for stack-allocated arrays
- Date: Fri, 2 Oct 2009 21:47:14 +0000 (UTC)
commit 2dda5192f775543bbd49494934f4d5c54cd45af1
Author: Jürg Billeter <j bitron ch>
Date: Fri Oct 2 23:46:29 2009 +0200
Fix generated code for stack-allocated arrays
Fixes bug 595751.
tests/Makefile.am | 1 +
tests/basic-types/bug595751.vala | 3 +++
vala/valasymbolresolver.vala | 7 ++++++-
3 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index eb19c7f..d18a993 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -20,6 +20,7 @@ TESTS = \
basic-types/strings.vala \
basic-types/arrays.vala \
basic-types/pointers.vala \
+ basic-types/bug595751.vala \
basic-types/bug596637.vala \
basic-types/bug596785.vala \
namespaces.vala \
diff --git a/tests/basic-types/bug595751.vala b/tests/basic-types/bug595751.vala
new file mode 100644
index 0000000..c57d4e9
--- /dev/null
+++ b/tests/basic-types/bug595751.vala
@@ -0,0 +1,3 @@
+void main () {
+ int a[2];
+}
diff --git a/vala/valasymbolresolver.vala b/vala/valasymbolresolver.vala
index 213bd53..09a9c19 100644
--- a/vala/valasymbolresolver.vala
+++ b/vala/valasymbolresolver.vala
@@ -350,7 +350,12 @@ public class Vala.SymbolResolver : CodeVisitor {
public override void visit_local_variable (LocalVariable local) {
local.accept_children (this);
if (local.variable_type is ReferenceType) {
- local.variable_type.nullable = true;
+ var array_type = local.variable_type as ArrayType;
+ if (array_type != null && array_type.fixed_length) {
+ // local fixed length arrays are not nullable
+ } else {
+ local.variable_type.nullable = true;
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]