summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2008-11-30 08:34:15 +0000
committerJürg Billeter <juergbi@src.gnome.org>2008-11-30 08:34:15 +0000
commit1c44feaa9222d1680dedb760921ba415874e4077 (patch)
treea894b844ed050b5a3cd3de39b2ad115a094694c2
parent1161589c702601e6561e4b3650eac0b5a7990c59 (diff)
downloadvala-1c44feaa9222d1680dedb760921ba415874e4077.tar.gz
Fix generated parentheses
2008-11-30 Jürg Billeter <j@bitron.ch> * vala/valaforeachstatement.vala: * ccode/valaccodebinaryexpression.vala: * ccode/valaccodecastexpression.vala: * ccode/valaccodeelementaccess.vala: * ccode/valaccodeexpression.vala: * ccode/valaccodememberaccess.vala: * ccode/valaccodeunaryexpression.vala: Fix generated parentheses svn path=/trunk/; revision=2091
-rw-r--r--ChangeLog12
-rw-r--r--ccode/valaccodebinaryexpression.vala10
-rw-r--r--ccode/valaccodecastexpression.vala10
-rw-r--r--ccode/valaccodeelementaccess.vala4
-rw-r--r--ccode/valaccodeexpression.vala5
-rw-r--r--ccode/valaccodememberaccess.vala4
-rw-r--r--ccode/valaccodeunaryexpression.vala12
-rw-r--r--vala/valaforeachstatement.vala6
8 files changed, 46 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 4d1f5e273..cca6fd6b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2008-11-30 Jürg Billeter <j@bitron.ch>
+ * vala/valaforeachstatement.vala:
+ * ccode/valaccodebinaryexpression.vala:
+ * ccode/valaccodecastexpression.vala:
+ * ccode/valaccodeelementaccess.vala:
+ * ccode/valaccodeexpression.vala:
+ * ccode/valaccodememberaccess.vala:
+ * ccode/valaccodeunaryexpression.vala:
+
+ Fix generated parentheses
+
+2008-11-30 Jürg Billeter <j@bitron.ch>
+
* vala/valathrowstatement.vala:
Check type of error expression in throw statements
diff --git a/ccode/valaccodebinaryexpression.vala b/ccode/valaccodebinaryexpression.vala
index aaeefb3f7..047b55c41 100644
--- a/ccode/valaccodebinaryexpression.vala
+++ b/ccode/valaccodebinaryexpression.vala
@@ -48,7 +48,7 @@ public class Vala.CCodeBinaryExpression : CCodeExpression {
}
public override void write (CCodeWriter writer) {
- left.write (writer);
+ left.write_inner (writer);
writer.write_string (" ");
if (operator == CCodeBinaryOperator.PLUS) {
@@ -91,7 +91,13 @@ public class Vala.CCodeBinaryExpression : CCodeExpression {
writer.write_string (" ");
- right.write (writer);
+ right.write_inner (writer);
+ }
+
+ public override void write_inner (CCodeWriter writer) {
+ writer.write_string ("(");
+ this.write (writer);
+ writer.write_string (")");
}
}
diff --git a/ccode/valaccodecastexpression.vala b/ccode/valaccodecastexpression.vala
index 00dbfcfd1..e53e6c2b6 100644
--- a/ccode/valaccodecastexpression.vala
+++ b/ccode/valaccodecastexpression.vala
@@ -42,12 +42,16 @@ public class Vala.CCodeCastExpression : CCodeExpression {
}
public override void write (CCodeWriter writer) {
- writer.write_string ("((");
+ writer.write_string ("(");
writer.write_string (type_name);
writer.write_string (") ");
+ inner.write_inner (writer);
+ }
+
+ public override void write_inner (CCodeWriter writer) {
writer.write_string ("(");
- inner.write (writer);
- writer.write_string ("))");
+ this.write (writer);
+ writer.write_string (")");
}
}
diff --git a/ccode/valaccodeelementaccess.vala b/ccode/valaccodeelementaccess.vala
index b176ea326..dc62485ba 100644
--- a/ccode/valaccodeelementaccess.vala
+++ b/ccode/valaccodeelementaccess.vala
@@ -1,7 +1,7 @@
/* valaccodememberaccess.vala
*
* Copyright (C) 2006 Raffaele Sandrini
- * Copyright (C) 2006 Jürg Billeter
+ * Copyright (C) 2006-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -45,7 +45,7 @@ public class Vala.CCodeElementAccess : CCodeExpression {
}
public override void write (CCodeWriter writer) {
- container.write (writer);
+ container.write_inner (writer);
writer.write_string ("[");
index.write (writer);
writer.write_string ("]");
diff --git a/ccode/valaccodeexpression.vala b/ccode/valaccodeexpression.vala
index b12ced585..420eba7d5 100644
--- a/ccode/valaccodeexpression.vala
+++ b/ccode/valaccodeexpression.vala
@@ -1,6 +1,6 @@
/* valaccodeexpression.vala
*
- * Copyright (C) 2006 Jürg Billeter
+ * Copyright (C) 2006-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -26,4 +26,7 @@ using GLib;
* Represents an expression node in the C code tree.
*/
public abstract class Vala.CCodeExpression : CCodeNode {
+ public virtual void write_inner (CCodeWriter writer) {
+ this.write (writer);
+ }
}
diff --git a/ccode/valaccodememberaccess.vala b/ccode/valaccodememberaccess.vala
index f5f2517f8..2935fc15b 100644
--- a/ccode/valaccodememberaccess.vala
+++ b/ccode/valaccodememberaccess.vala
@@ -1,6 +1,6 @@
/* valaccodememberaccess.vala
*
- * Copyright (C) 2006 Jürg Billeter
+ * Copyright (C) 2006-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -54,7 +54,7 @@ public class Vala.CCodeMemberAccess : CCodeExpression {
}
public override void write (CCodeWriter writer) {
- inner.write (writer);
+ inner.write_inner (writer);
if (is_pointer) {
writer.write_string ("->");
} else {
diff --git a/ccode/valaccodeunaryexpression.vala b/ccode/valaccodeunaryexpression.vala
index 686876fc4..0f33478af 100644
--- a/ccode/valaccodeunaryexpression.vala
+++ b/ccode/valaccodeunaryexpression.vala
@@ -51,7 +51,7 @@ public class Vala.CCodeUnaryExpression : CCodeExpression {
} else if (operator == CCodeUnaryOperator.BITWISE_COMPLEMENT) {
writer.write_string ("~");
} else if (operator == CCodeUnaryOperator.POINTER_INDIRECTION) {
- writer.write_string ("(*");
+ writer.write_string ("*");
} else if (operator == CCodeUnaryOperator.ADDRESS_OF) {
writer.write_string ("&");
} else if (operator == CCodeUnaryOperator.PREFIX_INCREMENT) {
@@ -60,16 +60,20 @@ public class Vala.CCodeUnaryExpression : CCodeExpression {
writer.write_string ("--");
}
- inner.write (writer);
+ inner.write_inner (writer);
if (operator == CCodeUnaryOperator.POSTFIX_INCREMENT) {
writer.write_string ("++");
} else if (operator == CCodeUnaryOperator.POSTFIX_DECREMENT) {
writer.write_string ("--");
- } else if (operator == CCodeUnaryOperator.POINTER_INDIRECTION) {
- writer.write_string (")");
}
}
+
+ public override void write_inner (CCodeWriter writer) {
+ writer.write_string ("(");
+ this.write (writer);
+ writer.write_string (")");
+ }
}
public enum Vala.CCodeUnaryOperator {
diff --git a/vala/valaforeachstatement.vala b/vala/valaforeachstatement.vala
index ed2d68092..2aab71221 100644
--- a/vala/valaforeachstatement.vala
+++ b/vala/valaforeachstatement.vala
@@ -256,11 +256,11 @@ public class Vala.ForeachStatement : Block {
var iterator_call = new MethodCall (new MemberAccess (collection, "iterator"));
add_statement (new DeclarationStatement (new LocalVariable (iterator_type, "%s_it".printf (variable_name), iterator_call, source_reference), source_reference));
- var next_call = new MethodCall (new MemberAccess (new MemberAccess.simple ("%s_it".printf (variable_name)), "next"));
- var loop = new WhileStatement (next_call, body);
+ var next_call = new MethodCall (new MemberAccess (new MemberAccess.simple ("%s_it".printf (variable_name), source_reference), "next", source_reference), source_reference);
+ var loop = new WhileStatement (next_call, body, source_reference);
add_statement (loop);
- var get_call = new MethodCall (new MemberAccess (new MemberAccess.simple ("%s_it".printf (variable_name)), "get"));
+ var get_call = new MethodCall (new MemberAccess (new MemberAccess.simple ("%s_it".printf (variable_name), source_reference), "get", source_reference), source_reference);
body.insert_statement (0, new DeclarationStatement (new LocalVariable (type_reference, variable_name, get_call, source_reference), source_reference));
checked = false;