deprecate construct as parameter modifier, fixes bug 524138
authorJuerg Billeter <j@bitron.ch>
Sun, 13 Apr 2008 16:17:00 +0000 (16:17 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sun, 13 Apr 2008 16:17:00 +0000 (16:17 +0000)
2008-04-13  Juerg Billeter  <j@bitron.ch>

* vala/valaparser.vala: deprecate construct as parameter modifier,
  fixes bug 524138

* */*.vala: port to new syntax

svn path=/trunk/; revision=1209

89 files changed:
ChangeLog
ccode/valaccodecasestatement.vala
ccode/valaccodedeclaration.vala
ccode/valaccodeenum.vala
ccode/valaccodeenumvalue.vala
ccode/valaccodeforstatement.vala
ccode/valaccodefunction.vala
ccode/valaccodefunctioncall.vala
ccode/valaccodefunctiondeclarator.vala
ccode/valaccodegotostatement.vala
ccode/valaccodelabel.vala
ccode/valaccodemacroreplacement.vala
ccode/valaccodestruct.vala
ccode/valaccodeswitchstatement.vala
gee/arraylist.vala
gee/hashmap.vala
gee/hashset.vala
gee/readonlycollection.vala
gee/readonlylist.vala
gee/readonlymap.vala
gee/readonlyset.vala
gobject/valaccodearraycreationexpressionbinding.vala
gobject/valaccodeassignmentbinding.vala
gobject/valaccodeelementaccessbinding.vala
gobject/valaccodemethodbinding.vala
gobject/valadbusmethod.vala
gobject/valadbussignal.vala
vala/valaaddressofexpression.vala
vala/valaarraycreationexpression.vala
vala/valaarraylengthfield.vala
vala/valaarraymovemethod.vala
vala/valaarrayresizemethod.vala
vala/valaassignment.vala
vala/valaattribute.vala
vala/valablock.vala
vala/valacastexpression.vala
vala/valacatchclause.vala
vala/valacfgbuilder.vala
vala/valaclass.vala
vala/valaclasstype.vala
vala/valaconstant.vala
vala/valacreationmethod.vala
vala/valadelegate.vala
vala/valadelegatetype.vala
vala/valadestructor.vala
vala/valadostatement.vala
vala/valaelementaccess.vala
vala/valaenum.vala
vala/valaenumvalue.vala
vala/valaerrorcode.vala
vala/valaerrordomain.vala
vala/valaexpressionstatement.vala
vala/valafield.vala
vala/valaforeachstatement.vala
vala/valaforstatement.vala
vala/valainitializerlist.vala
vala/valaintegertype.vala
vala/valainterface.vala
vala/valainterfacetype.vala
vala/valainvocationexpression.vala
vala/valalambdaexpression.vala
vala/valalocalvariabledeclaration.vala
vala/valalockstatement.vala
vala/valamemberaccess.vala
vala/valamemberinitializer.vala
vala/valamethod.vala
vala/valamethodtype.vala
vala/valanamespace.vala
vala/valanamespacereference.vala
vala/valaobjectcreationexpression.vala
vala/valaparser.vala
vala/valapointerindirection.vala
vala/valapointertype.vala
vala/valapropertyaccessor.vala
vala/valareferencetransferexpression.vala
vala/valareturnstatement.vala
vala/valascope.vala
vala/valasignal.vala
vala/valasignaltype.vala
vala/valasourcefile.vala
vala/valastruct.vala
vala/valaswitchsection.vala
vala/valaswitchstatement.vala
vala/valathrowstatement.vala
vala/valatrystatement.vala
vala/valavaluetype.vala
vala/valavariabledeclarator.vala
vala/valawhilestatement.vala
vapigen/valavapicheck.vala

index 48a5398..f0a43ea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2008-04-13  Jürg Billeter  <j@bitron.ch>
 
+       * vala/valaparser.vala: deprecate construct as parameter modifier,
+         fixes bug 524138
+
+       * */*.vala: port to new syntax
+
+2008-04-13  Jürg Billeter  <j@bitron.ch>
+
        * vala/valaparser.vala: report warning when using obsolete syntax
          for non-null types
 
index e2e9950..1ac924b 100644 (file)
@@ -34,7 +34,8 @@ public class Vala.CCodeCaseStatement : CCodeStatement {
        
        private Gee.List<CCodeStatement> statements = new ArrayList<CCodeStatement> ();
        
-       public CCodeCaseStatement (construct CCodeExpression expression) {
+       public CCodeCaseStatement (CCodeExpression expression) {
+               this.expression = expression;
        }
        
        /**
index 9c001bb..eb7ada5 100644 (file)
@@ -39,7 +39,8 @@ public class Vala.CCodeDeclaration : CCodeStatement {
        
        private Gee.List<CCodeDeclarator> declarators = new ArrayList<CCodeDeclarator> ();
        
-       public CCodeDeclaration (construct string type_name) {
+       public CCodeDeclaration (string type_name) {
+               this.type_name = type_name;
        }
        
        /**
index 7062065..ffe6dc3 100644 (file)
@@ -34,7 +34,8 @@ public class Vala.CCodeEnum : CCodeNode {
        
        private Gee.List<CCodeEnumValue> values = new ArrayList<CCodeEnumValue> ();
        
-       public CCodeEnum (construct string name = null) {
+       public CCodeEnum (string name = null) {
+               this.name = name;
        }
        
        /**
index 3de1e69..f802b5f 100644 (file)
@@ -37,7 +37,9 @@ public class Vala.CCodeEnumValue : CCodeNode {
         */
        public CCodeExpression value { get; set; }
        
-       public CCodeEnumValue (construct string name, construct CCodeExpression value = null) {
+       public CCodeEnumValue (string name, CCodeExpression value = null) {
+               this.value = value;
+               this.name = name;
        }
 
        public override void write (CCodeWriter writer) {
index 28bcc5a..03ca7fe 100644 (file)
@@ -40,7 +40,9 @@ public class Vala.CCodeForStatement : CCodeStatement {
        private Gee.List<CCodeExpression> initializer = new ArrayList<CCodeExpression> ();
        private Gee.List<CCodeExpression> iterator = new ArrayList<CCodeExpression> ();
        
-       public CCodeForStatement (construct CCodeExpression condition, construct CCodeStatement body = null) {
+       public CCodeForStatement (CCodeExpression condition, CCodeStatement body = null) {
+               this.body = body;
+               this.condition = condition;
        }
 
        /**
index 7e51c31..38bdada 100644 (file)
@@ -49,7 +49,9 @@ public class Vala.CCodeFunction : CCodeNode {
 
        private Gee.List<CCodeFormalParameter> parameters = new ArrayList<CCodeFormalParameter> ();
        
-       public CCodeFunction (construct string name, construct string return_type) {
+       public CCodeFunction (string name, string return_type) {
+               this.return_type = return_type;
+               this.name = name;
        }
        
        /**
index da68f4e..bedd2d9 100644 (file)
@@ -34,7 +34,8 @@ public class Vala.CCodeFunctionCall : CCodeExpression {
        
        private Gee.List<CCodeExpression> arguments = new ArrayList<CCodeExpression> ();
        
-       public CCodeFunctionCall (construct CCodeExpression call = null) {
+       public CCodeFunctionCall (CCodeExpression call = null) {
+               this.call = call;
        }
        
        /**
index 9b32d2c..e3958e2 100644 (file)
@@ -34,7 +34,8 @@ public class Vala.CCodeFunctionDeclarator : CCodeDeclarator {
        
        private Gee.List<CCodeFormalParameter> parameters = new ArrayList<CCodeFormalParameter> ();
        
-       public CCodeFunctionDeclarator (construct string name) {
+       public CCodeFunctionDeclarator (string name) {
+               this.name = name;
        }
        
        /**
index 9c0a779..189cb20 100644 (file)
@@ -31,7 +31,8 @@ public class Vala.CCodeGotoStatement : CCodeStatement {
         */
        public string name { get; set construct; }
 
-       public CCodeGotoStatement (construct string name) {
+       public CCodeGotoStatement (string name) {
+               this.name = name;
        }
        
        public override void write (CCodeWriter writer) {
index 9dd81da..2973a8b 100644 (file)
@@ -31,7 +31,8 @@ public class Vala.CCodeLabel : CCodeStatement {
         */
        public string name { get; set construct; }
 
-       public CCodeLabel (construct string name) {
+       public CCodeLabel (string name) {
+               this.name = name;
        }
        
        public override void write (CCodeWriter writer) {
index f1fe7cc..52e0a0a 100644 (file)
@@ -41,10 +41,14 @@ public class Vala.CCodeMacroReplacement : CCodeNode {
         */
        public CCodeExpression replacement_expression { get; set; }
 
-       public CCodeMacroReplacement (construct string name, construct string replacement) {
+       public CCodeMacroReplacement (string name, string replacement) {
+               this.replacement = replacement;
+               this.name = name;
        }
 
-       public CCodeMacroReplacement.with_expression (construct string name, construct CCodeExpression replacement_expression) {
+       public CCodeMacroReplacement.with_expression (string name, CCodeExpression replacement_expression) {
+               this.name = name;
+               this.replacement_expression = replacement_expression;
        }
 
        public override void write (CCodeWriter writer) {
index b9352d5..4964fd5 100644 (file)
@@ -34,7 +34,8 @@ public class Vala.CCodeStruct : CCodeNode {
        
        private Gee.List<CCodeDeclaration> declarations = new ArrayList<CCodeDeclaration> ();
        
-       public CCodeStruct (construct string name) {
+       public CCodeStruct (string name) {
+               this.name = name;
        }
        
        /**
index a0e9425..bcce265 100644 (file)
@@ -35,7 +35,8 @@ public class Vala.CCodeSwitchStatement : CCodeStatement {
        private Gee.List<CCodeCaseStatement> case_statements = new ArrayList<CCodeCaseStatement> ();
        private Gee.List<CCodeStatement> default_statements = new ArrayList<CCodeStatement> ();
        
-       public CCodeSwitchStatement (construct CCodeExpression expression) {
+       public CCodeSwitchStatement (CCodeExpression expression) {
+               this.expression = expression;
        }
        
        /**
index 08fdcdc..c0a42e6 100644 (file)
@@ -43,7 +43,8 @@ public class Gee.ArrayList<G> : Object, Iterable<G>, Collection<G>, List<G> {
        // concurrent modification protection
        private int _stamp = 0;
 
-       public ArrayList (construct EqualFunc equal_func = GLib.direct_equal) {
+       public ArrayList (EqualFunc equal_func = GLib.direct_equal) {
+               this.equal_func = equal_func;
        }
 
        public Type get_element_type () {
@@ -165,7 +166,8 @@ public class Gee.ArrayList<G> : Object, Iterable<G>, Collection<G>, List<G> {
                // concurrent modification protection
                public int _stamp = 0;
 
-               public Iterator (construct ArrayList list) {
+               public Iterator (ArrayList list) {
+                       this.list = list;
                }
 
                public bool next () {
index 737e3f6..c4847ea 100644 (file)
@@ -58,7 +58,10 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
        private const int MIN_SIZE = 11;
        private const int MAX_SIZE = 13845163;
 
-       public HashMap (construct HashFunc key_hash_func = GLib.direct_hash, construct EqualFunc key_equal_func = GLib.direct_equal, construct EqualFunc value_equal_func = GLib.direct_equal) {
+       public HashMap (HashFunc key_hash_func = GLib.direct_hash, EqualFunc key_equal_func = GLib.direct_equal, EqualFunc value_equal_func = GLib.direct_equal) {
+               this.key_hash_func = key_hash_func;
+               this.key_equal_func = key_equal_func;
+               this.value_equal_func = value_equal_func;
        }
 
        construct {
@@ -185,7 +188,8 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
 
                private HashMap<K,V> _map;
 
-               public KeySet (construct HashMap map) {
+               public KeySet (HashMap map) {
+                       this.map = map;
                }
 
                public Type get_element_type () {
@@ -232,7 +236,8 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
                // concurrent modification protection
                private int _stamp;
 
-               public KeyIterator (construct HashMap map) {
+               public KeyIterator (HashMap map) {
+                       this.map = map;
                }
 
                public bool next () {
@@ -260,7 +265,8 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
 
                private HashMap<K,V> _map;
 
-               public ValueCollection (construct HashMap map) {
+               public ValueCollection (HashMap map) {
+                       this.map = map;
                }
 
                public Type get_element_type () {
@@ -313,7 +319,8 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
                // concurrent modification protection
                private int _stamp;
 
-               public ValueIterator (construct HashMap map) {
+               public ValueIterator (HashMap map) {
+                       this.map = map;
                }
 
                public bool next () {
index 4cfdfd3..aed8cad 100644 (file)
@@ -53,7 +53,9 @@ public class Gee.HashSet<G> : Object, Iterable<G>, Collection<G>, Set<G> {
        private const int MIN_SIZE = 11;
        private const int MAX_SIZE = 13845163;
 
-       public HashSet (construct HashFunc hash_func = GLib.direct_hash, construct EqualFunc equal_func = GLib.direct_equal) {
+       public HashSet (HashFunc hash_func = GLib.direct_hash, EqualFunc equal_func = GLib.direct_equal) {
+               this.hash_func = hash_func;
+               this.equal_func = equal_func;
        }
 
        construct {
@@ -176,7 +178,8 @@ public class Gee.HashSet<G> : Object, Iterable<G>, Collection<G>, Set<G> {
                // concurrent modification protection
                private int _stamp = 0;
 
-               public Iterator (construct HashSet set) {
+               public Iterator (HashSet set) {
+                       this.set = set;
                }
 
                public bool next () {
index 8dad8f8..c54226e 100644 (file)
@@ -36,7 +36,8 @@ public class Gee.ReadOnlyCollection<G> : Object, Iterable<G>, Collection<G> {
 
        private Collection<G> _collection;
 
-       public ReadOnlyCollection (construct Collection<G> collection = null) {
+       public ReadOnlyCollection (Collection<G> collection = null) {
+               this.collection = collection;
        }
 
        public Type get_element_type () {
index 2e995d7..83efd6f 100644 (file)
@@ -36,7 +36,8 @@ public class Gee.ReadOnlyList<G> : Object, Iterable<G>, Collection<G>, List<G> {
 
        private List<G> _list;
 
-       public ReadOnlyList (construct List<G> list = null) {
+       public ReadOnlyList (List<G> list = null) {
+               this.list = list;
        }
 
        public Type get_element_type () {
index c038e7d..cba3a2d 100644 (file)
@@ -36,7 +36,8 @@ public class Gee.ReadOnlyMap<K,V> : Object, Map<K,V> {
 
        private Map<K,V> _map;
 
-       public ReadOnlyMap (construct Map<K,V> map = null) {
+       public ReadOnlyMap (Map<K,V> map = null) {
+               this.map = map;
        }
 
        public Set<K> get_keys () {
index 4605183..ecf64d9 100644 (file)
@@ -36,7 +36,8 @@ public class Gee.ReadOnlySet<G> : Object, Iterable<G>, Collection<G>, Set<G> {
 
        private Set<G> _set;
 
-       public ReadOnlySet (construct Set<G> set = null) {
+       public ReadOnlySet (Set<G> set = null) {
+               this.set = set;
        }
 
        public Type get_element_type () {
index 222d331..ab311c1 100644 (file)
@@ -30,7 +30,9 @@ using Gee;
 public class Vala.CCodeArrayCreationExpressionBinding : CCodeExpressionBinding {
        public ArrayCreationExpression array_creation_expression { get; set; }
 
-       public CCodeArrayCreationExpressionBinding (construct CodeGenerator codegen, construct ArrayCreationExpression array_creation_expression) {
+       public CCodeArrayCreationExpressionBinding (CodeGenerator codegen, ArrayCreationExpression array_creation_expression) {
+               this.array_creation_expression = array_creation_expression;
+               this.codegen = codegen;
        }
 
        public override void emit () {
index 33f59fe..eed55de 100644 (file)
@@ -30,7 +30,9 @@ using Gee;
 public class Vala.CCodeAssignmentBinding : CCodeExpressionBinding {
        public Assignment assignment { get; set; }
 
-       public CCodeAssignmentBinding (construct CodeGenerator codegen, construct Assignment assignment) {
+       public CCodeAssignmentBinding (CodeGenerator codegen, Assignment assignment) {
+               this.assignment = assignment;
+               this.codegen = codegen;
        }
 
        private void emit_property_assignment () {
index 936684c..8c6ce75 100644 (file)
@@ -30,7 +30,9 @@ using Gee;
 public class Vala.CCodeElementAccessBinding : CCodeExpressionBinding {
        public ElementAccess element_access { get; set; }
 
-       public CCodeElementAccessBinding (construct CodeGenerator codegen, construct ElementAccess element_access) {
+       public CCodeElementAccessBinding (CodeGenerator codegen, ElementAccess element_access) {
+               this.element_access = element_access;
+               this.codegen = codegen;
        }
 
        public override void emit () {
index 376e542..3bed0fd 100644 (file)
@@ -33,7 +33,9 @@ public class Vala.CCodeMethodBinding : CCodeBinding {
                get { return (method.get_attribute ("NoWrapper") == null); }
        }
 
-       public CCodeMethodBinding (construct CodeGenerator codegen, construct Method method) {
+       public CCodeMethodBinding (CodeGenerator codegen, Method method) {
+               this.method = method;
+               this.codegen = codegen;
        }
 
        public static CCodeMethodBinding get (Method method) {
index e7774bf..4aaa596 100644 (file)
@@ -27,7 +27,10 @@ using Gee;
  * Represents a dynamic bound DBus method.
  */
 public class Vala.DBusMethod : Method {
-       public DBusMethod (construct string name, construct DataType return_type, construct SourceReference source_reference = null) {
+       public DBusMethod (string name, DataType return_type, SourceReference source_reference = null) {
+               this.return_type = return_type;
+               this.source_reference = source_reference;
+               this.name = name;
        }
 
        public override Collection<string> get_cheader_filenames () {
index 44d627c..f736575 100644 (file)
@@ -26,6 +26,9 @@ using GLib;
  * Represents a dynamic bound DBus signal.
  */
 public class Vala.DBusSignal : Signal {
-       public DBusSignal (construct string name, construct DataType return_type, construct SourceReference source_reference = null) {
+       public DBusSignal (string name, DataType return_type, SourceReference source_reference = null) {
+               this.return_type = return_type;
+               this.source_reference = source_reference;
+               this.name = name;
        }
 }
index 68d169b..f556445 100644 (file)
@@ -47,7 +47,9 @@ public class Vala.AddressofExpression : Expression {
         * @param inner variable whose address is to be computed
         * @return      newly created address-of expression
         */
-       public AddressofExpression (construct Expression inner, construct SourceReference source_reference = null) {
+       public AddressofExpression (Expression inner, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.inner = inner;
        }
        
        public override void accept (CodeVisitor visitor) {
index bbac6f0..ec8dc95 100644 (file)
@@ -70,7 +70,11 @@ public class Vala.ArrayCreationExpression : Expression {
                return new ReadOnlyList<Expression> (sizes);
        }
        
-       public ArrayCreationExpression (construct DataType element_type, construct int rank, construct InitializerList initializer_list, construct SourceReference source_reference) {
+       public ArrayCreationExpression (DataType element_type, int rank, InitializerList initializer_list, SourceReference source_reference) {
+               this.rank = rank;
+               this.initializer_list = initializer_list;
+               this.source_reference = source_reference;
+               this.element_type = element_type;
        }
 
        public override void accept_children (CodeVisitor visitor) {
index 4b9e1cc..57615b7 100644 (file)
@@ -31,7 +31,8 @@ public class Vala.ArrayLengthField : Field {
         *
         * @return newly created field
         */
-       public ArrayLengthField (construct SourceReference source_reference) {
+       public ArrayLengthField (SourceReference source_reference) {
+               this.source_reference = source_reference;
                name = "length";
        }
 }
index 19329fb..9d91189 100644 (file)
@@ -31,7 +31,8 @@ public class Vala.ArrayMoveMethod : Method {
         *
         * @return newly created method
         */
-       public ArrayMoveMethod (construct SourceReference source_reference) {
+       public ArrayMoveMethod (SourceReference source_reference) {
+               this.source_reference = source_reference;
                name = "move";
        }
 }
index 96cedf3..5df8943 100644 (file)
@@ -31,7 +31,8 @@ public class Vala.ArrayResizeMethod : Method {
         *
         * @return newly created method
         */
-       public ArrayResizeMethod (construct SourceReference source_reference) {
+       public ArrayResizeMethod (SourceReference source_reference) {
+               this.source_reference = source_reference;
                name = "resize";
        }
 
index 594d01b..426ebea 100644 (file)
@@ -67,7 +67,11 @@ public class Vala.Assignment : Expression {
         * @param source_reference reference to source code
         * @return                 newly created assignment
         */
-       public Assignment (construct Expression left, construct Expression right, construct AssignmentOperator operator = AssignmentOperator.SIMPLE, construct SourceReference source_reference = null) {
+       public Assignment (Expression left, Expression right, AssignmentOperator operator = AssignmentOperator.SIMPLE, SourceReference source_reference = null) {
+               this.right = right;
+               this.operator = operator;
+               this.source_reference = source_reference;
+               this.left = left;
        }
        
        public override void accept (CodeVisitor visitor) {
index 2c2dd4d..7c01c28 100644 (file)
@@ -44,7 +44,9 @@ public class Vala.Attribute : CodeNode {
         * @param source_reference reference to source code
         * @return                 newly created attribute
         */
-       public Attribute (construct string name, construct SourceReference source_reference) {
+       public Attribute (string name, SourceReference source_reference) {
+               this.source_reference = source_reference;
+               this.name = name;
        }
 
        /**
index f742bf2..9208ff7 100644 (file)
@@ -41,7 +41,8 @@ public class Vala.Block : Symbol, Statement {
         *
         * @param source reference to source code
         */
-       public Block (construct SourceReference source_reference = null) {
+       public Block (SourceReference source_reference = null) {
+               this.source_reference = source_reference;
        }
        
        /**
index 4b73c3e..ba35a20 100644 (file)
@@ -66,7 +66,11 @@ public class Vala.CastExpression : Expression {
         * @param type  target type
         * @return      newly created cast expression
         */
-       public CastExpression (construct Expression inner, construct DataType type_reference, construct SourceReference source_reference, construct bool is_silent_cast) {
+       public CastExpression (Expression inner, DataType type_reference, SourceReference source_reference, bool is_silent_cast) {
+               this.type_reference = type_reference;
+               this.source_reference = source_reference;
+               this.is_silent_cast = is_silent_cast;
+               this.inner = inner;
        }
        
        public override void accept (CodeVisitor visitor) {
index a0d895c..269ba88 100644 (file)
@@ -65,7 +65,11 @@ public class Vala.CatchClause : CodeNode {
         * @param source_reference reference to source code
         * @return                 newly created catch clause
         */
-       public CatchClause (construct DataType? type_reference, construct string variable_name, construct Block body, construct SourceReference source_reference = null) {
+       public CatchClause (DataType? type_reference, string variable_name, Block body, SourceReference source_reference = null) {
+               this.type_reference = type_reference;
+               this.variable_name = variable_name;
+               this.body = body;
+               this.source_reference = source_reference;
        }
 
        public override void accept (CodeVisitor visitor) {
index 0a08b19..faf0f2a 100644 (file)
@@ -39,23 +39,32 @@ public class Vala.CFGBuilder : CodeVisitor {
                public BasicBlock? last_block { get; set; }
                public CatchClause? catch_clause { get; set; }
 
-               public JumpTarget.break_target (construct BasicBlock basic_block) {
+               public JumpTarget.break_target (BasicBlock basic_block) {
+                       this.basic_block = basic_block;
                        break_target = true;
                }
 
-               public JumpTarget.continue_target (construct BasicBlock basic_block) {
+               public JumpTarget.continue_target (BasicBlock basic_block) {
+                       this.basic_block = basic_block;
                        continue_target = true;
                }
 
-               public JumpTarget.return_target (construct BasicBlock basic_block) {
+               public JumpTarget.return_target (BasicBlock basic_block) {
+                       this.basic_block = basic_block;
                        return_target = true;
                }
 
-               public JumpTarget.error_target (construct BasicBlock basic_block, construct CatchClause catch_clause, construct Enum? error_domain, construct EnumValue? error_code) {
+               public JumpTarget.error_target (BasicBlock basic_block, CatchClause catch_clause, Enum? error_domain, EnumValue? error_code) {
+                       this.basic_block = basic_block;
+                       this.catch_clause = catch_clause;
+                       this.error_domain = error_domain;
+                       this.error_code = error_code;
                        error_target = true;
                }
 
-               public JumpTarget.finally_clause (construct BasicBlock basic_block, construct BasicBlock last_block) {
+               public JumpTarget.finally_clause (BasicBlock basic_block, BasicBlock last_block) {
+                       this.basic_block = basic_block;
+                       this.last_block = last_block;
                        finally_clause = true;
                }
        }
index 54f128a..d7ab5a3 100644 (file)
@@ -111,7 +111,9 @@ public class Vala.Class : Typesymbol {
         * @param source reference to source code
         * @return       newly created class
         */
-       public Class (construct string name, construct SourceReference source_reference = null) {
+       public Class (string name, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.name = name;
        }
 
        /**
index 2180d16..94ef2f9 100644 (file)
@@ -31,7 +31,8 @@ public class Vala.ClassType : ReferenceType {
         */
        public weak Class class_symbol { get; set; }
 
-       public ClassType (construct Class class_symbol) {
+       public ClassType (Class class_symbol) {
+               this.class_symbol = class_symbol;
                data_type = class_symbol;
        }
 
index 8e5a2b9..3888ddf 100644 (file)
@@ -57,7 +57,11 @@ public class Vala.Constant : Member, Lockable {
         * @param source_reference reference to source code
         * @return                 newly created constant
         */
-       public Constant (construct string name, construct DataType type_reference, construct Expression initializer, construct SourceReference source_reference) {
+       public Constant (string name, DataType type_reference, Expression initializer, SourceReference source_reference) {
+               this.type_reference = type_reference;
+               this.initializer = initializer;
+               this.source_reference = source_reference;
+               this.name = name;
        }
 
        public override void accept (CodeVisitor visitor) {
index 787a427..cf020c6 100644 (file)
@@ -44,7 +44,10 @@ public class Vala.CreationMethod : Method {
         * @param source_reference reference to source code
         * @return                 newly created method
         */
-       public CreationMethod (construct string type_name, construct string name, construct SourceReference source_reference = null) {
+       public CreationMethod (string type_name, string name, SourceReference source_reference = null) {
+               this.name = name;
+               this.source_reference = source_reference;
+               this.type_name = type_name;
                return_type = new VoidType ();
        }
 
index 0f3ac23..4cee764 100644 (file)
@@ -94,7 +94,10 @@ public class Vala.Delegate : Typesymbol {
         * @param source      reference to source code
         * @return            newly created delegate
         */
-       public Delegate (construct string name, construct DataType return_type, construct SourceReference source_reference = null) {
+       public Delegate (string name, DataType return_type, SourceReference source_reference = null) {
+               this.return_type = return_type;
+               this.source_reference = source_reference;
+               this.name = name;
        }
 
        construct {
index 9b79190..3702f3d 100644 (file)
@@ -29,7 +29,8 @@ using Gee;
 public class Vala.DelegateType : DataType {
        public Delegate delegate_symbol { get; set; }
 
-       public DelegateType (construct Delegate delegate_symbol) {
+       public DelegateType (Delegate delegate_symbol) {
+               this.delegate_symbol = delegate_symbol;
        }
 
        public override bool is_invokable () {
index 2c3da0d..13dc25c 100644 (file)
@@ -47,7 +47,8 @@ public class Vala.Destructor : Symbol {
         * @param source_reference reference to source code
         * @return                 newly created destructor
         */
-       public Destructor (construct SourceReference source_reference = null) {
+       public Destructor (SourceReference source_reference = null) {
+               this.source_reference = source_reference;
        }
 
        public override void accept (CodeVisitor visitor) {
index 0b9beb8..b4ea716 100644 (file)
@@ -63,7 +63,10 @@ public class Vala.DoStatement : CodeNode, Statement {
         * @param source reference to source code
         * @return       newly created do statement
         */
-       public DoStatement (construct Block body, construct Expression condition, construct SourceReference source_reference = null) {
+       public DoStatement (Block body, Expression condition, SourceReference source_reference = null) {
+               this.condition = condition;
+               this.source_reference = source_reference;
+               this.body = body;
        }
 
        public override void accept (CodeVisitor visitor) {
index 9dc6b27..7855350 100644 (file)
@@ -47,7 +47,9 @@ public class Vala.ElementAccess : Expression {
                return new ReadOnlyList<Expression> (indices);
        }
        
-       public ElementAccess (construct Expression container, construct SourceReference source_reference) {
+       public ElementAccess (Expression container, SourceReference source_reference) {
+               this.source_reference = source_reference;
+               this.container = container;
        }
        
        public override void accept (CodeVisitor visitor) {
index 38989dc..3993721 100644 (file)
@@ -52,7 +52,9 @@ public class Vala.Enum : Typesymbol {
         * @param source_reference reference to source code
         * @return                 newly created enum
         */
-       public Enum (construct string name, construct SourceReference source_reference = null) {
+       public Enum (string name, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.name = name;
        }
        
        /**
index d5d2e16..a985f91 100644 (file)
@@ -39,7 +39,8 @@ public class Vala.EnumValue : Symbol {
         * @param name enum value name
         * @return     newly created enum value
         */
-       public EnumValue (construct string name, SourceReference source_reference = null) {
+       public EnumValue (string name, SourceReference source_reference = null) {
+               this.name = name;
                this.source_reference = source_reference;
        }
 
@@ -50,7 +51,9 @@ public class Vala.EnumValue : Symbol {
         * @param value numerical representation
         * @return      newly created enum value
         */
-       public EnumValue.with_value (construct string name, construct Expression value, SourceReference source_reference = null) {
+       public EnumValue.with_value (string name, Expression value, SourceReference source_reference = null) {
+               this.name = name;
+               this.value = value;
                this.source_reference = source_reference;
        }
        
index 3901fbb..18795db 100644 (file)
@@ -39,7 +39,8 @@ public class Vala.ErrorCode : Symbol {
         * @param name enum value name
         * @return     newly created enum value
         */
-       public ErrorCode (construct string name) {
+       public ErrorCode (string name) {
+               this.name = name;
        }
 
        /**
@@ -49,7 +50,9 @@ public class Vala.ErrorCode : Symbol {
         * @param value numerical representation
         * @return      newly created enum value
         */
-       public ErrorCode.with_value (construct string name, construct Expression value) {
+       public ErrorCode.with_value (string name, Expression value) {
+               this.name = name;
+               this.value = value;
        }
        
        public override void accept (CodeVisitor visitor) {
index 0207880..c15879a 100644 (file)
@@ -41,7 +41,9 @@ public class Vala.ErrorDomain : Typesymbol {
         * @param source_reference reference to source code
         * @return                 newly created error domain
         */
-       public ErrorDomain (construct string name, construct SourceReference source_reference = null) {
+       public ErrorDomain (string name, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.name = name;
        }
        
        /**
index bac7f7a..c1a0eab 100644 (file)
@@ -49,7 +49,9 @@ public class Vala.ExpressionStatement : CodeNode, Statement {
         * @param source reference to source code
         * @return       newly created expression statement
         */
-       public ExpressionStatement (construct Expression expression, construct SourceReference source_reference = null) {
+       public ExpressionStatement (Expression expression, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.expression = expression;
        }
        
        public override void accept (CodeVisitor visitor) {
index ac09e96..77dd412 100644 (file)
@@ -80,7 +80,11 @@ public class Vala.Field : Member, Lockable {
         * @param source reference to source code
         * @return       newly created field
         */
-       public Field (construct string name, construct DataType type_reference, construct Expression initializer, construct SourceReference source_reference = null) {
+       public Field (string name, DataType type_reference, Expression initializer, SourceReference source_reference = null) {
+               this.type_reference = type_reference;
+               this.initializer = initializer;
+               this.source_reference = source_reference;
+               this.name = name;
        }
 
        public override void accept (CodeVisitor visitor) {
index 7c8eb96..6e522fe 100644 (file)
@@ -98,7 +98,12 @@ public class Vala.ForeachStatement : Block {
         * @param source reference to source code
         * @return       newly created foreach statement
         */
-       public ForeachStatement (construct DataType type_reference, construct string variable_name, construct Expression collection, construct Block body, construct SourceReference source_reference) {
+       public ForeachStatement (DataType type_reference, string variable_name, Expression collection, Block body, SourceReference source_reference) {
+               this.variable_name = variable_name;
+               this.collection = collection;
+               this.body = body;
+               this.source_reference = source_reference;
+               this.type_reference = type_reference;
        }
        
        public override void accept (CodeVisitor visitor) {
index 610ef84..cfc7496 100644 (file)
@@ -69,7 +69,10 @@ public class Vala.ForStatement : CodeNode, Statement {
         * @param source_reference reference to source code
         * @return                 newly created for statement
         */
-       public ForStatement (construct Expression condition, construct Block body, construct SourceReference source_reference = null) {
+       public ForStatement (Expression condition, Block body, SourceReference source_reference = null) {
+               this.body = body;
+               this.source_reference = source_reference;
+               this.condition = condition;
        }
        
        /**
index 55aba15..84cf370 100644 (file)
@@ -61,7 +61,8 @@ public class Vala.InitializerList : Expression {
         * @param source_reference reference to source code
         * @return                 newly created initializer list
         */
-       public InitializerList (construct SourceReference source_reference) {
+       public InitializerList (SourceReference source_reference) {
+               this.source_reference = source_reference;
        }
 
        public override void accept_children (CodeVisitor visitor) {
index c7cdb36..04d51ac 100644 (file)
@@ -28,7 +28,8 @@ using GLib;
 public class Vala.IntegerType : ValueType {
        public IntegerLiteral literal { get; set; }
 
-       public IntegerType (construct Typesymbol type_symbol) {
+       public IntegerType (Typesymbol type_symbol) {
+               this.type_symbol = type_symbol;
                data_type = type_symbol;
        }
 
index e654c2a..4f24d66 100644 (file)
@@ -62,7 +62,9 @@ public class Vala.Interface : Typesymbol {
         * @param source reference to source code
         * @return       newly created interface
         */
-       public Interface (construct string name, construct SourceReference source_reference = null) {
+       public Interface (string name, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.name = name;
        }
 
        /**
index 96b39c4..d728872 100644 (file)
@@ -31,7 +31,8 @@ public class Vala.InterfaceType : ReferenceType {
         */
        public weak Interface interface_symbol { get; set; }
 
-       public InterfaceType (construct Interface interface_symbol) {
+       public InterfaceType (Interface interface_symbol) {
+               this.interface_symbol = interface_symbol;
                data_type = interface_symbol;
        }
 
index 3eeeadf..7409370 100644 (file)
@@ -52,7 +52,9 @@ public class Vala.InvocationExpression : Expression {
         * @param source_reference reference to source code
         * @return                 newly created invocation expression
         */
-       public InvocationExpression (construct Expression call, construct SourceReference source_reference = null) {
+       public InvocationExpression (Expression call, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.call = call;
        }
        
        /**
index eb2c8d4..13e8d2b 100644 (file)
@@ -54,7 +54,9 @@ public class Vala.LambdaExpression : Expression {
         * @param source_reference reference to source code
         * @return                 newly created lambda expression
         */
-       public LambdaExpression (construct Expression expression_body, construct SourceReference source_reference) {
+       public LambdaExpression (Expression expression_body, SourceReference source_reference) {
+               this.source_reference = source_reference;
+               this.expression_body = expression_body;
        }
        
        /**
@@ -64,7 +66,9 @@ public class Vala.LambdaExpression : Expression {
         * @param source_reference reference to source code
         * @return                 newly created lambda expression
         */
-       public LambdaExpression.with_statement_body (construct Block statement_body, construct SourceReference source_reference) {
+       public LambdaExpression.with_statement_body (Block statement_body, SourceReference source_reference) {
+               this.statement_body = statement_body;
+               this.source_reference = source_reference;
        }
        
        /**
index 2d4c3ae..a1e0f02 100644 (file)
@@ -49,7 +49,9 @@ public class Vala.LocalVariableDeclaration : CodeNode {
         * @param source_reference reference to source code
         * @return                 newly created local variable declaration
         */
-       public LocalVariableDeclaration (construct DataType type_reference, construct SourceReference source_reference) {
+       public LocalVariableDeclaration (DataType type_reference, SourceReference source_reference) {
+               this.type_reference = type_reference;
+               this.source_reference = source_reference;
        }
        
        /**
@@ -60,7 +62,8 @@ public class Vala.LocalVariableDeclaration : CodeNode {
         * @param source_reference reference to source code
         * @return                 newly created local variable declaration
         */
-       public LocalVariableDeclaration.var_type (construct SourceReference source_reference) {
+       public LocalVariableDeclaration.var_type (SourceReference source_reference) {
+               this.source_reference = source_reference;
        }
        
        /**
index 3c14cc1..ab57045 100644 (file)
@@ -36,7 +36,10 @@ public class Vala.LockStatement : CodeNode, Statement {
         */
        public Block body { get; set construct; }
        
-       public LockStatement (construct Expression resource, construct Block body, construct SourceReference source_reference = null) {
+       public LockStatement (Expression resource, Block body, SourceReference source_reference = null) {
+               this.body = body;
+               this.source_reference = source_reference;
+               this.resource = resource;
        }
        
        public override void accept (CodeVisitor visitor) {
index aaeec0d..1f0373c 100644 (file)
@@ -74,13 +74,21 @@ public class Vala.MemberAccess : Expression {
         * @param source_reference reference to source code
         * @return                 newly created member access expression
         */
-       public MemberAccess (construct Expression inner, construct string member_name, construct SourceReference source_reference = null) {
+       public MemberAccess (Expression inner, string member_name, SourceReference source_reference = null) {
+               this.inner = inner;
+               this.member_name = member_name;
+               this.source_reference = source_reference;
        }
 
-       public MemberAccess.simple (construct string member_name, construct SourceReference source_reference = null) {
+       public MemberAccess.simple (string member_name, SourceReference source_reference = null) {
+               this.member_name = member_name;
+               this.source_reference = source_reference;
        }
 
-       public MemberAccess.pointer (construct Expression inner, construct string member_name, construct SourceReference source_reference = null) {
+       public MemberAccess.pointer (Expression inner, string member_name, SourceReference source_reference = null) {
+               this.inner = inner;
+               this.member_name = member_name;
+               this.source_reference = source_reference;
                pointer_member_access = true;
        }
 
index 4fe2066..364813e 100644 (file)
@@ -50,7 +50,10 @@ public class Vala.MemberInitializer : CodeNode {
         * @param source_reference reference to source code
         * @return                 newly created member initializer
         */
-       public MemberInitializer (construct string name, construct Expression initializer, construct SourceReference source_reference = null) {
+       public MemberInitializer (string name, Expression initializer, SourceReference source_reference = null) {
+               this.initializer = initializer;
+               this.source_reference = source_reference;
+               this.name = name;
        }
        
        public override void accept (CodeVisitor visitor) {
index eb948fd..e3718db 100644 (file)
@@ -211,7 +211,10 @@ public class Vala.Method : Member {
         * @param source      reference to source code
         * @return            newly created method
         */
-       public Method (construct string name, construct DataType return_type, construct SourceReference source_reference = null) {
+       public Method (string name, DataType return_type, SourceReference source_reference = null) {
+               this.return_type = return_type;
+               this.source_reference = source_reference;
+               this.name = name;
        }
 
        construct {
index be0df49..95c39c2 100644 (file)
@@ -29,7 +29,8 @@ using Gee;
 public class Vala.MethodType : DataType {
        public Method method_symbol { get; set; }
 
-       public MethodType (construct Method method_symbol) {
+       public MethodType (Method method_symbol) {
+               this.method_symbol = method_symbol;
        }
 
        public override bool is_invokable () {
index 3be699e..8939943 100644 (file)
@@ -56,7 +56,9 @@ public class Vala.Namespace : Symbol {
         * @param source_reference reference to source code
         * @return                 newly created namespace
         */
-       public Namespace (construct string name, construct SourceReference source_reference = null) {
+       public Namespace (string name, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.name = name;
                access = SymbolAccessibility.PUBLIC;
        }
        
index faaa707..fb83039 100644 (file)
@@ -43,7 +43,9 @@ public class Vala.NamespaceReference : CodeNode {
         * @param source_reference reference to source code
         * @return                 newly created namespace reference
         */
-       public NamespaceReference (construct string name, construct SourceReference source_reference) {
+       public NamespaceReference (string name, SourceReference source_reference) {
+               this.source_reference = source_reference;
+               this.name = name;
        }
        
        public override void accept (CodeVisitor visitor) {
index e78eb07..97653d4 100644 (file)
@@ -63,7 +63,9 @@ public class Vala.ObjectCreationExpression : Expression {
         * @param source_reference reference to source code
         * @return                 newly created object creation expression
         */
-       public ObjectCreationExpression (construct MemberAccess member_name, construct SourceReference source_reference) {
+       public ObjectCreationExpression (MemberAccess member_name, SourceReference source_reference) {
+               this.source_reference = source_reference;
+               this.member_name = member_name;
        }
        
        /**
index 84bfe77..99cd130 100644 (file)
@@ -2471,7 +2471,11 @@ public class Vala.Parser : CodeVisitor {
                        // varargs
                        return context.create_formal_parameter_with_ellipsis (get_src (begin));
                }
-               bool construct_param = accept (TokenType.CONSTRUCT);
+               bool construct_param = false;
+               if (accept (TokenType.CONSTRUCT)) {
+                       Report.warning (get_last_src (), "deprecated syntax, use assignments in the method body");
+                       construct_param = true;
+               }
                var type = parse_type ();
                var ut = type as UnresolvedType;
                if (ut != null) {
index a874e4b..9d95c9a 100644 (file)
@@ -47,7 +47,9 @@ public class Vala.PointerIndirection : Expression {
         * @param inner pointer to be dereferenced
         * @return      newly created pointer indirection
         */
-       public PointerIndirection (construct Expression inner, construct SourceReference source_reference = null) {
+       public PointerIndirection (Expression inner, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.inner = inner;
        }
        
        public override void accept (CodeVisitor visitor) {
index 97af5d1..6571142 100644 (file)
@@ -32,7 +32,8 @@ public class Vala.PointerType : DataType {
         */
        public DataType base_type { get; set; }
 
-       public PointerType (construct DataType base_type) {
+       public PointerType (DataType base_type) {
+               this.base_type = base_type;
        }
 
        public override string to_string () {
index 3c82c11..a9e8855 100644 (file)
@@ -81,7 +81,12 @@ public class Vala.PropertyAccessor : CodeNode {
         * @param source       reference to source code
         * @return             newly created property accessor
         */
-       public PropertyAccessor (construct bool readable, construct bool writable, construct bool construction, construct Block body, construct SourceReference source_reference) {
+       public PropertyAccessor (bool readable, bool writable, bool construction, Block body, SourceReference source_reference) {
+               this.writable = writable;
+               this.construction = construction;
+               this.body = body;
+               this.source_reference = source_reference;
+               this.readable = readable;
        }
 
        public override void accept (CodeVisitor visitor) {
index b2ccf37..a761f04 100644 (file)
@@ -47,7 +47,9 @@ public class Vala.ReferenceTransferExpression : Expression {
         * @param inner variable whose reference is to be transferred
         * @return      newly created reference transfer expression
         */
-       public ReferenceTransferExpression (construct Expression inner, construct SourceReference source_reference = null) {
+       public ReferenceTransferExpression (Expression inner, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.inner = inner;
        }
        
        public override void accept (CodeVisitor visitor) {
index 77566e2..5ecd4e5 100644 (file)
@@ -48,7 +48,9 @@ public class Vala.ReturnStatement : CodeNode, Statement {
         * @param source_reference  reference to source code
         * @return                  newly created return statement
         */
-       public ReturnStatement (construct Expression return_expression = null, construct SourceReference source_reference = null) {
+       public ReturnStatement (Expression return_expression = null, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.return_expression = return_expression;
        }
 
        public override void accept (CodeVisitor visitor) {
index 94d821f..ac03889 100644 (file)
@@ -44,7 +44,8 @@ public class Vala.Scope : Object {
         *
         * @return newly created scope
         */
-       public Scope (construct Symbol owner = null) {
+       public Scope (Symbol owner = null) {
+               this.owner = owner;
        }
 
        /**
index 2ca9c73..ef4e658 100644 (file)
@@ -60,7 +60,10 @@ public class Vala.Signal : Member, Lockable {
         * @param source      reference to source code
         * @return            newly created signal
         */
-       public Signal (construct string name, construct DataType return_type, construct SourceReference source_reference = null) {
+       public Signal (string name, DataType return_type, SourceReference source_reference = null) {
+               this.return_type = return_type;
+               this.source_reference = source_reference;
+               this.name = name;
        }
        
        /**
index e5c0de9..727ff87 100644 (file)
@@ -29,7 +29,8 @@ using Gee;
 public class Vala.SignalType : DataType {
        public Signal signal_symbol { get; set; }
 
-       public SignalType (construct Signal signal_symbol) {
+       public SignalType (Signal signal_symbol) {
+               this.signal_symbol = signal_symbol;
        }
 
        public override bool is_invokable () {
index 59ae8c8..3ea5339 100644 (file)
@@ -96,7 +96,10 @@ public class Vala.SourceFile : Object {
         * @param pkg      true if this is a VAPI package file
         * @return         newly created source file
         */
-       public SourceFile (construct CodeContext context, construct string filename, construct bool pkg = false) {
+       public SourceFile (CodeContext context, string filename, bool pkg = false) {
+               this.filename = filename;
+               this.pkg = pkg;
+               this.context = context;
        }
        
        /**
index eeb873c..b31eef0 100644 (file)
@@ -62,7 +62,9 @@ public class Vala.Struct : Typesymbol {
         * @param source_reference reference to source code
         * @return                 newly created struct
         */
-       public Struct (construct string name, construct SourceReference source_reference = null) {
+       public Struct (string name, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.name = name;
        }
 
        /**
index 42c0afb..6ea08b4 100644 (file)
@@ -36,7 +36,8 @@ public class Vala.SwitchSection : Block {
         * @param source_reference reference to source code
         * @return                 newly created switch section
         */
-       public SwitchSection (construct SourceReference source_reference) {
+       public SwitchSection (SourceReference source_reference) {
+               this.source_reference = source_reference;
        }
        
        /**
index 486f16e..ddfbed1 100644 (file)
@@ -50,7 +50,9 @@ public class Vala.SwitchStatement : CodeNode, Statement {
         * @param source_reference reference to source code
         * @return                 newly created switch statement
         */
-       public SwitchStatement (construct Expression expression, construct SourceReference source_reference) {
+       public SwitchStatement (Expression expression, SourceReference source_reference) {
+               this.source_reference = source_reference;
+               this.expression = expression;
        }
        
        /**
index a2dc37d..fd6a5af 100644 (file)
@@ -50,7 +50,9 @@ public class Vala.ThrowStatement : CodeNode, Statement {
         * @param source_reference reference to source code
         * @return                 newly created throw statement
         */
-       public ThrowStatement (construct Expression error_expression, construct SourceReference source_reference = null) {
+       public ThrowStatement (Expression error_expression, SourceReference source_reference = null) {
+               this.source_reference = source_reference;
+               this.error_expression = error_expression;
        }
 
        public override void accept (CodeVisitor visitor) {
index f6a7fa3..1fbc2d4 100644 (file)
@@ -47,7 +47,10 @@ public class Vala.TryStatement : CodeNode, Statement {
         * @param source_reference reference to source code
         * @return                 newly created try statement
         */
-       public TryStatement (construct Block body, construct Block finally_body, construct SourceReference source_reference = null) {
+       public TryStatement (Block body, Block finally_body, SourceReference source_reference = null) {
+               this.finally_body = finally_body;
+               this.source_reference = source_reference;
+               this.body = body;
        }
 
        /**
index 64f5832..43b07c9 100644 (file)
@@ -31,7 +31,8 @@ public class Vala.ValueType : DataType {
         */
        public weak Typesymbol type_symbol { get; set; }
 
-       public ValueType (construct Typesymbol type_symbol) {
+       public ValueType (Typesymbol type_symbol) {
+               this.type_symbol = type_symbol;
                data_type = type_symbol;
        }
 
index b856c22..5aadf97 100644 (file)
@@ -64,7 +64,10 @@ public class Vala.VariableDeclarator : Symbol {
         * @param source reference to source code
         * @return       newly created variable declarator
         */
-       public VariableDeclarator (construct string name, construct Expression initializer = null, construct SourceReference source_reference = null) {
+       public VariableDeclarator (string name, Expression initializer = null, SourceReference source_reference = null) {
+               this.initializer = initializer;
+               this.source_reference = source_reference;
+               this.name = name;
        }
        
        public override void accept (CodeVisitor visitor) {
index 8b23519..6f58bcd 100644 (file)
@@ -63,7 +63,10 @@ public class Vala.WhileStatement : CodeNode, Statement {
         * @param source reference to source code
         * @return       newly created while statement
         */
-       public WhileStatement (construct Expression condition, construct Block body, construct SourceReference source_reference = null) {
+       public WhileStatement (Expression condition, Block body, SourceReference source_reference = null) {
+               this.body = body;
+               this.source_reference = source_reference;
+               this.condition = condition;
        }
        
        public override void accept (CodeVisitor visitor) {
index 282b465..a066cc5 100644 (file)
 using GLib;
 
 class Vala.VAPICheck : Object {
-       public VAPICheck (string gidlname, construct CodeContext context = new CodeContext ()) {
+       public VAPICheck (string gidlname, CodeContext context = new CodeContext ()) {
                gidl = new SourceFile (context, gidlname);
                metadata = new SourceFile (context, gidlname.substring (0, gidlname.len () - 5) + ".metadata");
+               this.context = context;
        }
 
        public CodeContext context { get; construct; }