include type-name in to_string result implement to_string method, fixes
authorMathias Hasselmann <mathias.hasselmann@gmx.de>
Mon, 27 Aug 2007 19:41:15 +0000 (19:41 +0000)
committerMathias Hasselmann <hasselmm@src.gnome.org>
Mon, 27 Aug 2007 19:41:15 +0000 (19:41 +0000)
2007-08-27  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

* vala/valacodenode.vala: include type-name in to_string result
* vala/valaunaryexpression.vala: implement to_string method,
       fixes bug 470778

svn path=/trunk/; revision=511

ChangeLog
vala/valacodenode.vala
vala/valaunaryexpression.vala

index 1a277e2..81bbbcf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-08-27  Mathias Hasselmann  <mathias.hasselmann@gmx.de>
+
+       * vala/valacodenode.vala: include type-name in to_string result
+       * vala/valaunaryexpression.vala: implement to_string method,
+       fixes bug 470778
+
 2007-08-27  Jürg Billeter  <j@bitron.ch>
 
        * vapi/Makefile.am, vapi/clutter-0.3.deps, vapi/clutter-0.3.vala,
index ecb4401..13aab72 100644 (file)
@@ -117,9 +117,14 @@ public abstract class Vala.CodeNode {
         * @return a string representation
         */
        public virtual string! to_string () {
+               var str = new String ();
+
+               str.append ("/* ").append (get_type ().name ());
+
                if (source_reference != null) {
-                       return source_reference.to_string ();
+                       str.append ("@").append (source_reference.to_string ());
                }
-               return "(unknown)";
+
+               return str.append (" */").str;
        }
 }
index 2ecf8a2..a30a1d6 100644 (file)
@@ -73,6 +73,27 @@ public class Vala.UnaryExpression : Expression {
                        inner = (Expression) new_node;
                }
        }
+
+       public string! operator_string {
+               get {
+                       switch (_operator) {
+                               case UnaryOperator.PLUS: return "+";
+                               case UnaryOperator.MINUS: return "-";
+                               case UnaryOperator.LOGICAL_NEGATION: return "!";
+                               case UnaryOperator.BITWISE_COMPLEMENT: return "~";
+                               case UnaryOperator.INCREMENT: return "++";
+                               case UnaryOperator.DECREMENT: return "--";
+                               case UnaryOperator.REF: return "ref ";
+                               case UnaryOperator.OUT: return "out ";
+                       }
+
+                       assert_not_reached ();
+               }
+       }
+
+       public override string! to_string () {
+               return operator_string + _inner.to_string ();
+       }
 }
 
 public enum Vala.UnaryOperator {