update for 0.1.1 release
[vala-lang.git] / ChangeLog
blob3683786999851ae5d3b24e81b8cbdaef7e4bac15
1 2007-07-13  Jürg Billeter  <j@bitron.ch>
3         * NEWS: update for 0.1.1 release
5 2007-07-13  Jürg Billeter  <j@bitron.ch>
7         * vala/valacatchclause.vala, vala/valacodevisitor.vala,
8           vala/valamemorymanager.vala, vala/valasemanticanalyzer.vala,
9           vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
10           vala/valathrowstatement.vala, vala/valatrystatement.vala,
11           gobject/valacodegenerator.vala: move iteration of throw statements,
12           try statements, and catch clauses from accept to accept_children
13           method, fixes nested try statements
14         * gobject/valacodegenerator.vala: clear unhandled error instead of
15           returning from the current function
16         * vala/valasemanticanalyzer.vala: generic pointer is compatible with
17           generic pointer
18         * vapi/glib-2.0.vala: add some more default values
20 2007-07-13  Jürg Billeter  <j@bitron.ch>
22         * vala/parser.y, gobject/valacodegenerator.vala: support multi-
23           dimensional arrays
25 2007-07-12  Jürg Billeter  <j@bitron.ch>
27         * ccode/valaccodewriter.vala, gobject/valaccodecompiler.vala,
28           compiler/valacompiler.vala, vapi/glib-2.0.vala,
29           gobject-introspection/gidl.vala, vapigen/valagidlparser.vala,
30           vapigen/valavapigen.vala: remove Error out parameters, use exceptions
32 2007-07-12  Jürg Billeter  <j@bitron.ch>
34         * gobject/valacodegenerator.vala: support exception handling in
35           constructors, avoid error when not using finally blocks
37 2007-07-12  Jürg Billeter  <j@bitron.ch>
39         * vala/parser.y: allow delegates to throw exceptions
41 2007-07-12  Jürg Billeter  <j@bitron.ch>
43         * vala/parser.y, vala/valasemanticanalyzer.vala,
44           gobject/valacodegenerator.vala: allow construction methods to throw
45           exceptions, fix issue with multiple catch clauses
47 2007-07-12  Jürg Billeter  <j@bitron.ch>
49         * vala/parser.y, vala/valacodenode.vala, vala/valaenum.vala,
50           vala/valaexpression.vala, vala/valamethod.vala,
51           vala/valasemanticanalyzer.vala, vala/valatrystatement.vala,
52           ccode/valaccodegotostatement.vala, ccode/valaccodelabel.vala:
53         * gobject/valacodegenerator.vala,
54           gobject/valacodegeneratorinvocationexpression.vala,
55           gobject/valacodegeneratormethod.vala: implement simple exception
56           handling for expression and declaration statements
57         * tests/test-033.vala, tests/test-033.out: test exception handling
58         * README, ccode/Makefile.am, tests/Makefile.am: update
60 2007-07-11  Jürg Billeter  <j@bitron.ch>
62         * ccode/valaccodefunctioncall.vala, gobject/valacodegenerator.vala,
63           gobject/valacodegeneratorinvocationexpression.vala,
64           vapi/glib-2.0.vala: add substring method to the string type
65         * tests/test-021.vala, tests/test-021.out: test substring method
67         Fixes bug 443524
69 2007-07-11  Jürg Billeter  <j@bitron.ch>
71         * vala/valasemanticanalyzer.vala, gobject/valacodegenerator.vala:
72           support element access for strings
73         * tests/test-019.vala, tests/test-019.out: test element access for
74           strings
76         Fixes bug 443523
78 2007-07-11  Jürg Billeter  <j@bitron.ch>
80         * ccode/valaccodefragment.vala, ccode/valaccodenode.vala,
81           ccode/valaccodeoncesection.vala, gobject/valacodegenerator.vala,
82           gobject/valacodegeneratorsourcefile.vala: fix order in C header file
83         * tests/test-014.vala, tests/test-014.out: test public delegate
85         Fixes bug 442703
87 2007-07-11  Jürg Billeter  <j@bitron.ch>
89         * vala/valaforeachstatement.vala: call visit_end_full_expression for
90           collection expression
91         * gobject/valacodegenerator.vala, gobject/valacodegeneratormethod.vala:
92           return array length if appropriate
93         * tests/test-032.vala, tests/test-032.out: test array as return value
94         * tests/Makefile.am: update
96         Fixes bug 453676
98 2007-07-11  Jürg Billeter  <j@bitron.ch>
100         * vala/valasemanticanalyzer.vala: any reference or array type or pointer
101           type can be cast to a generic pointer
103 2007-07-11  Jürg Billeter  <j@bitron.ch>
105         * vapi/libxml-2.0.vala: expand libxml2 bindings,
106           patch by Michael Lawrence, fixes bug 452016
108 2007-07-11  Jürg Billeter  <j@bitron.ch>
110         * vala/valainterfacewriter.vala: fix writing type arguments of formal
111           parameters
112         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
113           regenerated to use out instead of ref parameters
115 2007-07-10  Jürg Billeter  <j@bitron.ch>
117         * vala/valacodecontext.vala, gobject/valaccodecompiler.vala,
118           gobject/valacodegeneratormethod.vala, compiler/valacompiler.vala:
119           add --thread option to enable multithreading support
121 2007-07-10  Jürg Billeter  <j@bitron.ch>
123         * gobject/valaccodecompiler.vala: always use gobject-2.0
125 2007-07-10  Jürg Billeter  <j@bitron.ch>
127         * vapi/hal.vala: fix typo
129 2007-07-09  Jürg Billeter  <j@bitron.ch>
131         * configure.ac: Post-release version bump
133 2007-07-09  Jürg Billeter  <j@bitron.ch>
135         * NEWS, README, configure.ac: update for 0.1.0 release
137 2007-07-09  Jürg Billeter  <j@bitron.ch>
139         * vala/scanner.l, vala/parser.y, vala/valaarray.vala,
140           vala/valaarraycreationexpression.vala, vala/valaattribute.vala,
141           vala/valabaseaccess.vala, vala/valablock.vala,
142           vala/valabooleanliteral.vala, vala/valacallback.vala,
143           vala/valaclass.vala, vala/valacodecontext.vala,
144           vala/valacodenode.vala, vala/valacreationmethod.vala,
145           vala/valadatatype.vala, vala/valaelementaccess.vala,
146           vala/valaenum.vala, vala/valafield.vala, vala/valaflags.vala,
147           vala/valaformalparameter.vala, vala/valaforstatement.vala,
148           vala/valainitializerlist.vala, vala/valaintegerliteral.vala,
149           vala/valainterface.vala, vala/valainterfacewriter.vala,
150           vala/valainvocationexpression.vala, vala/valainvokable.vala,
151           vala/valalambdaexpression.vala, vala/valaliteralexpression.vala,
152           vala/valalocalvariabledeclaration.vala, vala/valamemberaccess.vala,
153           vala/valamemorymanager.vala, vala/valamethod.vala,
154           vala/valanamespace.vala, vala/valanullliteral.vala,
155           vala/valaobjectcreationexpression.vala, vala/valaparser.vala,
156           vala/valapointer.vala, vala/valaproperty.vala,
157           vala/valasemanticanalyzer.vala, vala/valasignal.vala,
158           vala/valasourcefile.vala, vala/valasourcereference.vala,
159           vala/valastringliteral.vala, vala/valastruct.vala,
160           vala/valaswitchsection.vala, vala/valaswitchstatement.vala,
161           vala/valasymbol.vala, vala/valasymbolresolver.vala,
162           vala/valatypereference.vala, vala/valavariabledeclarator.vala,
163           gobject/valaclassregisterfunction.vala,
164           gobject/valacodegenerator.vala,
165           gobject/valacodegeneratorassignment.vala,
166           gobject/valacodegeneratorclass.vala,
167           gobject/valacodegeneratorinterface.vala,
168           gobject/valacodegeneratorinvocationexpression.vala,
169           gobject/valacodegeneratormemberaccess.vala,
170           gobject/valacodegeneratormethod.vala,
171           gobject/valacodegeneratorsignal.vala,
172           gobject/valacodegeneratorsourcefile.vala,
173           gobject/valainterfaceregisterfunction.vala,
174           gobject/valatyperegisterfunction.vala, ccode/valaccodefragment.vala,
175           ccode/valaccodefunction.vala, compiler/valacompiler.vala,
176           vapi/cairo.vala, vapi/glib-2.0.vala, vapi/libxml-2.0.vala,
177           tests/test-023.vala, gobject-introspection/gidl.vala,
178           vapigen/valagidlparser.vala, vapigen/valavapigen.vala: remove obsolete
179           ref modifier and callback keyword
181 2007-07-09  Jürg Billeter  <j@bitron.ch>
183         * vala/valainterfacewriter.vala: write static delegate instead of
184           callback
185         * tests/test-014.vala, tests/test-015.vala, vapi/atk.vala,
186           vapi/cairo.vala, vapi/gdk-2.0.vala, vapi/gio-standalone.vala,
187           vapi/gtk+-2.0.vala, vapi/hal.vala, vapi/pango.vala, vapi/vte.vala: use
188           static delegate instead of callback
190 2007-07-09  Jürg Billeter  <j@bitron.ch>
192         * vala/scanner.l, vala/parser.y: support delegate keyword and optional
193           modifiers to declare callbacks
195 2007-07-09  Jürg Billeter  <j@bitron.ch>
197         * vala/parser.y: support # modifier to transfer ownership in method
198           parameters
200 2007-07-05  Jürg Billeter  <j@bitron.ch>
202         * vapi/glib-2.0.vala: fix TimeVal binding
203         * vapi/dbus-glib-1.vala, vapi/hal.deps, vapi/hal.vala: add experimental
204           VAPI for HAL
205         * vapi/Makefile.am: update
207 2007-07-04  Jürg Billeter  <j@bitron.ch>
209         * vapi/glib-2.0.vala: update to new GRegex API
211 2007-07-03  Jürg Billeter  <j@bitron.ch>
213         * vala/valainterfacewriter.vala: write cprefix and lower_case_cprefix
214           of namespaces and write cheader_filename of interfaces
215         * vala/valanamespace.vala: make set_cprefix and set_lower_case_cprefix
216           methods public
217         * ccode/valaccodewriter.vala, vala/valainterfacewriter.vala,
218           gobject/valaccodecompiler.vala, compiler/valacompiler.vala,
219           vapi/glib-2.0.vala, vapigen/valagidlparser.vala,
220           vapigen/valavapigen.vala: split GLib.File into GLib.FileStream and
221           GLib.FileUtils to not conflict with GVFS
222         * vala/valagidlparser.vala: improve support for GVFS
223         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
224           regenerated
225         * vapi/gio-standalone.vala, vapi/packages/gio-standalone/: add
226           experimental VAPI for GVFS
227         * vapi/Makefile.am: update
229 2007-07-01  Jürg Billeter  <j@bitron.ch>
231         * vapi/glib-2.0.vala: add more string utility functions and GDate
232           support, based on patch by Michael Lawrence, fixes bug 452015
234 2007-07-01  Jürg Billeter  <j@bitron.ch>
236         * vala/parser.y, vala/valasymbolbuilder.vala,
237           vala/valasymbolresolver.vala, vala/valaenum.vala: add basic support
238           for enum methods
240 2007-06-30  Jürg Billeter  <j@bitron.ch>
242         * vala/valasymbolbuilder.vala: fix current_symbol handling in
243           visit_property_accessor
244         * vapigen/valagidlparser.vala: add missing NoArrayLength attribute,
245           support hiding signals
246         * vapi/glib-2.0.vala: add GConnectFlags
247         * vapi/packages/pango/pango.gidl, vapi/pango.vala: updated to
248           Pango 1.17.3
249         * vapi/packages/gdk-2.0/gdk-2.0.gidl,
250           vapi/packages/gtk+-2.0/gtk+-2.0.gidl,
251           vapi/packages/gtk+-2.0/gtk+-2.0.metadata, vapi/gdk-2.0.vala,
252           vapi/gtk+-2.0.vala: updated to GTK+ 2.11.4, some small
253           GtkTreeModel/GtkTreeStore fixes
255 2007-06-15  Jürg Billeter  <j@bitron.ch>
257         * vala/valaattributeprocessor.vala, vala/valacodevisitor.vala,
258           vala/valainterfacewriter.vala, vala/valamemorymanager.vala,
259           vala/valasemanticanalyzer.vala, vala/valasymbolbuilder.vala,
260           vala/valasymbolresolver.vala, vala/valaconstant.vala,
261           vala/valaconstructor.vala, vala/valacreationmethod.vala,
262           vala/valadestructor.vala, vala/valafield.vala,
263           vala/valaformalparameter.vala, vala/valamethod.vala,
264           vala/valaproperty.vala, vala/valapropertyaccessor.vala,
265           vala/valasignal.vala, gobject/valacodegenerator.vala,
266           gobject/valacodegeneratormethod.vala,
267           gobject/valacodegeneratorsignal.vala: move iteration of symbol nodes
268           from accept to accept_children method
270 2007-06-15  Jürg Billeter  <j@bitron.ch>
272         * vala/valaattributeprocessor.vala, vala/valacodevisitor.vala,
273           vala/valainterfacewriter.vala, vala/valamemorymanager.vala,
274           vala/valaparser.vala, vala/valasemanticanalyzer.vala,
275           vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
276           vala/valacallback.vala, vala/valaclass.vala, vala/valaenum.vala,
277           vala/valaflags.vala, vala/valainterface.vala, vala/valastruct.vala,
278           gobject/valacodegenerator.class, gobject/valacodegeneratorclass.vala,
279           gobject/valacodegeneratorinterface.vala,
280           gobject/valacodegeneratorstruct.vala: move iteration of data types
281           from accept to accept_children method
283 2007-06-15  Jürg Billeter  <j@bitron.ch>
285         * vala/valaattributeprocessor.vala, vala/valacodevisitor.vala,
286           vala/valainterfacewriter.vala, vala/valamemorymanager.vala,
287           vala/valaparser.vala, vala/valasemanticanalyzer.vala,
288           vala/valasourcefile.vala, vala/valasymbolbuilder.vala,
289           vala/valasymbolresolver.vala, vala/valacodenode.vala,
290           vala/valanamespace.vala, gobject/valacodegenerator.vala,
291           gobject/valacodegeneratorsourcefile.vala, vapigen/valagidlparser.vala:
292           move iteration of source files and namespaces from accept to
293           accept_children method
295 2007-06-15  Jürg Billeter  <j@bitron.ch>
297         * vala/valacodecontext.vala, gobject/valaccodecompiler.vala,
298           compiler/valacompiler.vala: enhance commandline interface, add support
299           for invoking c compiler
300         * gobject/Makefile.am: update
301         * vapi/glib-2.0.vala: add shell-related utilities
303 2007-06-05  Jürg Billeter  <j@bitron.ch>
305         * gobject/valacodegeneratorassignment.vala: correct invocation of setter
306           method of inherited properties, fixes bug 443527
307         * gobject/valacodegeneratormemberaccess.vala: remove outdated comment
309 2007-06-05  Jürg Billeter  <j@bitron.ch>
311         * vala/valainvocationexpression.vala: support storing sizes of array
312           dimensions for methods returning arrays
313         * gobject/valacodegenerator.vala,
314           gobject/valacodegeneratorinvocationexpression.vala: add length
315           argument for methods returning arrays
316         * vapi/glib-2.0.vala: add missing NoArrayLength attributes
318         Fixes bug 434929
320 2007-06-05  Jürg Billeter  <j@bitron.ch>
322         * gobject/valacodegenerator.vala: allow value-type arrays of unknown
323           length, assert at runtime when trying to iterate over such arrays
325 2007-05-31  Jürg Billeter  <j@bitron.ch>
327         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
328           vala/valacodevisitor.vala, vala/valasizeofexpression.vala,
329           gobject/valacodegenerator.vala: support sizeof expression
330         * vala/vala.h, vala/Makefile.am: update
331         * vapi/glib-2.0.vala: add struct_size param to GLib.Source construction
332           method
334 2007-05-14  Jürg Billeter  <j@bitron.ch>
336         * vala/valasemanticanalyzer.vala: improve argument checks of invocation
337           expression, fixes bug 435854
339 2007-05-10  Jürg Billeter  <j@bitron.ch>
341         * ccode/valaccodeblock.vala, ccode/valaccodedeclaration.vala,
342           ccode/valaccodedeclarator.vala, ccode/valaccodefragment.vala,
343           ccode/valaccodefunctiondeclarator.vala, ccode/valaccodenode.vala,
344           ccode/valaccodeoncesection.vala, ccode/valaccodestruct.vala,
345           ccode/valaccodetypedefinition.vala,
346           ccode/valaccodevariabledeclarator.vala: separate declaration output
347         * vala/parser.y: remove comma at end of enum
348         * vala/valaclass.vala, vala/valastruct.vala: remove unused methods
349         * vala/Makefile.am: update
350         * gobject/valacodegeneratorsourcefile.vala: support declaration
351           separation in C code
352         * gobject/valaclassregisterfunction.vala,
353           gobject/valainterfaceregisterfunction.vala,
354           gobject/valatyperegisterfunction.vala: move from vala directory,
355           move interface info declarations to the beginning of the block
356         * gobject/Makefile.am: update
358 2007-05-09  Jürg Billeter  <j@bitron.ch>
360         * ccode/valaccodeenum.vala: remove comma at end of generated enumerator
361           list, fixes gcc warning
363 2007-05-09  Jürg Billeter  <j@bitron.ch>
365         * gobject/valacodegeneratorclass.vala: generate get_property and
366           set_property methods only when necessary, fixes bug 435848
368 2007-05-09  Jürg Billeter  <j@bitron.ch>
370         * vala/parser.y: add basic checks for method modifiers, fixes bug 435853
371         * vala/vala.h: include valaflagsvalue.h
373 2007-05-09  Jürg Billeter  <j@bitron.ch>
375         * vala/valanamespace.vala: iterate correctly over string in
376           camel_case_to_lower_case method, fixes bug 436760
378 2007-05-09  Jürg Billeter  <j@bitron.ch>
380         * vala/valanamespace.vala: don't add default include directives for
381           VAPI files, fixes bug 436761
383 2007-05-07  Jürg Billeter  <j@bitron.ch>
385         * vapi/glib-2.0.vala: correct strstr cname, patch by Zsombor
386         * vapi/gtk+-2.0.vala: add ellipsis to Gtk.ListStore.set() and
387           Gtk.TreeStore.set()
388         * vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala: update to GTK+ 2.10.12
390 2007-05-07  Jürg Billeter  <j@bitron.ch>
392         * gobject/valacodegenerator.vala,
393           gobject/valacodegeneratormemberaccess.vala: ensure that local
394           variables don't use keywords in the C code
396 2007-05-07  Jürg Billeter  <j@bitron.ch>
398         * vala/parser.y: declare variables at the beginning of blocks as
399           required for C89
400         * gobject/valacodegeneratorclass.vala: avoid empty private struct
401           declaration
402         * vapi/glib-2.0.vala: use g_ascii_strtoll instead of strtoll
404         Patch by Hans Breuer
406 2007-05-03  Jürg Billeter  <j@bitron.ch>
408         * gobject/valacodegenerator.vala,
409           gobject/valacodegeneratorassignment.vala,
410           gobject/valacodegeneratorclass.vala,
411           gobject/valacodegeneratorinterface.vala,
412           gobject/valacodegeneratorinvocationexpression.vala
413           gobject/valacodegeneratormemberaccess.vala,
414           gobject/valacodegeneratormethod.vala,
415           gobject/valacodegeneratorsignal.vala,
416           gobject/valacodegeneratorsourcefile.vala, 
417           gobject/valacodegeneratorstruct.vala: split code generator
418         * gobject/Makefile.am, vapigen/Makefile.am: update
420 2007-05-03  Jürg Billeter  <j@bitron.ch>
422         * gobject/valacodegenerator.vala: move code generator to new gobject
423           directory
424         * configure.ac, Makefile.am, vala/Makefile.am, gobject/Makefile.am,
425           compiler/Makefile.am, vapi/Makefile.am: update
427 2007-05-03  Jürg Billeter  <j@bitron.ch>
429         * vapi/glib-2.0.vala: GSList fixes and GIConv, patch by Michael Lawrence
431 2007-05-02  Jürg Billeter  <j@bitron.ch>
433         * vapigen/gidlgen/gidlgen.in: use configured libdir, remove bashism,
434           based on patch by Mathias Hasselmann
435         * vapigen/gidlgen/Makefile.am: update
437 2007-05-02  Jürg Billeter  <j@bitron.ch>
439         * gobject-introspection, vapigen, vapi/packages: move from vapigen
440         * configure.ac, Makefile.am: update
442 2007-04-30  Jürg Billeter  <j@bitron.ch>
444         * configure.ac: Post-release version bump
446 2007-04-30  Jürg Billeter  <j@bitron.ch>
448         * NEWS: update for 0.0.9 release
450 2007-04-30  Jürg Billeter  <j@bitron.ch>
452         * vala/parser.y, vala/valasymbolbuilder.vala, vala/valaclass.vala,
453           vala/valanamespace.vala: add experimental support for class
454           declarations in multiple source files
456 2007-04-30  Jürg Billeter  <j@bitron.ch>
458         * vala/valasemanticanalyzer.vala: check whether specified collection is
459           iterable in foreach statements, fixes bug 434514
461 2007-04-30  Jürg Billeter  <j@bitron.ch>
463         * vala/valasemanticanalyzer.vala: allow any integer type as index in an
464           element access expression, fixes bug 434506
466 2007-04-30  Jürg Billeter  <j@bitron.ch>
468         * vala/parser.y, vala/valasymbolbuilder.vala,
469           vala/valaattributeprocessor.vala, vala/valasemanticanalyzer.vala,
470           vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
471           vala/valaflags.vala: add basic support for flags, fixes bug 434511
473 2007-04-30  Jürg Billeter  <j@bitron.ch>
475         * vala/valasemanticanalyzer.vala: check that void return values are not
476           used, fixes bug 434503
478 2007-04-30  Jürg Billeter  <j@bitron.ch>
480         * vala/valasemanticanalyzer.vala: fix type check in relational
481           operations, fixes bug 434507
483 2007-04-30  Jürg Billeter  <j@bitron.ch>
485         * vala/valacodegenerator.vala: add pointer to integer conversion in
486           foreach statements, fixes bug 433288
488 2007-04-24  Jürg Billeter  <j@bitron.ch>
490         * vapi/glib-2.0.vala: add g_bit_nth_lsf, g_bit_nth_msf, and
491           g_bit_storage
493 2007-04-24  Jürg Billeter  <j@bitron.ch>
495         * vala/valacallback.vala: add possibility to override default cname
496         * vala/valaattributeprocessor.vala: process callback attributes
497         * vala/valainterfacewriter.vala: cleanup code to write identifiers
499 2007-04-18  Jürg Billeter  <j@bitron.ch>
501         * vala/valacodegenerator.vala: use const types where appropriate,
502           fixes bug 428393
504 2007-04-18  Jürg Billeter  <j@bitron.ch>
506         * vala/valacodegenerator.vala: simplify unref expression for non-null
507           types
508         * vala/valaclass.vala: don't mark fields as non-null due to
509           initialization issue
511 2007-04-12  Jürg Billeter  <j@bitron.ch>
513         * vala/valatypereference.vala: add is_null property
514         * vala/valasemanticanalyzer.vala: fix type analysis in conditional and
515           parenthesized expressions, fixes bug 428368
516         * vapi/glib-2.0.vala: don't mark GLib.Object and GLib.InitiallyUnowned
517           as abstract
519 2007-04-12  Jürg Billeter  <j@bitron.ch>
521         * vala/valacodegenerator.vala: fix warning when using interface
522           properties
524 2007-04-06  Jürg Billeter  <j@bitron.ch>
526         * vala/scanner.l: use yyleng instead of strlen
527         * vala/valainterfacewriter.vala: don't write unnecessary attributes to
528           reduce parse time
529         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
530           remove unnecessary attributes to reduce parse time
532 2007-04-05  Jürg Billeter  <j@bitron.ch>
534         * vala/valacodegenerator.vala, vala/valaforstatement.vala: support
535           temporary variables in initializers and iterators of for statements
536         * vala/valacodegenerator.vala: support freeing generic types
537         * vala/parser.y, vala/valacodevisitor.vala,
538           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
539           vala/valareferencetransferexpression.vala: add reference transfer
540           expressions, e.g. `#var'
541         * vala/vala.h, vala/Makefile.am: update
543 2007-04-05  Jürg Billeter  <j@bitron.ch>
545         * vala/valacodegenerator.vala: generate properties for destroy function
546           pointers in generic types
548 2007-04-05  Jürg Billeter  <j@bitron.ch>
550         * vala/valacodegenerator.vala: pass destroy function pointer when
551           creating instances of generic types
552         * vala/valaclass.vala: add get_type_parameters method
554 2007-04-04  Jürg Billeter  <j@bitron.ch>
556         * vala/scanner.l: improve cast support
557         * vala/valasemanticanalyzer.vala: fix ownership handling of local arrays
558         * vala/valacodegenerator.vala: skip code generation for static
559           interfaces, downgrade generic management support message to warning
560         * vala/valacallback.vala: support callbacks as property type
562 2007-04-04  Jürg Billeter  <j@bitron.ch>
564         * vala/scanner.l: support casts to generic types
565         * vala/valasymbolresolver.vala, vala/valatypereference.vala: support
566           arrays of generic types
567         * vala/valasymbolresolver.vala: don't take ownership of elements of weak
568           arrays
569         * vala/valasemanticanalyzer.vala: accept uint as index value
570         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
571           vala/valastatement.vala: minor cleanup of creation methods
572         * vala/valacodegenerator.vala: support creation methods for structs, fix
573           pointer as return type
574         * vapi/glib-2.0.vala: add CLAMP and g_spaced_primes_closest
576 2007-04-03  Jürg Billeter  <j@bitron.ch>
578         * vapi/math.vala: add mathematical functions, patch by
579           Mathias Hasselmann
580         * vapi/Makefile.am: update
582 2007-04-03  Jürg Billeter  <j@bitron.ch>
584         * vala/valacodegenerator.vala: initialize new array elements after
585           resizing an array, patch by Mathias Hasselmann
586         * vala/valaproperty.vala: fix for interface properties
588 2007-04-03  Jürg Billeter  <j@bitron.ch>
590         * doc/valac.1, doc/Makefile.am: add manual page for valac written by
591           Marc-André Lureau
592         * Makefile.am, configure.ac: update
594 2007-04-03  Jürg Billeter  <j@bitron.ch>
596         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
597           vala/valatypereference.vala: support declaration of local arrays
598         * tests/test-022.vala: test local array declaration
600 2007-04-03  Jürg Billeter  <j@bitron.ch>
602         * vala/valasymbolbuilder.vala, vala/valacodegenerator.vala: some fixes
603           for abstract properties
604         * vala/valamethod.vala: improve default cname
606 2007-04-03  Jürg Billeter  <j@bitron.ch>
608         * vapi/glib-2.0.vala: extend unicode support, add GRegex
610 2007-03-28  Raffaele Sandrini  <rasa@gmx.ch>
612         * vapi/glib-2.0.vala: declare HashFunc and EqualFunc as callback
613           functions, patch by David Keijser
615 2007-03-25  Raffaele Sandrini  <rasa@gmx.ch>
617         * vapi/vte.vala, vapi/vte.deps: add vte binding
618         * vapi/Makefile.am: update
620 2007-03-24  Raffaele Sandrini  <rasa@gmx.ch>
622         * vala/valaforstatement.vala: assign parent_node to children of this
623           statement; include iterator and initializer in replacement of a child
624           node (fixes segfault using prefix increment expression in the
625           iterator of a for-statement)
627 2007-03-22  Raffaele Sandrini  <rasa@gmx.ch>
629         * vala/valaflags.vala, vala/valaenum.vala, vala/valadatatype.vala,
630           vala/valastruct.vala: add support for default values of types
631         * vala/valacodegenerator.vala: use default values for initialization
632         * vapi/glib-2.0.vala: add default values for common types
634 2007-03-22  Jürg Billeter  <j@bitron.ch>
636         * configure.ac: Post-release version bump
638 2007-03-22  Jürg Billeter  <j@bitron.ch>
640         * NEWS: update for 0.0.8 release
641         * tests/Makefile.am: update
643 2007-03-22  Raffaele Sandrini  <rasa@gmx.ch>
645         * vala/valacodegenerator.vala: fix generation of unresolvable 'memset'
646           for classes without strings.
648 2007-03-21  Raffaele Sandrini  <rasa@gmx.ch>
650         * vapi/pango.vala: add Pango.Cairo and Pango.CairoFontMap
651         * vapi/pango.deps: add cairo dependency
652         * vapi/Makefile.am: update
654 2007-03-21  Jürg Billeter  <j@bitron.ch>
656         * vala/valacodegenerator.vala: fix properties with interface types
657         * vala/valamemorymanager.vala: fix memory management when storing array
658           elements
659         * vala/valaconstant.vala: obey overridden cprefix in namespaces
660         * vapi/config.vala: override lower_case_cprefix of namespace
662 2007-03-21  Raffaele Sandrini  <rasa@gmx.ch>
664         * vala/valaconstant.vala: add '_' between namespace and name of
665           namespace constants' cname
667 2007-03-21  Jürg Billeter  <j@bitron.ch>
669         * vala/valainterfacewriter.vala: minor output enhancements
670         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
671           improve handling of value-types and arrays
673 2007-03-21  Jürg Billeter  <j@bitron.ch>
675         * vala/parser.y, vala/valainterface.vala: support static interfaces
676         * vala/valastruct.vala: make set_type_id public
677         * vapi/glib-2.0.vala: add GBoxed as interface
679 2007-03-21  Jürg Billeter  <j@bitron.ch>
681         * vala/valastruct.vala: use pointer as default of type_id and
682           marshaller_type_name for reference types
683         * vala/valapointer.vala: implement get_type_id
685 2007-03-21  Jürg Billeter  <j@bitron.ch>
687         * vala/valacodegenerator.vala: deep copy GLists if necessary, patch by
688           Mathias Hasselmann
689         * vapi/glib-2.0.vala: fix some printf format strings to work on ILP32
690           and LP64 platforms
692 2007-03-21  Jürg Billeter  <j@bitron.ch>
694         * vapi/glib-2.0.vala: improve support for numeric types, patch by
695           Mathias Hasselmann
696         * tests/test-030.vala, tests/test-030.out, tests/test-031.vala,
697           tests/test-031.out: test numeric types
698         * tests/testrunner.sh: use c99 and math library
699         * tests/Makefile.am: update
701 2007-03-21  Jürg Billeter  <j@bitron.ch>
703         * vala/valainterface.vala: implement marshalling support
704         * vala/valacodegenerator.vala: support signals with interface parameters
706 2007-03-20  Raffaele Sandrini  <rasa@gmx.ch>
708         * vapi/glib-2.0.vala: add extended runtime type support
709         * vala/parser.y: also read property modifiers in set-only properties
711 2007-03-20  Jürg Billeter  <j@bitron.ch>
713         * vala/valasymbolresolver.vala: add GObject to the list of base types
714         * vapi/glib-2.0.vala: add ref and unref methods to GObject
716 2007-03-20  Jürg Billeter  <j@bitron.ch>
718         * vala/valaparser.vala, vala/valasemanticanalyzer.vala,
719           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
720           vala/valacallback.vala, vala/valainvocationexpression.vala,
721           vala/valamethod.vala, vala/valaobjectcreationexpression.vala: use weak
722           local variables where appropriate
723         * vala/parser.y, vala/valasemanticanalyzer.vala: default local variables
724           to strong reference
725         * vala/valasemanticanalyzer.vala: don't promote local variables from
726           weak to strong reference
727         * vala/valacodegenerator.vala: warn when duplicating non-reference
728           counted structs implicitly
730 2007-03-20  Jürg Billeter  <j@bitron.ch>
732         * tests/testrunner.sh: run with /bin/bash due to bashism, patch by
733           Mathias Hasselmann
735 2007-03-20  Jürg Billeter  <j@bitron.ch>
737         * vapi/glib-2.0.vala: wrap functions for escaping markup strings, patch
738           by Mathias Hasselmann
740 2007-03-20  Jürg Billeter  <j@bitron.ch>
742         * vala/valacodegenerator.vala: free lists of interfaces correctly, patch
743           by Mathias Hasselmann
745 2007-03-17  Jürg Billeter  <j@bitron.ch>
747         * compiler/valacompiler.vala, compiler/Makefile.am, vapi/config.vala:
748           consider install prefix when searching for packages, patch by
749           Mathias Hasselmann
750         * configure.ac: add AM_PROG_CC_C_O
751         * autogen.sh, MAINTAINERS: added
752         * Makefile.am: dist MAINTAINERS
754 2007-03-17  Jürg Billeter  <j@bitron.ch>
756         * vala/valasemanticanalyzer.vala, vala/valacodegnerator.vala,
757           vala/valaclassregisterfunction.vala,
758           vala/valainterfaceregisterfunction.vala,
759           vala/valatyperegisterfunction.vala, vala/valacodecontext.vala: support
760           creating GTypeModule-based plug-ins with the ModuleInit attribute
761         * vala/parser.y, vala/valacodegenerator.vala, vala/valaclass.vala:
762           support static classes
763         * vapi/glib-2.0.vala: add TypePlugin and TypeModule
765 2007-03-17  Jürg Billeter  <j@bitron.ch>
767         * vala/parser.y: accept attributes without parentheses
768         * vala/valainterfacewriter.vala: don't write weak keyword for value
769           types
770         * vapi/atk.vala, vapi/cairo.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala,
771           vapi/libxml-2.0.vala, vapi/pango.vala: update
773 2007-03-17  Jürg Billeter  <j@bitron.ch>
775         * ccode/valaccodeunaryexpression.vala: support pointer indirections
776         * vala/parser.y, vala/valacodevisitor.vala,
777           vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala,
778           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
779           vala/valaaddressofexpression.vala, vala/valadatatype.vala,
780           vala/valapointer.vala, vala/valapointerindirection.vala,
781           vala/valatypereference.vala: support pointer-types, pointer
782           indirections, and address-of expressions
783         * vala/vala.h, vala/Makefile.am: update
785 2007-03-16  Jürg Billeter  <j@bitron.ch>
787         * vala/parser.y: support weak keyword in local variable declarations
788         * vapi/glib-2.0.vala: improve GError support
790 2007-03-16  Jürg Billeter  <j@bitron.ch>
792         * vala/valacodegenerator.vala: support disconnecting signals, based on
793           patch by Alexandre Moreira
794         * tests/test-018.vala, tests/test-018.out: test disconnecting signals
796 2007-03-16  Jürg Billeter  <j@bitron.ch>
798         * vala/valacodegenerator.vala: fix null pointer dereference when
799           emitting signals
801 2007-03-16  Jürg Billeter  <j@bitron.ch>
803         * vala/parser.y: default to strong references for method return types
804         * vala/valasymbolresolver.vala: reset TypeReference.transfers_ownership
805           for value-types
806         * vala/valasourcefile.vala: assume ownership of include filenames
807         * vala/valainterfacewriter.vala: use weak keyword for return types
808         * vala/valacodecontext.vala, vala/valasourcefile.vala,
809           vala/valasymbolbuilder.vala, vapi/glib-2.0.vala: add weak to return
810           types
812 2007-03-11  Jürg Billeter  <j@bitron.ch>
814         * vala/valasemanticanalyzer.vala: resolve generic return values
815         * vala/valamemorymanager.vala: fix check for generic method parameters
816           to support derived types
817         * vala/valainterface.vala: implement get_type_parameter_index
818         * vala/valamemberaccess.vala: visit type arguments
819         * vala/valaclassregisterfunction.vala,
820           vala/valainterfaceregisterfunction.vala,
821           vala/valatyperegisterfunction.vala: pass base_init function pointer
822           for interfaces
823         * vala/valacodegenerator.vala: fix initialization check in interface
824           base_init function
825         * vala/valasemanticanalyzer.vala: fix prerequisite check to also accept
826           derived types of prerequisites
828 2007-03-10  Jürg Billeter  <j@bitron.ch>
830         * ccode/valaccodecastexpression.vala: correct bracketing in cast
831           expressions
833 2007-03-10  Jürg Billeter  <j@bitron.ch>
835         * vala/valacodegenerator.vala: support interface properties and signals,
836           improve support for generics
838 2007-03-10  Jürg Billeter  <j@bitron.ch>
840         * vala/parser.y, vala/valasymbolbuilder.vala,
841           vala/valasemanticanalyzer.vala, vala/valaproperty.vala: support
842           abstract, virtual, and override modifiers for properties
843         * vala/parser.y: support get and set as identifiers
845 2007-03-10  Jürg Billeter  <j@bitron.ch>
847         * vala/valatypereference.vala: correct cname of generic type parameters
849 2007-03-10  Jürg Billeter  <j@bitron.ch>
851         * vala/valacreationmethod.vala, vala/valamethod.vala: fix overriding
852           cname of creation methods
854 2007-03-07  Jürg Billeter  <j@bitron.ch>
856         * vala/valasemanticanalyzer.vala: check whether a class implements all
857           abstract methods of base classes
858         * vala/valacodenode.vala, vala/valadatatype.vala,
859           vala/valaexpression.vala, vala/valaliteral.vala: fix build with added
860           checks
862 2007-03-07  Jürg Billeter  <j@bitron.ch>
864         * vala/valaclass.vala: implement get_type_parameter_index
866 2007-03-07  Raffaele Sandrini  <rasa@gmx.ch>
868         * vala/valasemanticanalyzer.vala: check whether a class implements all
869           methods required by its super interfaces
871 2007-03-05  Jürg Billeter  <j@bitron.ch>
873         * vala/scanner.l, vala/parser.y, vala/valacatchclause.vala,
874           vala/valathrowstatement.vala, vala/valatrystatement.vala,
875           vala/valacodevisitor.vala: add exception handling support to the
876           parser
877         * vala/vala.h, vala/Makefile.am: update
879 2007-03-05  Raffaele Sandrini  <rasa@gmx.ch>
881         * vala/valainterfaceregisterfunction.vala: add
882           `g_type_interface_add_prerequisite' calls during interface type
883           creation
884         * vala/valasemanticanalyzer.vala: add checks for consistent interface
885           prerequisites and whether classes are obeying them
887 2007-03-04  Jürg Billeter  <j@bitron.ch>
889         * configure.ac: Post-release version bump
891 2007-03-04  Jürg Billeter  <j@bitron.ch>
893         * NEWS: update for 0.0.7 release
895 2007-03-04  Jürg Billeter  <j@bitron.ch>
897         * vala/parser.y: pack all embedded stataments in blocks
898         * vala/vala.h: update
900 2007-03-04  Jürg Billeter  <j@bitron.ch>
902         * vala/valasemanticanalyzer.vala: check for inherited properties in
903           construct formal parameters
905 2007-03-04  Jürg Billeter  <j@bitron.ch>
907         * vala/valasemanticanalyzer.vala: don't allow interface implementations
908           to specify override
909         * vala/valaconstant.vala, vala/valafield.vala,
910           vala/valaformalparameter.vala, vala/valamethod.vala,
911           vala/valaproperty.vala, vala/valasignal.vala,
912           vala/valavariabledeclarator.vala: remove override from interface
913           implementations
915 2007-03-04  Jürg Billeter  <j@bitron.ch>
917         * vala/parser.y, vala/valainterface.vala,
918           vala/valasemanticanalyzer.vala: rename base_types of interfaces to
919           prerequisites to follow GObject terminology
920         * vala/valamethod.vala, vala/valasemanticanalyzer.vala,
921           vala/valacodegenerator.vala: move interface usage part from
922           base_method to base_interface_method property
923         * vala/valasemanticanalyzer.vala: don't require interface
924           implementations to specify override
925         * vala/valacodegenerator.vala: support base access in interface
926           implementations
927         * tests/test-017.vala: remove override in method declaration
929 2007-03-04  Jürg Billeter  <j@bitron.ch>
931         * vala/valasemanticanalyzer.vala: support lambda expressions in
932           constructors
933         * tests/test-029.vala: remove extra printf argument
935 2007-03-04  Raffaele Sandrini  <rasa@gmx.ch>
937         * vala/valasemanticanalyzer.vala, vala/parser.y,
938           vala/valaformalparameter.vala: add support for construct formal
939           creation method parameters
940         * tests/test-029.vala, tests/test-029.out: add testcase for construct
941           formal parameters
942         * tests/Makefile.am: update
944 2007-03-04  Raffaele Sandrini  <rasa@gmx.ch>
946         * vala/valaattributeprocessor.vala, vala/valacharacterliteral.vala,
947           vala/valamethod.vala, vala/valasymbolbuilder.vala,
948           vala/valacodevisitor.vala, vala/valainterfacewriter.vala,
949           vala/valamemorymanager.vala: update/fix copyright notice
951 2007-03-03  Raffaele Sandrini  <rasa@gmx.ch>
953         * vala/valaattributeprocessor.vala, vala/valamethod.vala,
954           vala/valacodegenerator.vala, vala/valacreationmethod.vala,
955           vala/valasymbolbuilder.vala, vala/valasemanticanalyzer.vala,
956           vala/parser.y, vala/valacodevisitor.vala,
957           vala/valainterfacewriter.vala, vala/valamemorymanager.vala:
958           add CreationMethod type; restrict creation methods bodys to contain
959           only property assignment statements
960         * vala/valacharacterliteral.vala, vala/valacodegenerator.vala,
961           vala/valaarray.vala: fix the compiler to obey the new creation
962           method rules
963         * vala/Makefile.am: update
965 2007-03-03  Jürg Billeter  <j@bitron.ch>
967         * vapi/atk.vala, vapi/cairo.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala,
968           vapi/pango.vala: switch to new construction syntax
970 2007-03-03  Jürg Billeter  <j@bitron.ch>
972         * vala/parser.y: remove support of old construction syntax
974 2007-03-03  Jürg Billeter  <j@bitron.ch>
976         * Switch to new construction syntax
978 2007-03-03  Jürg Billeter  <j@bitron.ch>
980         * vala/parser.y: support new construction syntax
981         * vala/valainterfacewriter.vala: write interface with new construction
982           syntax
984 2007-03-01  Jürg Billeter  <j@bitron.ch>
986         * vala/valatypereference.vala: improve equality check
987         * vala/valatypeparameter.vala: add type parameter equality check
988         * vala/valasemanticanalyzer.vala: add symbol dependencies for
989           interfaces, support overriding methods of interfaces with
990           prerequisites
992 2007-02-28  Jürg Billeter  <j@bitron.ch>
994         * configure.ac: Post-release version bump
996 2007-02-28  Jürg Billeter  <j@bitron.ch>
998         * NEWS: update for 0.0.6 release
999         * tests/Makefile.am: correctly distribute test sources
1001 2007-02-28  Jürg Billeter  <j@bitron.ch>
1003         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1004           updates and fixes
1006 2007-02-28  Jürg Billeter  <j@bitron.ch>
1008         * tests/test-022.vala, tests/test-022.out: test Array.resize method and
1009           Array.length field
1010         * vala/valacodegenerator.vala: update length when resizing arrays
1012 2007-02-27  Jürg Billeter  <j@bitron.ch>
1014         * vala/valacodenode.vala: mark source_reference as construction property
1015           to allow access in Array constructor
1016         * vala/valaarraylengthfield.vala: the Array.length field
1017         * vala/valaarrayresizemethod.vala: the Array.resize method
1018         * vala/valaarray.vala: support arrays of generic type parameters, add
1019           length field, add resize method
1020         * vala/valatypereference.vala: make source reference optional
1021         * vala/valatypeparameter.vala, vala/valasymbolresolver.vala,
1022           vala/valasemanticanalyzer.vala: support arrays of generic type
1023           parameters
1024         * vala/valadatatype.vala, vala/valacodegenerator.vala: support
1025           Array.length field and Array.resize method
1026         * vala/Makefile.am: update
1028 2007-02-27  Jürg Billeter  <j@bitron.ch>
1030         * vala/parser.y: accept interfaces with base types
1032 2007-02-26  Jürg Billeter  <j@bitron.ch>
1034         * vala/valasymbolresolver.vala: fix error handling with unknown
1035           namespaces
1037 2007-02-26  Jürg Billeter  <j@bitron.ch>
1039         * tests/test-028.vala, tests/test-028.out: test enums
1040         * tests/Makefile.am: update
1042 2007-02-26  Jürg Billeter  <j@bitron.ch>
1044         * tests/test-027.vala, tests/test-027.out: test postfix and prefix
1045           expressions
1046         * tests/Makefile.am: update
1047         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
1048           prefix and postfix expressions for properties and parenthesized
1049           expressions
1051 2007-02-25  Jürg Billeter  <j@bitron.ch>
1053         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: improve
1054           subtyping suport for structs
1056 2007-02-25  Jürg Billeter  <j@bitron.ch>
1058         * tests/test-026.vala, tests/test-026.out: test hidden base method
1059           access
1060         * tests/Makefile.am: update
1061         * vala/valasemanticanalyzer.vala: correct symbol_reference for base
1062           access, add current_struct field
1064 2007-02-25  Jürg Billeter  <j@bitron.ch>
1066         * tests/test-010.vala, tests/test-010.out: enhance assignment test
1067         * vala/valasemanticanalyzer.vala: correct bracketing in compound
1068           assignments
1070 2007-02-25  Jürg Billeter  <j@bitron.ch>
1072         * vala/valacodenode.vala: add to_string method
1074 2007-02-25  Jürg Billeter  <j@bitron.ch>
1076         * vapi/glib-2.0.vala: improve GSource support
1078 2007-02-22  Raffaele Sandrini  <rasa@gmx.ch>
1080         * vala/valacodegenerator.vala: don't allow NULL terminated arrays of
1081           value-type structs and remove the check on such arrays in a freach
1082           statement
1084 2007-02-21  Jürg Billeter  <j@bitron.ch>
1086         * vala/valacallback.vala: support using instance methods as static
1087           callbacks
1089 2007-02-19  Jürg Billeter  <j@bitron.ch>
1091         * vapi/glib-2.0.vala: more string functions (patch by Cayle Graumann)
1093 2007-02-18  Raffaele Sandrini  <rasa@gmx.ch>
1095         * vala/valainterfacewriter.vala: fix indentation for class definitions
1097 2007-02-04  Jürg Billeter  <j@bitron.ch>
1099         * vapi/glib-2.0.vala: add GLib.Queue
1101 2007-02-04  Jürg Billeter  <j@bitron.ch>
1103         * vala/valaconstant.vala: fix global constants
1104         * vapi/glib-2.0.vala: add NoArrayLength attribute to Process functions
1106 2007-02-04  Jürg Billeter  <j@bitron.ch>
1108         * vala/valacodegenerator.vala: use correct type cname in array creation
1109           expression, don't assume that all string arrays own their content
1111 2007-02-04  Jürg Billeter  <j@bitron.ch>
1113         * vala/parser.y: fix crash when parsing array creation expression
1115 2006-12-23  Jürg Billeter  <j@bitron.ch>
1117         * vala/valaattribute.vala: add get_bool method for boolean values
1118         * compiler/valacompiler.vala: print message when detecting option errors
1120 2006-12-10  Jürg Billeter  <j@bitron.ch>
1122         * vapi/glib-2.0.vala: add message logging functions
1123         * vala/valasemanticanalyzer.vala: support enum to int conversions and
1124           diagnostic methods
1125         * vala/valacodegenerator.vala: support do statements
1127 2006-11-24  Jürg Billeter  <j@bitron.ch>
1129         * vala/valacodegenerator.vala: fix generating switch statements
1131 2006-11-23  Jürg Billeter  <j@bitron.ch>
1133         * vala/valacodegenerator.vala: allow main methods without parameters and
1134           main methods returning void, check complete signature of main method
1136 2006-11-22  Jürg Billeter  <j@bitron.ch>
1138         * vala/parser.y, vala/valacodegenerator.vala: support enum members with
1139           values
1141 2006-11-22  Jürg Billeter  <j@bitron.ch>
1143         * vapi/glib-2.0.vala: add direct_hash and direct_equal
1144         * tests/Makefile.am: distribute reference output
1146 2006-11-21  Jürg Billeter  <j@bitron.ch>
1148         * vala/valaclass.vala, vala/valaenum.vala, vala/valafield.vala,
1149           vala/valainterface.vala, vala/valanamespace.vala,
1150           vala/valastruct.vala: use new attribute functionality
1152 2006-11-21  Jürg Billeter  <j@bitron.ch>
1154         * vala/valaattribute.vala: add has_argument, get_string, and get_integer
1155           methods
1156         * vala/valacodenode.vala: add get_attribute method
1157         * vala/valamethod.vala: use new attribute functionality
1159 2006-11-21  Jürg Billeter  <j@bitron.ch>
1161         * vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala: don't
1162           require GLib namespace at runtime in symbol resolver and semantic
1163           analyzer
1165 2006-11-21  Jürg Billeter  <j@bitron.ch>
1167         * tests/testrunner.sh: add test script
1168         * tests/*.out: add reference output for test cases
1169         * tests/Makefile.am: add test environment
1171 2006-11-20  Jürg Billeter  <j@bitron.ch>
1173         * vala/valacodegenerator.vala: fix code generation for structs
1175 2006-11-11  Jürg Billeter  <j@bitron.ch>
1177         * configure.ac: remove AM_MAINTAINER_MODE to always rebuild scanner and
1178           parser if changed
1180 2006-11-09  Raffaele Sandrini  <rasa@gmx.ch>
1182         * vapi/glib-2.0.vala: add GArray and GTree structures
1183         * vala/valainterfacewriter.vala: write header files attributes for
1184           classes
1186 2006-11-09  Jürg Billeter  <j@bitron.ch>
1188         * vapi/libxml-2.0.vala: some fixes and additions
1190 2006-11-08  Jürg Billeter  <j@bitron.ch>
1192         * vala/valacodegenerator.vala: support interfaces in header cycles
1193         * vala/valanamespace.vala: add get_interfaces method
1195 2006-11-06  Jürg Billeter  <j@bitron.ch>
1197         * vala/parser.y: support unary ~ operator
1199 2006-11-06  Jürg Billeter  <j@bitron.ch>
1201         * vala/valacodegenerator.vala: use g_value_set_object for interfaces
1202         * vala/valainterface.vala: implement get_type_id
1204 2006-11-02  Jürg Billeter  <j@bitron.ch>
1206         * configure.ac: Post-release version bump
1208 2006-11-02  Jürg Billeter  <j@bitron.ch>
1210         * NEWS: update for 0.0.5 release
1212 2006-11-02  Jürg Billeter  <j@bitron.ch>
1214         * vala/valainterfacewriter.vala: write CCode.cname attribute for methods
1215         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1216           use CCode.cname attribute
1218 2006-11-02  Raffaele Sandrini  <rasa@gmx.ch>
1220         * vala/valacodegenerator.vala: fix memory leak caused when container
1221           expression transfers ownership to the foreach statement
1223 2006-11-02  Jürg Billeter  <j@bitron.ch>
1225         * vala/valainterfacewriter.vala: don't use weak for value types
1226         * vala/valamethod.vala: make set_cname public
1227         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1228           add Gtk.Allocation, don't use weak for value types
1230 2006-10-31  Jürg Billeter  <j@bitron.ch>
1232         * vala/valacodegenerator.vala: don't add NULL to end of variable
1233           argument list for printf-style functions to reduce the number of
1234           warnings during C compilation
1235         * vala/valamethod.vala: support PrintfFormat attribute
1236         * vala/vala.h: include valareport.h
1237         * vapi/glib-2.0.vala: use PrintfFormat attribute
1239 2006-10-27  Jürg Billeter  <j@bitron.ch>
1241         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1242           miscellaneous fixes
1244 2006-10-26  Raffaele Sandrini  <rasa@gmx.ch>
1246         * vala/valasemanticanalyzer.vala: make foreach iterator only visible to
1247           the foreach body.
1248         * INSTALL: update
1250 2006-10-26  Jürg Billeter  <j@bitron.ch>
1252         * vala/valacodegenerator.vala: don't create empty dispose functions,
1253           support virtual methods with non-void return type
1254         * vapi/glib-2.0.vala: include glib/gstdio.h for GLib file functions
1256 2006-10-26  Jürg Billeter  <j@bitron.ch>
1258         * vala/valacodegenerator.vala: explicitly cast callbacks to reduce the
1259           number of warnings during C compilation
1261 2006-10-26  Jürg Billeter  <j@bitron.ch>
1263         * vala/valacodegenerator.vala: convert integer to pointer for generic
1264           parameters to reduce the number of warnings during C compilation
1266 2006-10-26  Jürg Billeter  <j@bitron.ch>
1268         * vala/valacodegenerator.vala: cast object instances in return
1269           statements to reduce the number of warnings during C compilation
1271 2006-10-25  Jürg Billeter  <j@bitron.ch>
1273         * vala/valacodegenerator.vala: cast object instances in comparisons to
1274           reduce the number of warnings during C compilation
1276 2006-10-25  Jürg Billeter  <j@bitron.ch>
1278         * vala/valacodegenerator.vala, vala/valaarray.vala,
1279           vala/valacallback.vala, vala/valaclass.vala, vala/valadatatype.vala,
1280           vala/valaenum.vala, vala/valaflags.vala, vala/valainterface.vala,
1281           vala/valastruct.vala, vala/valatypereference.vala, vapi/glib-2.0.vala:
1282           start to use const specifier for strings to reduce number of warnings
1283           during C compilation
1285 2006-10-25  Jürg Billeter  <j@bitron.ch>
1287         * vala/parser.y, vala/valacodevisitor.vala,
1288           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
1289           vala/valabaseaccess.vala: support base access
1290         * vala/vala.h, vala/Makefile.am: update
1291         * tests/test-025.vala: test base access
1292         * tests/Makefile.am: update
1294 2006-10-25  Jürg Billeter  <j@bitron.ch>
1296         * configure.ac: Post-release version bump
1297         * compiler/valacompiler.vala: --version support
1298         * compiler/Makefile.am: always include config.h to keep compatibility
1299         * vapi/config.vala: add binding for config.h
1300         * vapi/Makefile.am: update
1302 2006-10-25  Jürg Billeter  <j@bitron.ch>
1304         * vala/valasourcefile.vala: support dependencies on constants
1306 2006-10-24  Jürg Billeter  <j@bitron.ch>
1308         * vala/valasemanticanalyzer.vala: don't crash when comparing value type
1309           with null
1311 2006-10-24  Jürg Billeter  <j@bitron.ch>
1313         * vala/valasymbolresolver.vala: don't crash on already resolved type
1314           references
1315         * vala/valasemanticanalyzer.vala: support typeof expression
1316         * vala/valacodegenerator.vala: improve support for null-terminated
1317           arrays
1318         * vala/valainterfacewriter.vala: don't write type arguments for arrays
1320 2006-10-08  Jürg Billeter  <j@bitron.ch>
1322         * vala/parser.y: support enum values
1324 2006-10-06  Jürg Billeter  <j@bitron.ch>
1326         * NEWS: update for 0.0.4 release
1328 2006-10-06  Raffaele Sandrini  <rasa@gmx.ch>
1330         * vapi/glib-2.0.vala, vala/valaflags.vala, vala/valaenum.vala,
1331           vala/valadatatype.vala, vala/valaarray.vala, vala/valaclass.vala,
1332           vala/valastruct.vala: add get and set value support
1333         * vala/valacodegenerator.vala: add user (arbitrary) signal support
1334         * vala/valadatatype.vala, vala/valamemorymanager.vala,
1335           vala/valastruct.vala: correctly honor ref types in type arguments
1336         * ccode/valaccodedeclaration.vala, ccode/valaccodemodifiers.vala:
1337           support register local variables
1338         * ccode/valaccodememberaccess.vala: make one line creation possible
1339         * vapi/glib-2.0.vala: fix return type of Glib.List.nth_data
1340         * tests/test-024.vala: add user signal test
1341         * tests/Makefile.am: update
1343 2006-10-05  Jürg Billeter  <j@bitron.ch>
1345         * vala/parser.y, vala/valasemanticanalyzer.vala: complete support for
1346           prefix increment and decrement operator
1348 2006-10-05  Jürg Billeter  <j@bitron.ch>
1350         * vala/valasemanticanalyzer.vala: transform compund assignments into
1351           simple assignments
1352         * vala/valabinaryexpression.vala: add default argument to construction
1353           method
1354         * tests/test-021.vala: test string += assignment
1356 2006-10-04  Jürg Billeter  <j@bitron.ch>
1358         * vala/valasymbolresolver.vala: correct takes_ownership in arrays
1359         * vala/valacodegenerator.vala: add limited support for array length
1360           fields, store array length from array creation expression, copy array
1361           length in array assignments
1362         * vala/valafield.vala: support NoArrayLength attribute
1363         * compiler/valacompiler.vala: add NoArrayLength attribute to option
1364           arrays
1366 2006-10-04  Jürg Billeter  <j@bitron.ch>
1368         * vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala: specify
1369           array element type as type argument
1370         * vala/valacodegenerator.vala: create declarations for array length
1371           variables, iterate over arrays by index if it has known length
1372         * vala/valacharacterliteral.vala: correct return type of get_char
1373         * vala/valanamespace.vala: process enums and flags first
1374         * vala/valavariabledeclarator.vala: set parent_node of initializer, add
1375           replace method
1376         * tests/test-023.vala: test list construction
1377         * tests/Makefile.am: update
1379 2006-10-03  Jürg Billeter  <j@bitron.ch>
1381         * vala/valacodegenerator.vala: don't use InstanceCast for callbacks
1383 2006-09-28  Raffaele Sandrini <rasa@gmx.ch>
1385         * vala/valacodegenerator.vala, vala/valasemanticanalyzer.vala,
1386           vala/valamemorymanager.vala: add one dimensional array assignment
1387           support
1388         * tests/test-022.vala: testcase for array creation/assignment
1389         * tests/Makefile.am: update
1391 2006-09-28  Jürg Billeter  <j@bitron.ch>
1393         * vapi/glib-2.0.vala: add and improve various types
1395 2006-09-28  Jürg Billeter  <j@bitron.ch>
1397         * vala/parser.y: set attributes also for non-readable properties
1398         * vala/valacodegenerator.vala: support interface signals
1399         * vala/valainvocationexpression.vala,
1400           vala/valaobjectcreationexpression.vala: fix problem when children
1401           change while iterating over them
1403 2006-09-27  Jürg Billeter  <j@bitron.ch>
1405         * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
1406           vala/valamethod.vala: support InstanceByReference attribute
1407         * vapi/glib-2.0.vala: add Filename struct, fix Process methods
1408         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1409           fix static methods without parameters, add InstanceByReference
1410           attributes
1412 2006-09-27  Jürg Billeter  <j@bitron.ch>
1414         * vala/valainterface.vala: visit interface signals
1415         * vala/valainterfacewriter.vala: obey lock keyword
1416         * vapi/atk.vala, vapi/gtk+-2.0.vala: add interface signals
1418 2006-09-27  Raffaele Sandrini  <rasa@gmx.ch>
1420         * vapi/glib-2.0.vala: add threading and assorted structures
1421         * vala/valamember.vala: add an additional abstraction for all members
1422           of a class
1423         * vala/valalockstatement.vala, vala/valacodegenerator.vala,
1424           vala/scanner.l, vala/valasemanticanalyzer.vala,
1425           vala/valalockable.vala, vala/parser.y, vala/valacodevisitor.vala:
1426           add lock feature to vala
1427         * vala/valamethod.vala, vala/valafield.vala, vala/valaconstant.vala,
1428           vala/valasignal.vala, vala/valaproperty.vala: make those members
1429           lockable
1430         * vala/valacodegenerator.vala: use member abstraction to simlify field
1431           initialisation and destruction
1432         * vala/valacodegenerator.vala: introduce new C macros VALA_FREE_CHECKED
1433           and VALA_FREE_UNCHECKED to make safe freeing code nicer
1434         * vala/vala.h: update and bring arraycreationexpression in order
1435         * vala/Makefile.am: update
1437 2006-09-27  Jürg Billeter  <j@bitron.ch>
1439         * vapi/glib-2.0.vala: add Process struct with spawn functions
1441 2006-09-27  Jürg Billeter  <j@bitron.ch>
1443         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1444           fix global methods
1446 2006-09-26  Jürg Billeter  <j@bitron.ch>
1448         * vapi/glib-2.0.vala: add string.reverse, Source.remove,
1449           Environment.get_variable, Environment.set_variable,
1450           Environment.get_current_dir, Path.is_absolute, Path.skip_root
1452 2006-09-26  Jürg Billeter  <j@bitron.ch>
1454         * vala/valaassignment.vala, vala/valabinaryexpression.vala,
1455           vala/valacastexpression.vala, vala/valadostatement.vala,
1456           vala/valaexpressionstatement.vala, vala/valaforeachstatement.vala,
1457           vala/valaforstatement.vala, vala/valaifstatement.vala,
1458           vala/valainvocationexpression.vala, vala/valamemberaccess.vala,
1459           vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
1460           vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
1461           vala/valawhilestatement.vala: add missing cast
1463 2006-09-03  Jürg Billeter  <j@bitron.ch>
1465         * vala/scanner.l: make character_literal stricter
1466         * vala/valacodegenerator.vala: support more method return types,
1467           support unicode character literals
1468         * vala/valacharacterliteral.vala: validate input, add get_char method
1470 2006-09-02  Jürg Billeter  <j@bitron.ch>
1472         * vala/parser.y, vala/valacodecontext.vala,
1473           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1474           vala/valacodegenerator.vala, vala/valaarraycreationexpression.vala,
1475           vala/valablock.vala, vala/valacallback.vala, vala/valaclass.vala,
1476           vala/valaelementaccess.vala, vala/valafield.vala,
1477           vala/valaformalparameter.vala, vala/valaforstatement.vala,
1478           vala/valainitializerlist.vala, vala/valainterface.vala,
1479           vala/valainvocationexpression.vala, vala/valainvokable.vala,
1480           vala/valalambdaexpression.vala,
1481           vala/valalocalvariabledeclaration.vala, vala/valamemberaccess.vala,
1482           vala/valamethod.vala, vala/valanamespace.vala,
1483           vala/valaobjectcreationexpression.vala, vala/valasignal.vala,
1484           vala/valasourcefile.vala, vala/valastruct.vala,
1485           vala/valaswitchsection.vala, vala/valaswitchstatement.vala,
1486           vala/valatypereference.vala, vala/valavariabledeclarator.vala,
1487           ccode/valaccodefragment.vala, vapi/glib-2.0.vala: always default type
1488           arguments to strong
1489         * vala/valacodevisitor.vala, vala/valacodegenerator.vala,
1490           vala/valaexpression.vala, vala/valareturnstatement.vala: avoid
1491           unnecessary ref/unref pair in return expression
1492         * vala/valatypereference.vala: copy type arguments in copy method, too
1493         * vala/valasemanticanalyzer.vala: set type arguments in type_reference
1494           of ObjectCreationExpression
1495         * vala/valadatatype.vala: fix warning
1497 2006-09-02  Jürg Billeter  <j@bitron.ch>
1499         * vala/valacodegenerator.vala: special case construction of GLib.List
1500           and GLib.SList (reported by Cayle Graumann)
1502 2006-09-02  Jürg Billeter  <j@bitron.ch>
1504         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
1505           vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
1506           vala/valamemberaccessibility.vala: prepare to support protected
1507           members
1509 2006-09-02  Jürg Billeter  <j@bitron.ch>
1511         * vala/parser.y: don't set parent_node in parser
1512         * vala/valasemanticanalyzer.vala: support string + operator
1513         * vala/valaassignment.vala, vala/valabinaryexpression.vala,
1514           vala/valacastexpression.vala, vala/valacodenode.vala,
1515           vala/valadostatement.vala, vala/valaexpressionstatement.vala,
1516           vala/valaforeachstatement.vala, vala/valaforstatement.vala,
1517           vala/valaifstatement.vala, vala/valainvocationexpression.vala,
1518           vala/valamemberaccess.vala, vala/valaobjectcreationexpression.vala,
1519           vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
1520           vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
1521           vala/valawhilestatement.vala: set parent_node of child nodes, add
1522           replace method
1523         * vala/valanullliteral.vala: add default argument to construction method
1524         * tests/test-021.vala: test string + operator
1525         * tests/Makefile.am: update
1527 2006-09-02  Jürg Billeter  <j@bitron.ch>
1529         * vala/scanner.l: support integer and floating point suffixes
1530         * vala/valasemanticanalyzer.vala: use correct type for integer and
1531           floating point literals
1532         * vala/valaintegerliteral.val, vala/valarealliteral.vala: add
1533           get_type_name method
1534         * vapi/glib-2.0.vala: add string to int64 conversion method
1536 2006-09-02  Jürg Billeter  <j@bitron.ch>
1538         * vala/valasemanticanalyzer.vala: use IntegerType, FloatingType, and
1539           rank attributes to analyze arithmetic operations
1540         * vala/valacodegenerator.vala: generate C casts for explicit value-type
1541           casts
1542         * vala/valastruct.vala: add is_integer_type, is_floating_type, and
1543           get_rank methods, add IntegerType and FloatingType attributes
1544         * vala/valasemanticanalyzer.vala, vala/valacastexpression.vala,
1545           vala/valainstancecast.vala, ccode/valaccodecastexpression.vala: fix
1546           typos
1547         * vapi/glib-2.0.vala: add int16, uint16, int32, uint32, use IntegerType
1548           and FloatingType attributes
1550 2006-09-02  Jürg Billeter  <j@bitron.ch>
1552         * vala/parser.y: set accessibility for constants
1553         * vala/valasemanticanalyzer.vala: set return type in property set
1554           accessors to void
1555         * vala/valacodegenerator.vala: move public constants to header file
1556         * vala/valaclass.vala: don't create fields for properties in VAPI files
1557         * vala/valaconstant.vala: add access member
1559 2006-09-02  Jürg Billeter  <j@bitron.ch>
1561         * vapi/cairo.vala: mark Matrix as reference type
1563 2006-08-24  Jürg Billeter  <j@bitron.ch>
1565         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1566           mark virtual methods appropriately
1568 2006-08-24  Jürg Billeter  <j@bitron.ch>
1570         * vala/valaattributeprocessor.vala, vala/valacodegenerator.vala,
1571           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala: add
1572           possibility to change interface type struct cname, default to `Iface'
1573           suffix (reported by Dominique Würtz)
1575 2006-08-23  Jürg Billeter  <j@bitron.ch>
1577         * vala/valasemanticanalyzer.vala: support calling non-abstract interface
1578           methods
1579         * vala/valainterface.vala: add get_base_types method
1581 2006-08-20  Jürg Billeter  <j@bitron.ch>
1583         * configure.ac: Post-release version bump, fail if flex or bison not
1584           found
1586 2006-08-18  Jürg Billeter  <j@bitron.ch>
1588         * NEWS: update for 0.0.3 release
1590 2006-08-18  Jürg Billeter  <j@bitron.ch>
1592         * compiler/valacompiler.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala:
1593           use array length functionality
1595 2006-08-18  Jürg Billeter  <j@bitron.ch>
1597         * vala/valacodegenerator.vala: support implicit array length parameter
1598         * vala/valainterfacewriter.vala, vala/valaformalparameter.vala,
1599           vala/valamethod.vala: support NoArrayLength attribute
1600         * compiler/valacompiler.vala, vapi/atk.vala, vapi/cairo.vala,
1601           vapi/gdk-2.0.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala,
1602           vapi/pango.vala: add NoArrayLength attributes
1603         * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
1604           tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
1605           tests/test-007.vala, tests/test-008.vala, tests/test-009.vala,
1606           tests/test-010.vala, tests/test-011.vala, tests/test-012.vala,
1607           tests/test-013.vala, tests/test-014.vala, tests/test-015.vala,
1608           tests/test-016.vala, tests/test-017.vala, tests/test-018.vala,
1609           tests/test-019.vala, tests/test-020.vala: remove argc parameter
1611 2006-08-18  Jürg Billeter  <j@bitron.ch>
1613         * vala/parser.y: remove read/write tokens
1614         * compiler/valacompiler.vala: support package dependencies
1615         * vapi/gdk-2.0.deps
1616         * vapi/gtk+-2.0.deps
1617         * vapi/Makefile.am: update
1619 2006-08-18  Jürg Billeter  <j@bitron.ch>
1621         * vala/parser.y, vala/valastruct.vala: support base types for structs
1622         * vala/valainterfacewriter.vala: obey set keyword
1623         * vapi/glib-2.0.vala: add SignalInvocationHint, SignalEmissionHook,
1624           SignalFlags, ValueArray, Math, Timeout, and PtrArray
1625         * vapi/cairo.vala: initial cairo binding
1626         * vapi/pango.vala, vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala:
1627           bindings generated from Pango 1.13.5, ATK 1.12.1, and GTK+ 2.10.1
1628         * vapi/Makefile.am: update
1630 2006-08-11  Raffaele Sandrini  <rasa@gmx.ch>
1632         * vala/valasymbolresolver.vala, vala/valatypereference.vala,
1633           vala/valaelementaccess.vala, vala/valadatatype.vala, vala/parser.y,
1634           vala/valaarray.vala: make those classes ready to process
1635           multidimensional arrays.
1636         * vala/scanner.l: remove ARRAY_QUALIFIER token
1637         * vala/valasemanticanalyzer.vala, vala/parser.y,
1638           vala/valacodegenerator.vala, vala/valacodegenerator.vala,
1639           vala/valacodevisitor.vala: add multidimensional array support however
1640           only one dimensional arrays can be created yet
1641         * vala/Makefile.am, vala/vala.h: update
1642         * vala/valatypereference.vala: remove source reference parameter
1643           when creating from an expression
1644         * vala/valacodegenerator.vala: add support for uint, long and ulong
1645           properties
1647 2006-08-10  Jürg Billeter  <j@bitron.ch>
1649         * vala/scanner.l: support hexadecimal and octal integer literals,
1650           support hexadecimal escape sequences, support BASE and THIS
1651         * vala/parser.y: use BASE and THIS keywords
1652         * vala/valasemanticanalyzer.vala: don't use new base keyword as variable
1653           name
1654         * vala/valacodegenerator.vala: simplify code
1655         * vala/valainterfacewriter.vala: obey base keyword
1657 2006-08-10  Jürg Billeter  <j@bitron.ch>
1659         * vala/valacodegenerator.vala: fix memory management in switch
1660           statements
1661         * tests/test-020.vala: extend switch statement test
1663 2006-08-10  Jürg Billeter  <j@bitron.ch>
1665         * vala/valacodegenerator.vala: support switch statements
1666         * vala/valaswitchsection.vala: add has_default_label () and
1667           get_statements () methods
1668         * vala/valaswitchstatement.vala: add get_sections () method
1669         * ccode/valaccodedostatement.vala
1670         * ccode/Makefile.am: update
1671         * tests/test-020.vala: test switch statements
1672         * tests/Makefile.am: update
1674 2006-08-10  Jürg Billeter  <j@bitron.ch>
1676         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: use
1677           Invokable
1678         * vala/valainvokable.vala
1679         * vala/valafield.vala, vala/valaformalparameter.vala,
1680           vala/valamethod.vala, valasignal.vala,
1681           vala/valavariabledeclarator.vala: implement Invokable
1682         * vala/Makefile.am: update
1684 2006-08-10  Jürg Billeter  <j@bitron.ch>
1686         * vala/parser.y: support constants in namespaces and constants without
1687           initializer
1688         * vala/valasemanticanalyzer.vala: depend on implemented interfaces
1689         * vala/valacodegenerator.vala: always include glib-object.h for
1690           interfaces, append NULL to variable argument list calls
1691         * vala/valainterfacewriter.vala: support constants and ellipsis
1692           parameters
1693         * vala/valaconstant.vala: make initializer optional
1694         * vala/valainterface.vala: implement get_lower_case_cprefix ()
1695         * vala/valanamespace.vala: support constants
1697 2006-08-10  Jürg Billeter  <j@bitron.ch>
1699         * vala/scanner.l: accept real literals with trailing dot
1700         * vala/valasymbolresolver.vala: ignore non-type symbols
1701         * vala/valacodegenerator.vala: support float and double properties,
1702           adapt to Field changes, support compound assignments in properties
1703         * vala/valainterfacewriter.vala: support ReferenceType attribute
1704         * vala/valaclass.vala: implement get_lower_case_cprefix ()
1705         * vala/valadatatype.vala: add get_lower_case_cprefix () method
1706         * vala/valafield.vala: let get_cname return full C name
1707         * vala/valamethod.vala: use DataType.get_lower_case_cprefix ()
1708         * vala/valastruct.vala: implement get_lower_case_cprefix (), add
1709           set_is_reference_type () method
1711 2006-08-09  Jürg Billeter  <j@bitron.ch>
1713         * vala/parser.y: adapt to Vala.Signal change
1714         * vala/valaattributeprocessor.vala: process signal attributes
1715         * vala/valacodegenerator.vala: manage memory of element access
1716           expressions, mark get_property and set_property functions static,
1717           support signal emitter functions
1718         * vala/valacodecontext.vala: use get_cinclude_filename method
1719         * vala/valainterfacewriter.vala: use C header filename of namespace,
1720           support signals, support NoAccessorMethod attribute
1721         * vala/valadatatype.vala: add default arguments
1722         * vala/valaenum.vala: make set_cprefix method public
1723         * vala/valanamespace.vala: add get_cheader_filename and
1724           set_cheader_filename methods
1725         * vala/valasignal.vala: add has_emitter property, add process_attributes
1726           method
1727         * vala/valasourcefile.vala: add get_cinclude_filename method
1728         * compiler/valacompiler.vala: adapt to SourceFile changes
1730 2006-08-05  Jürg Billeter  <j@bitron.ch>
1732         * vala/valaparser.vala: only parse .vala source files
1733         * vala/valasymbolbuilder.vala, vala/valaproperty.vala: support disabling
1734           automatic property accessor generation
1735         * vala/valasemanticanalyzer.vala: fix typo
1736         * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
1737           vala/valacodecontext.vala: use correct includes for libraries
1738         * vala/valacodegenerator.vala: use get_canonical_cconstant method for
1739           signals
1740         * vala/valainterfacewriter.vala: support interfaces, non-null types,
1741           callbacks, and construction methods
1742         * vala/valasignal.vala: add get_canonical_cconstant method
1743         * vala/valaenum.vala, vala/valainterface.vala, vala/valanamespace.vala,
1744           vala/valastruct: add default arguments
1745         * vala/Makefile.am: install libvala.so and header files
1746         * ccode/Makefile.am: install header files
1747         * compiler/valacompiler.vala: set library name in code context
1748         * compiler/Makefile.am: adapt to build system changes
1749         * vapi/glib-2.0.vala: add skeletons for Callback, Closure, IOChannel,
1750           TimeVal, Scanner, SpawnFlags, OptionGroup, MarkupParser, and Quark
1751         * vapi/Makefile.am: add vala-1.0.vala
1752         * vala-1.0.pc.in
1753         * configure.ac: disable static library by default, add vala-1.0.pc
1754         * Makefile.am: add vala-1.0.pc
1756 2006-08-02  Jürg Billeter  <j@bitron.ch>
1758         * configure.ac: Post-release version bump.
1760 2006-08-02  Jürg Billeter  <j@bitron.ch>
1762         * NEWS: update for 0.0.2 release
1763         * vala/valasemanticanalyzer.vala: check for floating reference in
1764           construction methods
1765         * vala/valasourcefile.vala, vala/valacodegenerator.vala,
1766           ccode/valaccodeincludedirective.vala: differentiate between
1767           package-internal and external includes
1768         * vapi/gtk+-2.0.vala: port to construction methods
1770 2006-08-02  Jürg Billeter  <j@bitron.ch>
1772         * port to construction methods
1773         * vala/valaparenthesizedexpression.vala, vala/valareport.vala,
1774           vala/valareturnstatement.vala, vala/valasourcefilecycle.vala,
1775           vala/valasourcereference.vala, vala/valatypecheck.vala,
1776           vala/valatypeofexpression.vala, vala/valatypeparameter.vala: add
1777           interface documentation, use implicit namespace specification
1778         * vala/Makefile.am: sort source file list
1780 2006-08-02  Jürg Billeter  <j@bitron.ch>
1782         * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
1783           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
1784           vala/valainterfacewriter.vala, vala/valaclass.vala,
1785           vala/valaexpressionstatement.vala, vala/valamethod.vala,
1786           vala/valaobjectcreationexpression.vala, vala/valastatement.vala,
1787           vala/valastruct.vala: add support for construction methods
1788         * vala/valabooleanliteral.vala, vala/valaexpression.vala,
1789           vala/valaintegerliteral.vala, vala/valaliteral.vala,
1790           vala/valaliteralexpression.vala, vala/valamemberaccess.vala: add
1791           to_string method
1792         * vala/valamemberaccess.vala, vala/valatypereference.vala: support
1793           storing type arguments in MemberAccess
1794         * vala/valacodenode.vala: add parent_node property
1795         * vala/parser.y, vala/valaifstatement.vala: only allow blocks as
1796           embedded statements
1797         * vala/valaenum.vala: implement get_type_id method
1798         * vala/valainterfacewriter.vala: output default expressions of formal
1799           parameters
1800         * vala/valaformalparameter.vala: visit default expression
1801         * vala/valaobjectcreationexpression.vala, vala/valanullliteral.vala,
1802           vala/valaproperty.vala, vala/valapropertyaccessor.vala: add interface
1803           documentation, use implicit namespace specification
1804         * vala/vala.h: add valaelementaccess.h and valarealliteral.h
1805         * ccode/valaccodememberaccess.vala: don't mark is_pointer as construct
1806         * vapi/glib-2.0.vala: add GValue
1807         * vapi/gtk+-2.0.vala: small updates
1809 2006-07-31  Jürg Billeter  <j@bitron.ch>
1811         * vala/parser.y: support prefix increment and decrement, fix parsing
1812           opening parens
1813         * vala/valasemanticanalyzer.vala: fix some bugs in error handling,
1814           support prefix increment and decrement
1815         * vala/valacodegenerator.vala: support prefix increment and decrement
1816         * vala/valanamespace.vala: add interface documentation, use implicit
1817           namespace specification
1818         * vala/valaunaryexpression.vala: support prefix increment and decrement
1819         * ccode/valaccodeunaryexpression.vala: support prefix increment and
1820           decrement
1821         * vapi/glib-2.0.vala: add Environment struct
1823 2006-07-27  Jürg Billeter  <j@bitron.ch>
1825         * vala/scanner.l: support CASE, DEFAULT, DO, and SWITCH
1826         * vala/parser.y: support switch and do statements
1827         * vala/valacodevisitor.vala: add support for switch and do statements
1828         * vala/valadostatement.vala
1829         * vala/valaswitchlabel.vala
1830         * vala/valaswitchsection.vala
1831         * vala/valaswitchstatement.vala
1832         * vala/valastatement.vala, vala/valasymbol.vala,
1833           vala/valaunaryexpression.vala, vala/valavariabledeclarator.vala,
1834           vala/valawhilestatement.vala: add interface documentation, use
1835           implicit namespace specification
1836         * vala/vala.h, vala/Makefile.am: update
1837         * vapi/glib-2.0.vala: don't use default keyword
1839 2006-07-27  Jürg Billeter  <j@bitron.ch>
1841         * vala/parser.y: support for loops with local variable declaration in
1842           initializer
1844 2006-07-27  Jürg Billeter  <j@bitron.ch>
1846         * vala/parser.y: don't require developer to explicitly write static in
1847           namespace field declarations, support type parameters in interfaces
1848           and callbacks
1849         * vala/valasymbolresolver.vala: support interfaces and callbacks
1850         * vala/valasemanticanalyzer.vala: use is_subtype_of method, support
1851           callbacks in fields
1852         * vala/valamemorymanager.vala: support callbacks in fields
1853         * vala/valacodegenerator.vala: support callbacks in fields
1854         * vala/valacallback.vala: support type parameters
1855         * vala/valaclass.vala: add is_subtype_of method
1856         * vala/valadatatype.vala: add is_subtype_of method
1857         * vala/valainterface.vala: add is_subtype_of method
1859 2006-07-26  Jürg Billeter  <j@bitron.ch>
1861         * vala/scanner.l: support casting arrays
1862         * vala/parser.y: don't require developer to explicitly write static in
1863           namespace method declarations
1864         * vala/valaarray.vala: correct cname for arrays with value-type elements
1865         * vala/valacodenode.vala: save source line reference in ccodenode
1866         * ccode/valaccodelinedirective.vala
1867         * ccode/valaccodenode.vala: support source line reference
1868         * ccode/Makefile.am: update
1869         * vapi/glib-2.0.vala: add to_string methods to integer types, add size
1870           method to string, add u_sleep method to Thread, fix memory management
1871           in List and SList, add sort method to List
1873 2006-07-19  Jürg Billeter  <j@bitron.ch>
1875         * vala/valatypereference.vala: use more expressive property names, add
1876           stricter () method
1877         * vala/parser.y, vala/valasymbolbuilder.vala,
1878           vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala,
1879           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
1880           vala/valainterfacewriter.vala, vala/valasourcefile.vala,
1881           vala/valacallback.vala, vala/valaclassregisterfunction.vala,
1882           vala/valasignal.vala: adapt to changes in TypeReference
1883         * vala/valasourcefile.vala: replace public fields by properties /
1884           private fields
1885         * vala/valacodecontext.vala: adapt to changes in SourceFile
1886         * vala/valaparser.vala: correct handling of source files without header
1887           comments
1888         * vala/valasymbolbuilder.vala: don't generate code for VAPI files
1889         * vala/valasemanticanalyzer.vala: report error respectively warning if
1890           method return type misses ownership transfer
1891         * vala/valainterfacewriter.vala: correct property declaration output
1892         * vala/valaparser.vala, vala/valasourcefile.vala, vala/valaliteral.vala,
1893           vala/valamemberaccessibility.vala, vala/valanamedargument.vala,
1894           vala/valanamespacereference.vala, vala/valatypereference.vala: add
1895           interface documentation, use implicit namespace specification
1897 2006-07-18  Jürg Billeter  <j@bitron.ch>
1899         * vala/valasymbolresolver.vala: make sure that current_scope isn't null
1900         * vala/valamemorymanager.vala: start to support memory management with
1901           generics
1902         * vala/valacodegenerator.vala: support iteration over SList, properties
1903           without accessor methods
1904         * vapi/glib-2.0.vala: add string.hash (), Error fields and SList
1905         * vapi/gtk+-2.0.vala: add StatusIcon class
1906         * README: mention exceptions
1908 2006-07-16  Jürg Billeter  <j@bitron.ch>
1910         * configure.ac: Post-release version bump.
1911         * vala/parser.y: remove g_object_unref call to fix crash in parsing
1912           array declarations
1913         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
1914           creating structs
1915         * vapi/glib-2.0.vala: GString enhancements
1916         * vapi/Makefile.am: dist gtk+-2.0.vala and pango.vala
1918 2006-07-15  Jürg Billeter  <j@bitron.ch>
1920         * NEWS: update for 0.0.1 release
1921         * README: add introduction
1922         * COPYING: replace by LGPL
1923         * compiler/valacompiler.vala: add /usr/local/share/vala/vapi ad default
1924           vapi search dir
1925         * vapi/glib-2.0.vala: File and HashTable enhancements
1927 2006-07-14  Raffaele Sandrini  <rasa@gmx.ch>
1929         * vala/valacodegenerator.vala, vala/valasymbolresolver.vala,
1930           vala/scanner.l, vala/valatypereference.vala,
1931           vala/valasemanticanalyzer.vala, vala/valaelementaccess.vala,
1932           vala/valadatatype.vala, vala/parser.y, vala/valaarray.vala,
1933           vala/valacodevisitor.vala, ccode/valaccodeelementaccess.vala: add
1934           element access support
1935         * vala/valasemanticanalyzer.vala: add visit_postfix_expression
1936           implementation
1937         * tests/test-019.vala: add element access testcase
1938         * vala/Makefile.am, tests/Makefile.am, ccode/Makefile.am: update
1940 2006-07-14  Jürg Billeter  <j@bitron.ch>
1942         * vala/valacodecontext.vala: ignore file-internal dependencies
1943         * vala/valasemanticanalyzer.vala: mark string literals as non-null, add
1944           some implicit casts
1945         * vala/valamemorymanager.vala: only check for leaks with reference
1946           types, manage memory in field initializers
1947         * vala/valacodegenerator.vala: add non-null parameter typechecks for
1948           structs, simplify ref expression if expression is known to be non-null
1949         * vapi/glib-2.0.vala: unichar, string, String, and Path enhancements,
1950           add Base64 and Dir
1952 2006-07-10  Jürg Billeter  <j@bitron.ch>
1954         * vala/parser.y: adapt to changes in InvocationExpression,
1955           LocalVariableDeclaration, and InitializerList
1956         * vala/valasemanticanalyzer.vala: add some implicit casts, fix assigning
1957           callback to field, adapt to changes in InvocationExpression
1958         * vala/valamemorymanager.vala: adapt to change in InvocationExpression
1959         * vala/valacodegenerator.vala: fix signal handler without parameters,
1960           fix access to value-type struct members, adapt to changes in
1961           LocalVariableDeclaration, InitializerList, and InvocationExprssion
1962         * vala/valaclass.vala: don't let private static fields influence
1963           has_private_fields, correct marshaller type name
1964         * vala/valaifstatement.vala, vala/valainitializerlist.vala,
1965           vala/valainstancecast.vala, vala/valaintegerliteral.vala,
1966           vala/valainvocationexpression.vala, vala/valaliteralexpression.vala,
1967           vala/valalocalvariabledeclaration.vala: add interface documentation,
1968           use implicit namespace specification
1969         * compiler/valacompiler.vala: fix --vapidir handling
1970         * vapi/glib-2.0.vala: add MainLoop, MainContext, IdleSource, Source, and
1971           Thread
1973 2006-07-08  Jürg Billeter  <j@bitron.ch>
1975         * vala/valasemanticanalyzer.vala: don't allow write access to read-only
1976           properties
1977         * vala/valacodegenerator.vala: adapt to changes in CCodeFragment and
1978           CCommaExpression
1979         * vala/valapostfixexpression.vala, ccode/valaccodebinaryexpression.vala,
1980           ccode/valaccodeblock.vala, ccode/valaccodebreakstatement.vala,
1981           ccode/valaccodecasestatement.vala,
1982           ccode/valaccodecommaexpressoin.vala, ccode/valaccodecomment.vala,
1983           ccode/valaccodeconditionalexpression.vala,
1984           ccode/valaccodeconstant.vala, ccode/valaccodecontinuestatement.vala,
1985           ccode/valaccodedeclaration.vala, ccode/valaccodedeclarator.vala,
1986           ccode/valaccodeenum.vala, ccode/valaccodeemptystatement.vala,
1987           ccode/valaccodeexpressionstatement.vala,
1988           ccode/valaccodeformalparameter.vala, ccode/valaccodeforstatement.vala,
1989           ccode/valaccodefragment.vala, ccode/valaccodefunction.vala,
1990           ccode/valaccodefunctioncall.vala,
1991           ccode/valaccodefunctiondeclarator.vala,
1992           ccode/valaccodeidentifier.vala, ccode/valaccodeifstatement.vala,
1993           ccode/valaccodeincludedirective.vala,
1994           ccode/valaccodeinitializerlist.vala,
1995           ccode/valaccodemacroreplacement.vala,
1996           ccode/valaccodememberaccess.vala, ccode/valaccodemodifiers.vala,
1997           ccode/valaccodenewline.vala, ccode/valaccodeoncesection.vala,
1998           ccode/valaccodeparenthesizedexpression.vala,
1999           ccode/valaccodereturnstatement.vala, ccode/valaccodestatement.vala,
2000           ccode/valaccodestruct.vala, ccode/valaccodeswitchstatement.vala,
2001           ccode/valaccodeunaryexpression.vala,
2002           ccode/valaccodevariabledeclarator.vala,
2003           ccode/valaccodewhilestatement.vala, ccode/valaccodewriter.vala: add
2004           interface documentation, use implicit namespace specification
2006 2006-07-08  Jürg Billeter  <j@bitron.ch>
2008         * vala/valasemanticanalyzer.vala: don't allow access to private members
2010 2006-07-08  Jürg Billeter  <j@bitron.ch>
2012         * vala/valasemanticanalyzer.vala: check method signatures of overriding
2013           methods
2014         * vala/parser.y, vala/valaclassregisterfunction.vala,
2015           vala/valatyperegisterfunction.vala: support abstract classes
2016         * vala/valamethod.vala: add equals method
2017         * vala/valatypereference.vala: add equals method
2018         * corrects overriding methods to match signatures of overridden methods
2019           to fix build with current compiler
2021 2006-07-08  Jürg Billeter  <j@bitron.ch>
2023         * vala/parser.y, vala/valacodegenerator.vala: adapt to ForStatement API
2024           changes
2025         * vala/valaclass.vala: make {get,set}_lower_case_csuffix methods private
2026         * vala/valaenum.vala, vala/valaenumvalue.vala,
2027           vala/valaexpressionstatement.vala, vala/valafield.vala,
2028           vala/valaflags.vala, vala/valaflagsvalue.vala,
2029           vala/valaforeachstatement.vala, vala/valaforstatement.vala: add
2030           interface documentation, use implicit namespace specification
2032 2006-07-08  Jürg Billeter  <j@bitron.ch>
2034         * vala/parser.y: adapt to Method API changes
2035         * vala/valasemanticanalyzer.vala: support signals, mark private signal
2036           handlers as instance_last
2037         * vala/valamemorymanager.vala: support signals
2038         * vala/valacodegenerator.vala: support signals, methods with
2039           instance_last
2040         * vala/valaclass.vala: add get_type_id and get_marshaller_type_name
2041           methods
2042         * vala/valadatatype.vala: add get_marshaller_type_name method
2043         * vala/valastruct.vala: move type_id attribute to CCode, support
2044           marshaller_type_name attribute
2045         * vala/valainterfacewriter.vala, vala/valamethod.vala,
2046           vala/valastruct.vala, ccode/valaccodeexpression.vala,
2047           ccode/valaccodenode.vala: add interface documentation, use implicit
2048           namespace specification
2049         * vala/valacallback.vala, vala/valasignal.vala: improve documentation
2050         * ccode/valaccodecastexpression.vala: type cast in C code
2051         * ccode/Makefile.am: update
2052         * tests/test-018.vala: test signals
2053         * tests/Makefile.am: update
2054         * vapi/glib-2.0.vala: add type_id and marshaller_type_name attributes
2056 2006-07-07  Jürg Billeter  <j@bitron.ch>
2058         * vala/valacodegenerator.vala, vala/valaclassregisterfunction.vala:
2059           support interfaces
2060         * vala/parser.y, vala/valasemanticanalyzer.vala,
2061           vala/valalambdaexpression.vala: support lambda expressions with
2062           statement body
2063         * vala/valaclassregisterfunction.vala, vala/valaemptystatement.vala,
2064           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
2065           vala/valatyperegisterfunction.vala: add interface documentation, use
2066           implicit namespace specification
2067         * tests/test-015.vala: test lambda expressions with statement body
2068         * tests/test-017.vala: test interfaces
2069         * tests/Makefile.am: update
2071 2006-07-07  Jürg Billeter  <j@bitron.ch>
2073         * vala/valaconstructor.vala, vala/valacontinuestatement.vala,
2074           vala/valadeclarationstatement.vala, vala/valadestructor.vala: add
2075           interface documentation, use implicit namespace specification
2077 2006-07-07  Jürg Billeter  <j@bitron.ch>
2079         * vala/valacodecontext.vala: use continue statements to decrease
2080           indentation levels
2081         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
2082           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
2083           vala/valacodegenerator.vala, vala/valaconditionalexpression.vala,
2084           vala/valaconstant.vala: add interface documentation, use implicit
2085           namespace specification
2086         * vala/valasemanticanalyzer.vala: check that if, while, for, and
2087           conditional expression conditions are boolean
2088         * vala/valaclass.vala: remove dummy accessor, breaks build with old
2089           vala compiler
2090         * compiler/valacompiler.vala: use implicit namespace specification
2091         * tests/test-016.vala: test conditional expressions
2092         * tests/Makefile.am: update
2094 2006-07-07  Jürg Billeter  <j@bitron.ch>
2096         * vala/valacodecontext.vala: add interface documentation, use implicit
2097           namespace specification
2098         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
2099           vala/valasemanticanalyzer.vala: adapt to change in CodeContext
2101 2006-07-06  Jürg Billeter  <j@bitron.ch>
2103         * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
2104           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
2105           vala/valacodegenerator.vala, vala/valatypereference.vala, vala/vala.h,
2106           vala/Makefile.am: merge SimpleName into MemberAccess
2107         * vala/valasymbolresolver.vala, vala/valainterfacewriter.vala: adapt to
2108           change in Class
2109         * vala/valasemanticanalyzer.vala: support non-static lambda expressions
2110           and lambda expressions without return values
2111         * vala/valacodegenerator.vala: support conditional expressions, support
2112           lambda expressions as signal handlers, support read-only and
2113           write-only properties
2114         * vala/valacodevisitor.vala, vala/valamemorymanager.vala,
2115           vala/valaassignment.vala: visit at beginning and end
2116         * vala/valacallback.vala: add instance property
2117         * vala/valasignal.vala: add get_callback method
2118         * vala/valacastexpression.vala, vala/valacharacterliteral.vala,
2119           vala/valaclass.vala, vala/valamemberaccess.vala, vala/valasignal.vala:
2120           add interface documentation, use implicit namespace specification
2122 2006-07-05  Jürg Billeter  <j@bitron.ch>
2124         * vala/parser.y: don't pass parameter list to lambda expression
2125           contructor
2126         * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
2127           vala/valacodegenerator.vala: support static lambda expressions and
2128           nested methods
2129         * vala/valainvocationexpression.vala: visit call node before visiting
2130           begin of invocation expression
2131         * vala/valaformalparameter.vala, vala/valalambdaexpression.vala: add
2132           interface documentation, use implicit namespace specification
2133         * vala/valamethod.vala: allow nested methods
2134         * tests/test-015.vala: test lambda expressions
2135         * tests/Makefile.am: update
2137 2006-07-04  Jürg Billeter  <j@bitron.ch>
2139         * vala/parser.y: support implicit namespace specification in callback
2140           declaration
2141         * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
2142           vala/valacodegenerator.vala: support callbacks
2143         * vala/valaassignment.vala, vala/valabinaryexpression.vala: improve
2144           documentation
2145         * vala/valabooleanliteral.vala, vala/valabreakstatement.vala,
2146           vala/valacallback.vala: add interface documentation, use implicit
2147           namespace specification
2148         * vala/valacallback.vala: add matches_method method, mark as
2149           non-reference type
2150         * ccode/valaccodetypedefinition.vala: replace typedef_name by
2151           declarator, add interface documentation, use implicit namespace
2152           specification
2153         * tests/test-013.vala: test break
2154         * tests/test-014.vala: test callback
2155         * tests/Makefile.am: update
2157 2006-07-04  Jürg Billeter  <j@bitron.ch>
2159         * vala/valablock.vala: add interface documentation, use implicit
2160           namespace specification
2161         * tests/test-011.vala: test binary expressions
2162         * tests/test-012.vala: test blocks
2163         * configure.ac, Makefile.am, tests/Makefile.am: distribute tests
2165 2006-07-04  Jürg Billeter  <j@bitron.ch>
2167         * vala/valacodevisitor.vala, vala/valaattributeprocessor.vala,
2168           vala/valabinaryexpression.vala: add interface documentation, use
2169           implicit namespace specification
2170         * vala/valaassignment.vala, vala/valaattribute.vala: documentation
2171           corrections
2173 2006-07-04  Jürg Billeter  <j@bitron.ch>
2175         * vala/valacodegenerator.vala: generate assignment with appropriate
2176           operator
2177         * vala/valaassignment.vala: use implicit namespace specification
2178         * ccode/valaccodeassignment.vala: support assignment operators , add
2179           interface documentation, use implicit namespace specification
2180         * tests/test-010.vala: test assignments
2182 2006-07-03  Jürg Billeter  <j@bitron.ch>
2184         * vala/parser.y: support implicit namespace specification in struct,
2185           interface, enum, and flags declaration
2186         * vala/valasymbolbuilder.vala: report error when declaring non-static
2187           namespace methods
2188         * vala/valasemanticanalyzer.vala: analyze return statements
2189         * vala/valacodegenerator.vala: correctly set GParamFlags for properties,
2190           initialize static variables, add preconditions to property accessors,
2191           support namespace methods
2192         * vala/valaassignment.vala, vala/valaattribute.vala: add interface
2193           documentation, use implicit namespace specification
2194         * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
2195           tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
2196           tests/test-007.vala, tests/test-008.vala, tests/test-009.vala:
2197           update test cases to print test values
2199 2006-06-30  Jürg Billeter  <j@bitron.ch>
2201         * vala/valacodenode.vala, vala/valadatatype.vala,
2202           vala/valaexpression.vala: use implicit namespace specification,
2203           reformat code
2205 2006-06-30  Jürg Billeter  <j@bitron.ch>
2207         * vala/parser.y: support implicit namespace specification in class
2208           declaration
2210 2006-06-29  Jürg Billeter  <j@bitron.ch>
2212         * vala/valacodegenerator.vala, vala/valaclass.vala,
2213           vala/valadatatype.vala, vala/valastruct.vala: distinguish between
2214           ref_function/unref_function and dup_function/free_function
2215         * vala/valadatatype.vala: add interface documentation
2216         * vapi/glib-2.0.vala: use dup_function attribute, keep ref_function for
2217           compatibility
2219 2006-06-29  Jürg Billeter  <j@bitron.ch>
2221         * vala/valacodenode.vala, vala/valaexpression.vala: add interface
2222           documentation
2224 2006-06-28  Jürg Billeter  <j@bitron.ch>
2226         * vala/valasymbolbuilder.vala: add private add_symbol helper method
2227         * vala/valasymbolresolver.vala: tiny refactoring of GObject lookup
2228         * vala/valasemanticanalyzer.vala: use get_parameters method of Callback
2229         * vala/valacallback.vala, vala/valaintegerliteral.vala,
2230           vala/valarealliteral.vala, vala/valastringliteral.vala: replace public
2231           fields by properties / private fields, don't mark properties as
2232           construct-only, use non-null types
2233         * vala/valaattribute.vala, vala/valacodenode.vala,
2234           vala/valaconstructor.vala, vala/valadatatype.vala,
2235           vala/valadestructor.vala, vala/valaenumvalue.vala,
2236           vala/valaexpression.vala, vala/valafield.vala,
2237           vala/valaflagsvalue.vala, vala/valaformalparameter.vala,
2238           vala/valaliteral.vala, vala/valalocalvariabledeclaration.vala,
2239           vala/valamethod.vala, vala/valanamedargument.vala,
2240           vala/valanamespace.vala, vala/valanamespacereference.vala,
2241           vala/valaproperty.vala, vala/valapropertyaccessor.vala,
2242           vala/valasignal.vala, vala/valastatement.vala,
2243           vala/valatypeparameter.vala, vala/valatypereference.vala,
2244           vala/valavariabledeclarator.vala: move source_reference to CodeNode
2246 2006-06-28  Jürg Billeter  <j@bitron.ch>
2248         * vala/valabooleanliteral.vala, vala/valacharacterliteral.vala,
2249           vala/valaintegerliteral.vala, vala/valaliteral.vala,
2250           vala/valanullliteral.vala, vala/valarealliteral.vala,
2251           vala/valastringliteral.vala: move source_reference to Vala.Literal,
2252           use non-null types, don't mark properties as construct-only
2254 2006-06-26  Jürg Billeter  <j@bitron.ch>
2256         * vala/parser.y: plug some memory leaks, adapt to Vala.Block changes
2257         * vala/valaattribute.vala, vala/valabinaryexpression.vala,
2258           vala/valablock.vala, vala/valabooleanexpression.vala,
2259           vala/valabreakstatement.vala, vala/valaliteral.vala,
2260           vala/valastatement.vala: replace public fields by properties / private
2261           fields, don't mark properties as construct-only, use non-null types
2262         * vala/valadatatype.vala: renamed from Vala.Type_ to Vala.DataType
2263         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
2264           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
2265           vala/valasourcefile.vala, vala/valacallback.vala, vala/valaclass.vala,
2266           vala/valaclassregisterfunction.vala, vala/valaconstant.vala,
2267           vala/valaenum.vala, vala/valaflags.vala, vala/valainstancecast.vala,
2268           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
2269           vala/valamethod.vala, vala/valastruct.vala,
2270           vala/valatypeparameter.vala, vala/valatypereference.vala,
2271           vala/valatypergisterfunction.vala: adapt to renaming of Vala.Type_ to
2272           Vala.DataType
2273         * vala/Makefile.am: update
2275 2006-06-22  Jürg Billeter  <j@bitron.ch>
2277         * vala/valaassignment.vala: don't mark properties as construct-only,
2278           use non-null types
2279         * vala/valacodenode.vala: use non-null type
2280         * vala/valaexpression.vala: replace public fields by properties
2282 2006-06-22  Jürg Billeter  <j@bitron.ch>
2284         * vala/parser.y: replace specialized interface member declarations by
2285           standard member declarations to allow non-abstract methods in
2286           interfaces
2287         * vala/valacodegenerator.vala: cast instance in property setter
2288           invocations
2290 2006-06-22  Jürg Billeter  <j@bitron.ch>
2292         * vala/scanner.l: support LAMBDA and CALLBACK
2293         * vala/parser.y: support callbacks and lambda expressions
2294         * vala/valacodevisitor.vala: add visit methods for callbacks and lambda
2295           expressions
2296         * vala/valasymbolbuilder.vala: use non-null parameter types, support
2297           callbacks
2298         * vala/valasemanticanalyzer.vala: partially support interface methods,
2299           support callback invocations
2300         * vala/valamemorymanager.vala: support callback invocations
2301         * vala/valacodegenerator.vala: partially support interface methods
2302         * vala/valacallback.vala: initial implementation
2303         * vala/valacodenode.vala: replace public fields by properties
2304         * vala/valaexpression.vala: add expected_type field
2305         * vala/valainvocationexpression.vala: also visit at beginning
2306         * vala/valalambdaexpression.vala
2307         * vala/valanamespace.vala: support callbacks
2308         * vala/vala.h: update
2309         * vala/Makefile.am: update
2311 2006-06-18  Jürg Billeter  <j@bitron.ch>
2313         * vala/scanner.l: support TYPEOF
2314         * vala/parser.y: support typeof expressions, out ref parameters, and
2315           enum attributes
2316         * vala/valacodevisitor.vala: add visit method for typeof expressions
2317         * vala/valaattributeprocessor.vala: use non-null parameter types,
2318           support enums and properties
2319         * vala/valasemanticanalyzer.vala: support floating references
2320         * vala/valamemorymanager.vala: ignore signal connections
2321         * vala/valacodegenerator.vala: reset temp variable id at beginning of
2322           each file, fix out parameters, support properties without accessor
2323           methods, support floating references, add typeof expression, support
2324           static signal handlers
2325         * vala/valaclass.vala: use default arguments
2326         * vala/valaenum.vala: support cname, cprefix, and cheader_filename
2327           attributes
2328         * vala/valaenumvalue.vala: use Enum.get_cprefix ()
2329         * vala/valamethod.vala: support FloatingReference attribute
2330         * vala/valanamespace.vala: use default arguments
2331         * vala/valaproperty.vala: support NoAccessorMethod attribute
2332         * vala/valastruct.vala: support type_id
2333         * vala/valatype.vala: add abstract get_type_id method
2334         * vala/valatypeofexpression.vala
2335         * vala/valatypereference.vala: add floating_reference property, correct
2336           to_string method signature
2337         * vala/vala.h: update
2338         * vala/Makefile.am: update
2339         * vapi/glib-2.0.vala: add GInitiallyUnowned
2340         * vapi/gtk+-2.0.vala: start of a GTK+ binding
2341         * vapi/pango.vala: start of a Pango binding
2343 2006-06-17  Jürg Billeter  <j@bitron.ch>
2345         * vala/scanner.l: don't leak comment texts, support generic types with
2346           weak arguments
2347         * vala/parser.y: plug most memory leaks
2348         * vala/valacodecontext.vala: work around memory management issues
2349         * vala/valasourcefile.vala: break reference cycles
2350         * vala/valasourcefilecycle.vala: break reference cycles
2351         * vala/valasymbolbuilder.vala: store `this` and `value` parameters in
2352           appropriate member node
2353         * vala/valasymbolresolver.vala: break reference cycle
2354         * vala/valasemanticanalyzer.vala: break reference cycle, promote local
2355           variables with ownership transferring initializer, store foreach
2356           variable declarator in statement object, assignments to properties
2357           don't take value ownership, make null type checks behave well on
2358           either side of a comparison
2359         * vala/valamemorymanager.vala: add support for named arguments,
2360           properties, and ellipsis parameter
2361         * vala/valacodegenerator.vala: add dispose function, register properties
2362           with static strings, don't leak strings when setting properties,
2363           support freeing string arrays, support freeing lists with allocated
2364           items, free local variables before return statements, free old value
2365           on assignments
2366         * vala/valainterfacewriter.vala: output more type reference information
2367         * vala/valaforeachstatement.vala: reference variable_declarator
2368         * vala/valaforstatement.vala: correct generic type arguments
2369         * vala/valamethod.vala: break reference cycle
2370         * vala/valaproperty.vala: reference this_parameter, add
2371           get_canoncial_cconstant method
2372         * vala/valapropertyaccessor.vala: reference value_parameter
2373         * vala/valasimplename.vala: remove unneeded type_argument_list
2374           parameter from constructor
2375         * vala/valasourcereference.vala: let to_string transfer ownership
2376         * vala/valastruct.vala: correct generic type argument
2377         * vala/valasymbol.vala: improve memory management
2378         * vala/valatype.vala: break reference cycles, let get_lower_case_cname
2379           transfer ownership
2380         * vala/valatypereference.vala: break reference cycle, use
2381           type_argument_list
2382         * vala/vala.h: add valaflags.h
2383         * ccode/valaccodefunction.vala: work around missing list deep copy
2384         * ccode/valaccodewriter.vala: don't manually free objects
2385         * compiler/valacompiler.vala: enable memory management by default,
2386           valac doesn't work anymore without memory management
2387         * vapi/glib-2.0.vala: add memory management information
2389 2006-06-15  Jürg Billeter  <j@bitron.ch>
2391         * vala/valasemanticanalyzer.vala: add local variables to block
2392         * vala/valamemorymanager.vala: analyze local variable initializers
2393         * vala/valacodegenerator.vala: free local variables at end of block,
2394           only free non-null variables, use some strong references due to memory
2395           manager deficiencies
2396         * vala/valablock.vala: use non-null parameter types, add local variable
2397           declarators
2398         * vala/valaenum.vala: let get_upper_case_cname transfer ownership
2399         * vala/valastruct.vala: add free_function attribute
2400         * ccode/valaccodewriter.vala: set freed values to null
2401         * vapi/glib-2.0.vala: add free functions
2403 2006-06-15  Raffaele Sandrini <rasa@gmx.ch>
2405         * vapi/libxml-2.0.vala: add basic libxml2 reader support
2406         * vapi/Makefile.am: add libxml-2.0.vala
2408 2006-06-14  Jürg Billeter  <j@bitron.ch>
2410         * vala/parser.y: set is_lvalue_ref in property declarations
2411         * vala/valacodecontext.vala: use non-null parameter types
2412         * vala/valasymbolresolver.vala: fix lookup in namespaces of using
2413           directives, reset is_lvalue_ref where appropriate
2414         * vala/valasemanticanalyzer.vala: use non-null parameter types,
2415           correctly set is_ref and is_lvalue_ref in variable declarators
2416         * vala/valamemorymanager.vala: support methods which transfer ownership
2417           of arguments and or return value, analyze assignments
2418         * vala/valacodegenerator.vala: add missing reference increment calls,
2419           small memory management improvements
2420         * vala/valaclass.vala: use non-null parameter types
2421         * vala/valaexpression.vala: add ref_missing
2422         * vala/valastruct.vala: support ref_function attribute, use non-null
2423           parameter types
2424         * vala/valatype.vala: let get_upper_case_cname return ref string
2425         * vala/valatypereference.vala: add copy method
2426         * ccode/valaccodeconditionalexpression.vala
2427         * ccode/valaccodefunctioncall.vala: use non-null parameter types
2428         * ccode/Makefile.am: update
2429         * compiler/valacompiler.vala: process attributes before resolving
2430           symbols to have reference_type information available in resolver
2431         * vapi/glib-2.0.vala: add ref_function attributes to string and List,
2432           use ref parameters in List and HashTable until the compiler can handle
2433           it correctly
2435 2006-06-14  Jürg Billeter  <j@bitron.ch>
2437         * vala/parser.y: set is_lvalue_ref for variables and fields
2438         * vala/valasemanticanalyzer.vala: variables and fields never transfer
2439           ownership as rvalue
2440         * vala/valamemorymanager.vala: use non-null parameter types, analyze
2441           return statements
2442         * vala/valacodegenerator.vala: use non-null parameter types, support
2443           memory management for temporary variables in variable initializers,
2444           initialize all uninitialized references to null
2445         * vala/valareturnstatement.vala: visit end of full expression
2446         * vala/valatypereference.vala: add is_lvalue_ref property
2447         * vala/valavariabledeclarator.vala: visit end of full expression
2449 2006-06-14  Jürg Billeter  <j@bitron.ch>
2451         * vala/valacodevisitor.vala: use non-null parameter types, add visit
2452           method for full expressions
2453         * vala/valasymbolresolver.vala: add some missing casts
2454         * vala/valasemanticanalyzer.vala: support memory management for
2455           temporary variables
2456         * vala/valamemorymanager.vala: visitor to detect leaked references
2457         * vala/valacodegenerator.vala: add automatic memory management for
2458           temporary variables, add some missing casts
2459         * vala/valaassignment.vala: move source_reference to Expression
2460         * vala/valabinaryexpression.vala: move source_reference to Expression
2461         * vala/valacastexpression.vala: move source_reference to Expression
2462         * vala/valaconditionalexpression.vala: move source_reference to
2463           Expression
2464         * vala/valaclass.vala: implement memory management methods
2465         * vala/valaexpression.vala: add source_reference, ref_leaked, and
2466           temp_vars
2467         * vala/valaforstatement.vala: visit end of full expression
2468         * vala/valaifstatement.vala: visit end of full expression
2469         * vala/valainitializerlist.vala: move source_reference to Expression
2470         * vala/valainvocationexpression.vala: move source_reference to
2471           Expression
2472         * vala/valaliteralexpression.vala: move source_reference to Expression
2473         * vala/valamemberaccess.vala: move source_reference to Expression
2474         * vala/valaobjectcreationexpression.vala: move source_reference to
2475           Expression
2476         * vala/valaparenthesizedexpression.vala: move source_reference to
2477           Expression
2478         * vala/valapostfixexpression.vala: move source_reference to Expression
2479         * vala/valasimplename.vala: move source_reference to Expression
2480         * vala/valastruct.vala: implement memory management methods
2481         * vala/valatype.vala: add abstract is_reference_counting,
2482           get_ref_function, and get_free_function methods
2483         * vala/valatypecheck.vala: move source_reference to Expression
2484         * vala/valaunaryexpression.vala: move source_reference to Expression
2485         * vala/valawhilestatement.vala: visit end of full expression
2486         * vala/Makefile.am: update
2487         * ccode/valaccodecommaexpression.vala
2488         * ccode/Makefile.am: update
2489         * compiler/valacompiler.vala: add enable-memory-management option
2490         * vapi/glib-2.0.vala: minor GType enhancements
2492 2006-06-07  Jürg Billeter  <j@bitron.ch>
2494         * vala/valacodegenerator.vala: fix cname of constants, casts of self
2496 2006-06-07  Jürg Billeter  <j@bitron.ch>
2498         * vala/valasemanticanalyzer.vala: add missing source dependencies
2499         * vala/valacodegenerator.vala: check parameter types at runtime
2501 2006-06-07  Jürg Billeter  <j@bitron.ch>
2503         * vala/scanner.l: support REAL_LITERAL, TILDE, SIGNAL
2504         * vala/parser.y: support flags, signals, constructors, destructors, real
2505           literals, assignment operators, and non-null types
2506         * vala/valacodevisitor.vala: add visit methods for signals,
2507           constructors, destructors, and real literals
2508         * vala/valasymbolbuilder.vala: support signals, constructors,
2509           destructors
2510         * vala/valasemanticanalyzer.vala: support constructors, real literals,
2511           and default arguments, fix lookup in namespaces of using directives
2512         * vala/valacodegenerator.vala: use default arguments and type register
2513           function classes, support constructors, interfaces, real literals,
2514           default arguments, casts, and signals, cast method arguments if
2515           necessary
2516         * vala/valasourcefile.vala: use default arguments
2517         * vala/valaassignment.vala: add operator
2518         * vala/valacallback.vala: skeleton for callbacks
2519         * vala/valaclass.vala: add signals, constructor, and destructor
2520         * vala/valaclassregisterfunction.vala: get_type function for classes
2521         * vala/valaconstant.vala: use default arguments
2522         * vala/valaconstructor.vala
2523         * vala/valadestructor.vala
2524         * vala/valaenum.vala: use default arguments
2525         * vala/valaflags.vala
2526         * vala/valaflagsvalue.vala: 
2527         * vala/valaformalparameter.vala: add default_expression
2528         * vala/valainstancecast.vala: dynamic instance cast
2529         * vala/valainterface.vala: add signals
2530         * vala/valainterfaceregisterfunction.vala: get_type function for
2531           interfaces
2532         * vala/valanamespace.vala: add flags, use default arguments
2533         * vala/valaproperty.vala: use default arguments
2534         * vala/valarealliteral.vala: 
2535         * vala/valasignal.vala
2536         * vala/valastruct.vala: use default arguments
2537         * vala/valastringliteral.vala: use default arguments
2538         * vala/valatypereference.vala: add is_weak property
2539         * vala/valatyperegisterfunction.vala
2540         * vala/vala.h: update
2541         * vala/Makefile.am: update
2542         * ccode/valaccodeblock.vala: add prepend_statement method
2543         * ccode/valaccodewriter.vala: correctly indent multi-line comments
2544         * vapi/glib-2.0.vala: add float and double, use default arguments,
2545           temporarily remove astring
2547 2006-05-31  Jürg Billeter  <j@bitron.ch>
2549         * vala/parser.y: support interfaces, adapt to Class/Struct/Type changes,
2550           improve error handling
2551         * vala/valacodevisitor.vala: support interfaces
2552         * vala/valasymbolbuilder.vala: improve error handling
2553         * vala/valasymbolresolver.vala: use operators to compare strings
2554         * vala/valasemanticanalyzer.vala: improve error handling, convert method
2555           argument and type mismatch warnings to errors, add skeleton for
2556           expressoin type checks, support string comparison operators
2557         * vala/valacodegenerator.vala: fix warning, create structs for
2558           interfaces, adapt to Class/Struct/Type changes, refactor and fix code
2559           in visit_simple_name and visit_member_access, use operators to compare
2560           strings
2561         * vala/valainterfacewriter.vala: use operators to compare strings
2562         * vala/valasourcefile.vala: fix warnings
2563         * vala/valaclass.vala: don't inherit from Struct
2564         * vala/valacodenode.vala: add error flag
2565         * vala/valaconstant.vala: add get_cname method
2566         * vala/valaenum.vala: override get_upper_case_cname method
2567         * vala/valaenumvalue.vala: adapt to Class/Struct/Type changes
2568         * vala/valafield.vala: use operators to compare strings
2569         * vala/valainterface.vala
2570         * vala/valainvocationexpression.vala: add add_argument method
2571         * vala/valamethod.vala: adapt to Class/Struct/Type changes, use
2572           operators to compare strings
2573         * vala/valanamespace.vala: support interfaces, use operators to compare
2574           strings
2575         * vala/valastringliteral.vala: fix warning
2576         * vala/valastruct.vala: inline visit_children method, use operators to
2577           compare strings
2578         * vala/valatype.vala: add abstract get_lower_case_cname method
2579         * vala/valatypereference.vala: add to_string method
2580         * vala/vala.h: update
2581         * vala/Makefile.am: update
2582         * vapi/glib-2.0.vala: small fixes
2584 2006-05-26  Jürg Billeter  <j@bitron.ch>
2586         * vala/valasemanticanalyzer.vala: fix member access to namespaces
2587         * vala/valacodegenerator.vala: adapt to CCodeWriter changes
2588         * ccode/valaccodewriter.vala: don't touch file if nothing has changed,
2589           required to get incremental builds working
2590         * vapi/glib-2.0.vala: extend file functions
2591         
2592         * ccode/Makefile.am,vala/Makefile.am,compiler/Makefile.am: support
2593           incremental builds
2595 2006-05-25  Jürg Billeter  <j@bitron.ch>
2597         * vala/scanner.l: support ELLIPSIS, use g_strdup instead of strdup
2598         * vala/parser.y: support variable argument lists, type access modifiers
2599         * vala/valareport.vala: class to handle error reporting
2600         * vala/valasymbolbuilder.vala: switch to new error reporting scheme
2601         * vala/valasymbolresolver.vala: switch to new error reporting scheme
2602         * vala/valasemanticanalyzer.vala: process Constant and EnumValue symbol
2603           dependencies, check method argument types, find types of unary and
2604           binary expressions, remove dummy field, switch to new error reporting
2605           scheme
2606         * vala/valacodegenerator.vala: support calling functions with variable
2607           argument lists, support break and continue statements, remove dummy fields,
2608           switch to new error reporting scheme
2609         * vala/valainterfacewriter.vala: visitor to write public vala api in one
2610           file
2611         * vala/valasourcefile.vala: support field and property symbol
2612           dependencies, remove dummy field
2613         * vala/valaclass.vala: add is_abstract field
2614         * vala/valaenumvalue.vala: remove dummy field
2615         * vala/valaformalparameter.vala: add ellipsis property
2616         * vala/valamemberaccessibility.vala: add INTERNAL
2617         * vala/valamethod.vala: make parameters public, remove dummy field
2618         * vala/valaproperty.vala: remove dummy field
2619         * vala/valasymbol.vala: add name field and get_full_name method
2620         * vala/valatype.vala: add access field
2621         * vala/valatypereference.vala: switch to new error reporting scheme
2622         * ccode/valaccodeblock.vala: improve formatting
2623         * ccode/valaccodeifstatement.vala: improve formatting
2624         * ccode/valaccodewriter.vala: improve formatting
2625         * compiler/valacompiler.vala: add error handling, support multiple vapi
2626           directories, add --library option to generate public vala api
2627         * vapi/glib-2.0.vala: moved from bindings, add static GLib.stdout field,
2628           correctly mark functions with variable argument lists, add File.test
2629           method
2631         * configure.ac,Makefile.am,ccode/Makefile.am,vala/Makefile.am,
2632           vapi/Makefile.am,compiler/Makefile.am: add build system
2633         
2634         * remove valac subdirectory: Bootstrap compiler is now obsolete.
2635         
2636 2006-05-24  Jürg Billeter  <j@bitron.ch>
2637         
2638         Compiler is now self-hosting.
2640         * vala/parser.y: support type checks, field attributes, and virtual and
2641           override method modifiers
2642         * vala/valacodevisitor.vala: support type checks
2643         * vala/valasymbolbuilder.vala: correct generated property accessors
2644         * vala/valaattributeprocessor.vala: process field attributes
2645         * vala/valasemanticanalyzer.vala: support virtual methods and type
2646           checks
2647         * vala/valacodegenerator.vala: support properties, private fields,
2648           static fields, virtual methods, field initializers, while statements,
2649           foreach statements, instance last methods, postfix expressions, type
2650           checks
2651         * vala/valaclass.vala: correct source reference, add get_properties
2652           method
2653         * vala/valafield.vala: visit initializer, support cname attribute
2654         * vala/valamethod.vala: support ReturnsModifiedPointer and InstanceLast
2655           attributes, add is_virtual, is_override, and base_method fields, add
2656           get_real_cname method
2657         * vala/valaproperty.vala: add get_upper_case_cname method
2658         * vala/valastruct.vala: add has_private_fields attribute, add
2659           get_methods method
2660         * vala/valatypecheck.vala
2661         * vala/vala.h: update
2662         * ccode/valaccodebreakstatement.vala
2663         * ccode/valaccodecasestatement.vala
2664         * ccode/valaccodecontinuestatement.vala
2665         * ccode/valaccodedeclaration.vala: renamed from
2666           CCodeDeclarationStatement, support function declarators
2667         * ccode/valaccodedeclarator.vala: abstract base class for variable and
2668           function declarators
2669         * ccode/valaccodefunctiondeclarator.vala: 
2670         * ccode/valaccodestruct.vala: support function declarations by adding
2671           add_declaration method
2672         * ccode/valaccodeswitchstatement.vala
2673         * ccode/valaccodeunaryexpression.vala: add postfix increment and
2674           decrement operators
2675         * ccode/valaccodevariabledeclarator.vala: inherit from CCodeDeclarator
2676         * ccode/valaccodewhilestatement.vala
2678 2006-05-23  Jürg Billeter  <j@bitron.ch>
2680         * vala/valacodevisitor.vala: support initializer lists
2681         * vala/valacodegenerator.vala: support constant arrays and initializer
2682           lists
2683         * vala/valaconstant.vala: visit initializer
2684         * vala/valainitializerlist.vala: add accept method
2685         * vala/valastruct.vala: visit constants later than fields due to
2686           constant initialization
2687         * vala/valatypereference.vala: add get_const_cname method
2688         * ccode/valaccodeinitializerlist.vala
2690 2006-05-22  Jürg Billeter  <j@bitron.ch>
2692         * vala/parser.y: support abstract methods and static fields
2693         * vala/valasourcefile.vala: support parameter symbol dependencies
2694         * vala/valasymbolbuilder.vala: insert default body for get accessors
2695         * vala/valasemanticanalyzer.vala: add property type dependency
2696         * vala/valacodegenerator.vala: add constants, private static fields,
2697           main function, property accessors, this, casting for member access
2698         * vala/valablock.vala: add add_statement method
2699         * vala/valafield.vala: add instance field
2700         * vala/valamethod.vala: add is_abstract field
2701         * valac/generator.c: mark generated properties as writable
2703 2006-05-22  Jürg Billeter  <j@bitron.ch>
2705         * vala/valacodegenerator.c: add class instance private struct, type
2706           register function, class init function, instance init function;
2707           support access to private members
2708         * ccode/valaccodedeclarationstatement.vala: support static modifier
2710 2006-05-21  Jürg Billeter  <j@bitron.ch>
2712         * vala/scanner.l: support file comments, BREAK, CONTINUE
2713         * vala/parser.y: support break and continue, add more comments
2714         * vala/valacodecontext.vala: find cyclic header dependencies
2715         * vala/valasourcefile.vala: add get_namespaces method, add dependency
2716           information, add add_symbol_dependency method, add
2717           SourceFileDependencyType enum
2718         * vala/valasourcefilecycle.vala
2719         * vala/valacodevisitor.vala: support break and continue statements
2720         * vala/valaparser.vala: support file comments
2721         * vala/valasemanticanalyzer.vala: record dependency information
2722         * vala/valacodegenerator.vala: add include directives, type forward
2723           declarations, once section, enum values, method return types, and more
2724           comments
2725         * vala/valablock.vala, vala/valadeclarationstatement.vala,
2726           vala/valaemptystatement.vala, vala/valaexpressionstatement.vala,
2727           vala/valaforeachstatement.vala, vala/valaforstatement.vala,
2728           vala/valaifstatement.vala, vala/valareturnstatement.vala,
2729           vala/valastatement.vala, vala/valawhilestatement.vala: move
2730           source_reference property to Statement class
2731         * vala/valaclass.vala, vala/valaenum.vala, vala/valastruct.vala,
2732           vala/valatype.vala: move name, source_reference, namespace, and
2733           get_cheader_filenames to Type class
2734         * vala/valabreakstatement.vala
2735         * vala/valacontinuestatement.vala
2736         * vala/valaenum.vala: fix cname, add get_upper_case_cname method
2737         * vala/valaenumvalue.vala: add get_cname method
2738         * vala/valafield.vala: add access field
2739         * vala/valanamespace.vala: add get_structs, get_classes, and
2740           get_cheader_filenames methods, support cheader_filename attribute
2741         * vala/valastruct.vala: support cheader_filename attribute
2742         * vala/valatypereference.vala: support void cname
2743         * vala/vala.h: update
2744         * ccode/valaccodeblock.vala: support comments before statements
2745         * ccode/valaccodeenum.vala: optionally use typedef
2746         * ccode/valaccodefunction.vala: add copy method
2747         * ccode/valaccodenewline.vala
2748         * ccode/valaccodeoncesection.vala
2749         * ccode/valaccodewriter.vala: use whole line for comments
2750         * bindings/glib-2.0.vala: add cheader_filename attributes, extend string
2751           types
2752         * valac/generator.c: fix private field access, include string.h
2754 2006-05-19  Jürg Billeter  <j@bitron.ch>
2756         * vala/valacodegenerator.vala: include header file in corresponding
2757           source file, generate class macros and typedefs
2758         * ccode/valaccodeincludedirective.vala
2759         * ccode/valaccodemacroreplacement.vala: c macro definition
2760         * ccode/valaccodetypedefinition.vala: c typedef
2761         * bindings/glib-2.0.vala: correct comment
2763 2006-05-18  Jürg Billeter  <j@bitron.ch>
2765         * vala/valacodecontext.vala: add get_source_files method
2766         * vala/valasourcefile.vala: add pkg flag
2767         * vala/valasymbolresolver.vala: use GLib.Object as default base class
2768         * vala/valacodegenerator.vala: ignore package bindings, fix names of
2769           class structs
2770         * bindings/glib-2.0.vala: renamed from GLib.vala, add g_build_filename
2771         * compiler/valacompiler.vala: add pkg and pkgdir options
2773 2006-05-18  Jürg Billeter  <j@bitron.ch>
2775         * vala/valacodegenerator.vala: add method parameters, public instance
2776           field access, invocation arguments
2777         * vala/valamethod.vala: add get_parameters method
2778         * ccode/valaccodeformalparameter.vala
2779         * ccode/valaccodefunction.vala: use CCodeFormalParameter
2780         * ccode/valaccodememberaccess.vala
2781         * valac/scanner.l: support ASSIGN_BITWISE_OR, BITWISE_OR
2782         * valac/parser.y: support bitwise or
2783         * valac/context.h: support bitwise or
2784         * valac/generator.c: support bitwise or
2786 2006-05-18  Jürg Billeter  <j@bitron.ch>
2788         * vala/parser.y: support member and access modifiers, static methods
2789         * vala/valaattributeprocessor.vala: process method attributes
2790         * vala/valaclass.vala: don't set parent_type member of children
2791         * vala/valaconstant.vala: remove unnecessary parent_type member
2792         * vala/valafield.vala: remove unnecessary parent_type member
2793         * vala/valamethod.vala: support cname attribute
2794         * vala/valanamespace.vala: add methods
2795         * vala/valaproperty.vala: remove unnecessary parent_type member
2796         * vala/valastruct.vala: don't set parent_type member of children
2798 2006-05-18  Jürg Billeter  <j@bitron.ch>
2800         * vala/parser.y: adapt to BinaryOperator enum changes
2801         * vala/valacodegenerator.vala: add operators to unary and binary
2802           expressions
2803         * vala/valabinaryexpression.vala: correct enum value names
2804         * ccode/valaccodebinaryexpression.vala: add operator
2805         * ccode/valaccodeunaryexpression.vala
2807 2006-05-18  Jürg Billeter  <j@bitron.ch>
2809         * vala/parser.y: support namespace attributes
2810         * vala/valaattributeprocessor.vala: process namespace and class
2811           attributes
2812         * vala/valacodegenerator.vala: use correct symbol names
2813         * vala/valamethod.vala: add cname
2814         * vala/valanamespace.vala: add cprefix, support cprefix attribute
2815         * vala/valastruct.vala: prefix cname with namespace cprefix
2816         * bindings/GLib.vala: add tolower to unichar
2817         * valac/parser.y: rename namespace attribute cname to lower_case_cprefix
2819 2006-05-18  Jürg Billeter  <j@bitron.ch>
2821         * update reference and property annotations
2822         * switch string struct to utf-8
2823         * valac/context.c: set source file in root namespace
2824         * valac/generator.c: don't include bindings stub header
2826 2006-05-17  Jürg Billeter  <j@bitron.ch>
2828         * vala/valanamespace.vala: implement camel_case_to_lower_case method
2829         * bindings/GLib.vala: extend string types
2830         * valac/generator.c: support access to struct fields
2832 2006-05-17  Jürg Billeter  <j@bitron.ch>
2834         * vala/parser.y: support variable declarators, subtyping, constants,
2835           properties, and enums
2836         * vala/valacodevisitor.vala: support formal parameters, property
2837           accessors, named arguments, and parenthesized expressions
2838         * vala/valasymbolbuilder.vala: visit enum values, constants, formal
2839           parameters, properties, and blocks
2840         * vala/valasymbolresolver.vala: save base class, accept void type,
2841           support type references with namespace name
2842         * vala/valasemanticanalyzer.vala: visitor to find static types of
2843           expressions
2844         * vala/valacodegenerator.vala: support parenthesized expressions
2845         * vala/valablock.vala: add begin and end visit events
2846         * vala/valaclass.vala: support base types and properties
2847         * vala/valaenum.vala: add values
2848         * vala/valaenumvalue.vala
2849         * vala/valaexpression.vala: add generic symbol reference
2850         * vala/valaforeachstatement.vala: add begin and end visit events
2851         * vala/valaformalparameter.vala: add visit event
2852         * vala/valaliteral.vala: mark class as abstract
2853         * vala/valamethod.vala: add return_type
2854         * vala/valanamedargument.vala: add accept method
2855         * vala/valanamespace.vala: visit fields
2856         * vala/valaobjectcreationexpression.vala: visit arguments
2857         * vala/valaparenthesizedexpression.vala: add visit event
2858         * vala/valaproperty.vala: add accessors
2859         * vala/valapropertyaccessor.vala
2860         * vala/valasimplename.vala: code style update
2861         * vala/valastruct.vala: add constants
2862         * vala/valavariabledeclarator.vala: add type reference
2863         * vala/vala.h: update
2864         * compiler/valacompiler.vala: invoke SemanticAnalyzer
2865         * ccode/valaccodefragment.vala: code style update
2866         * ccode/valaccodeparenthesizedexpression.vala: 
2867         * valac/parser.y: support replacement of readonly fields
2868         * valac/context.c: resolve types in operation expressions
2870 2006-05-16  Jürg Billeter  <j@bitron.ch>
2872         * vala/scanner.l: fix multi-line comments
2873         * vala/valacodegenerator.vala: basic statement and expression handling
2874         * vala/valacodevisitor.vala: support variable declaration
2875         * vala/valasymbolbuilder.vala: adapt to visitor changes
2876         * vala/valaclass.vala: remove members already available in Struct
2877         * vala/valacodenode.vala: add ccodenode field
2878         * vala/valadeclarationstatement.vala: visit declaration
2879         * vala/valaexpressionstatement.vala: visit code containers after child
2880           elements
2881         * vala/valalocalvariabledeclaration.vala: add accept method
2882         * vala/valamethod.vala: add begin and end visit events
2883         * vala/valanamespace.vala: add lower_case_cprefix
2884         * vala/valastruct.vala: define get_upper_case_cname method
2885         * vala/valatype.vala: declare get_upper_case_cname method
2886         * vala/valatypereference.vala: add get_upper_case_cname method
2887         * vala/valavariabledeclarator.vala: add accept method
2888         * ccode/valaccodewriter.vala: formatting fixes
2889         * ccode/valaccodeassignment.vala
2890         * ccode/valaccodebinaryexpression.vala
2891         * ccode/valaccodeblock.vala: use CCodeStatement
2892         * ccode/valaccodeconstant.vala
2893         * ccode/valaccodedeclarationstatement.vala
2894         * ccode/valaccodeemptystatement.vala
2895         * ccode/valaccodeexpression.vala
2896         * ccode/valaccodeexpressionstatement.vala
2897         * ccode/valaccodeforstatement.vala
2898         * ccode/valaccodefunction.vala: formatting fixes
2899         * ccode/valaccodefunctioncall.vala
2900         * ccode/valaccodeidentifier.vala
2901         * ccode/valaccodeifstatement.vala
2902         * ccode/valaccodereturnstatement.vala
2903         * ccode/valaccodestatement.vala
2904         * ccode/valaccodestruct.vala: formatting fixes
2905         * ccode/valaccodevariabledeclarator.vala
2906         * bindings/GLib.vala: extend string types
2907         * valac/context.c: resolve types in named argument list in object
2908           creation expression
2910 2006-05-16  Jürg Billeter  <j@bitron.ch>
2912         * vala/parser.y: fix unary expressions
2913         * vala/valacodegenerator.vala: add visit_block method
2914         * vala/valacodevisitor.vala: add visit methods for statements,
2915           expressions, and literals
2916         * vala/valaassignment.vala: add accept method
2917         * vala/valabinaryexpression.vala: add accept method
2918         * vala/valablock.vala: add accept method
2919         * vala/valabooleanliteral.vala: add accept method
2920         * vala/valacastexpression.vala: add accept method
2921         * vala/valacharacterliteral.vala: add accept method
2922         * vala/valaconditionalexpression.vala: add accept method
2923         * vala/valaconstant.vala: visit code containers after child elements
2924         * vala/valadeclarationstatement.vala: add accept method
2925         * vala/valaemptystatement.vala: add accept method
2926         * vala/valaexpressionstatement.vala: add accept method
2927         * vala/valafield.vala: visit code containers after child elements
2928         * vala/valaforeachstatement.vala: add accept method
2929         * vala/valaformalparameter.vala: add accept method
2930         * vala/valaforstatement.vala: add accept method
2931         * vala/valaifstatement.vala: add accept method
2932         * vala/valaintegerliteral.vala: add accept method
2933         * vala/valainvocationexpression.vala: add accept method
2934         * vala/valaliteralexpression.vala: add accept method
2935         * vala/valamemberaccess.vala: add accept method
2936         * vala/valamethod.vala: add accept method
2937         * vala/valanullliteral.vala: add accept method
2938         * vala/valaobjectcreationexpression.vala: add accept method
2939         * vala/valaparenthesizedexpression.vala: add accept method
2940         * vala/valapostfixexpression.vala: add accept method
2941         * vala/valareturnstatement.vala: add accept method
2942         * vala/valasimplename.vala: add accept method
2943         * vala/valastringliteral.vala: add accept method
2944         * vala/valaunaryexpression.vala: fix constructor, add accept method
2945         * vala/valawhilestatement.vala: add accept method
2946         * ccode/valaccodefunction.vala: renamed from CCodeMethod
2948 2006-05-16  Jürg Billeter  <j@bitron.ch>
2950         * vala/parser.y: support logical AND and OR expressions, conditional
2951           expressions, assignments, constants, method parameters, and properties
2952         * vala/valacodevisitor.vala: add constant and property visits
2953         * vala/valaassignment.vala
2954         * vala/valabinaryexpression.vala: add bitwise xor, AND, and OR
2955         * vala/valaconditionalexpression.vala
2956         * vala/valaconstant.vala
2957         * vala/valaformalparameter.vala
2958         * vala/valainitializerlist.vala
2959         * vala/valamemberaccess.vala: add source_reference
2960         * vala/valamethod.vala: add parameters
2961         * vala/valaproperty.vala
2962         * vala/vala.h: update
2964 2006-05-16  Jürg Billeter  <j@bitron.ch>
2966         * vala/parser.y: support member access, multiplicative, additive, shift,
2967           equality, relational, and bitwise expressions
2968         * vala/valabinaryexpression.vala
2969         * vala/valamemberaccess.vala: add constructor
2970         * vala/vala.h: update
2972 2006-05-15  Jürg Billeter  <j@bitron.ch>
2974         * vala/scanner.l: support assign operators
2975         * vala/parser.y: support assign operators and attributes
2976         * vala/valaattributeprocessor.vala: visitor to process compiler
2977           attributes
2978         * vala/valacodegenerator.vala: support structs, enums, and methods
2979         * vala/valacodenode.vala: support attributes
2980         * vala/valaattribute.vala
2981         * vala/valamemberaccessibility.vala
2982         * vala/valamethod.vala
2983         * vala/valastruct.vala: support CCode (cname) attribute
2984         * vala/vala.h: update
2985         * compiler/valacompiler.vala: invoke AttributeProcessor
2986         * ccode/valaccodeblock.vala
2987         * ccode/valaccodeenum.vala
2988         * ccode/valaccodemethod.vala
2989         * ccode/valaccodemodifiers.vala
2990         * bindings/GLib.vala: add string cmp method
2991         * valac/scanner.l: support BITWISE_AND
2992         * valac/parser.y: support bitwise and
2993         * valac/context.h: add bitwise and
2994         * valac/generator.c: support enum dependencies and bitwise and
2996 2006-05-14  Jürg Billeter  <j@bitron.ch>
2998         * vala/scanner.l: support OPEN_CAST_PARENS, IS, WHILE
2999         * vala/parser.y: support structs, enums, and fields, cast, postfix,
3000           while, ref types, and generic type parameters; fix comments
3001         * vala/valacodecontext.vala: add root symbol
3002         * vala/valasourcefile.vala: add using directives, c filenames
3003         * vala/valacodevisitor.vala: add begin and end visits for some container
3004           types, add struct, enum, field, type parameter, namespace reference,
3005           and type reference visits
3006         * vala/valaparser.vala: adapt to visitor changes
3007         * vala/valasymbolbiulder.vala: visitor to fill symbol table
3008         * vala/valasymbolresolver.vala: visitor to resolve symbol references
3009         * vala/valacodegenerator.vala: add beginning of code generation
3010         * vala/valacodenode.vala: add symbol reference
3011         * vala/valacastexpression.vala
3012         * vala/valaclass.vala: derive from struct
3013         * vala/valaenum.vala
3014         * vala/valaexpression.vala: add static_type, field_reference, and
3015           method_reference fields
3016         * vala/valafield.vala
3017         * vala/valamemberaccess.vala
3018         * vala/valanamespace.vala: add structs, enums, and fields
3019         * vala/valanamespacereference.vala
3020         * vala/valapostfixexpression.vala
3021         * vala/valasourcereference.vala: adapt to comment changes
3022         * vala/valastringliteral.vala: add eval method
3023         * vala/valastruct.vala
3024         * vala/valasymbol.vala
3025         * vala/valatype.vala
3026         * vala/valatypeparameter.vala: 
3027         * vala/valatypereference.vala: add type, type_parameter, is_ref, and
3028           is_out fields, add get_cname method
3029         * vala/valavariabledeclarator.vala: add name and initializer fields
3030         * vala/valawhilestatement.vala: 
3031         * vala/vala.h: update
3032         * compiler/valacompiler.vala: run SymbolBuilder and SymbolResolver
3033         * ccode/valaccodewriter.vala
3034         * ccode/valaccodecomment.vala
3035         * ccode/valaccodefragment.vala
3036         * ccode/valaccodenode.vala
3037         * ccode/valaccodestruct.vala
3038         * bindings/GLib.vala: add/extend ustring, Path, Object, File, HashTable
3039         * valac/scanner.l: support OPEN_CAST_PARENS, OP_AND, OP_OR, IS, WHILE
3040         * valac/parser.y: support cast, while, include_filename ccode attribute,
3041           AND and OR expressions, IS type checks, unary minus
3042         * valac/context.h: add while statements, cast and IS expressions, and
3043           AND and OR operators
3044         * valac/context.c: support cast, IS, while; fix if
3045         * valac/generator.c: support cast, IS, pointer arithmetic, namespace
3046           methods, imported include files
3047         * valac/driver.c: add symbol alias
3049 2006-05-07  Jürg Billeter  <j@bitron.ch>
3051         * vala/scanner.l: tokenizer for new vala compiler
3052         * vala/parser.y: parser vor new vala compiler
3053         * vala/valablock.vala
3054         * vala/valabooleanliteral.vala
3055         * vala/valacharacterliteral.vala
3056         * vala/valaclass.vala: add methods
3057         * vala/valadeclarationstatement.vala
3058         * vala/valaemptystatement.vala
3059         * vala/valaexpression.vala
3060         * vala/valaexpressionstatement.vala
3061         * vala/valaforeachstatement.vala
3062         * vala/valaforstatement.vala
3063         * vala/valaifstatement.vala
3064         * vala/valaintegerliteral.vala
3065         * vala/valainvocationexpression.vala
3066         * vala/valaliteral.vala
3067         * vala/valaliteralexpression.vala
3068         * vala/valalocalvariabledeclaration.vala
3069         * vala/valamethod.vala
3070         * vala/valanamedargument.vala
3071         * vala/valanullliteral.vala
3072         * vala/valaobjectcreationexpression.vala
3073         * vala/valaparenthesizedexpression.vala
3074         * vala/valareturnstatement.vala
3075         * vala/valasimplename.vala
3076         * vala/valastatement.vala
3077         * vala/valastringliteral.vala
3078         * vala/valatypereference.vala
3079         * vala/valaunaryexpression.vala
3080         * vala/valavariabledeclarator.vala
3081         * vala/valacodevisitor.vala: add visit_method skeleton
3082         * vala/valacodegenerator.vala: do.
3083         * vala/vala.h: include generated header files
3084         * valac/generator.c: support bool and enum properties, support enums
3086 2006-05-06  Jürg Billeter  <j@bitron.ch>
3088         * vala/valacodecontext.vala
3089         * vala/valasourcefile.vala
3090         * vala/valasourcereference.vala: filename, line, and comment container
3091         * vala/valacodenode.vala: abstract code node
3092         * vala/valanamespace.vala: namespace node
3093         * vala/valaclass.vala: class node
3094         * vala/valacodevisitor.vala: abstract syntax tree visitor
3095         * vala/valaparser.vala: vala parser
3096         * vala/valacodegenerator.vala: code generator skeleton
3097         * compiler/valacompiler.vala: compiler driver
3098         * bindings/GLib.vala: add bindings for GList and GOptionContext
3099         * valac/scanner.l: support multi-line comments, ABSTRACT, INTERFACE,
3100           READONLY
3101         * valac/parser.y: replace AT by HASH, support readonly fields
3102         * valac/context.h: small fixes
3103         * valac/context.c: small fixes
3104         * valac/generator.c: fix override methods, basic support for properties
3106 2006-05-03  Jürg Billeter  <j@bitron.ch>
3108         * valac/scanner.l: support OP_NEG, CONSTRUCT, FOREACH, IN
3109         * valac/parser.y: add foreach, construct properties; merge modifiers to
3110           resolve parser conflicts
3111         * valac/context.h: merge modifiers
3112         * valac/context.c: support namespace fields, resolve types in
3113           assignments, invocations, and if, for, and foreach statements
3114         * valac/generator.c: support negation operator, inherited fields in
3115           object variables, foreach statements for arrays and GList, fix
3116           circular dependencies
3118 2006-05-02  Raffaele Sandrini  <rasa@gmx.ch>
3120         * tests/test-008.vala: add tests for base fields
3121         * valac/generator.c: remove klass local variable, add support for
3122           base fields.
3124 2006-05-01  Jürg Billeter  <j@bitron.ch>
3126         * valac/scanner.l: support ENUM, FLAGS, STRUCT
3127         * valac/parser.y: add structs, generic types, enums, flags, attributes,
3128           ref and out parameters
3129         * valac/context.h: add ValaFlags, ValaFlagsValue, and ValaAnnotation
3130           structs
3131         * valac/context.c: support bool, uint, pointer, generic types
3132         * valac/generator.h: save pointer to current struct
3133         * valac/generator.c: support structs, ReturnsModifiedPointer, include
3134           files
3136 2006-04-30  Jürg Billeter  <j@bitron.ch>
3138         * valac/scanner.l: support AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF,
3139           THIS, VALA_TRUE, USING, VAR, LITERAL_CHARACTER
3140         * valac/parser.y: add character, boolean, and null literals, using
3141           directive, @ type qualifier, constants, ref and out variables,
3142           array element access, this access, struct and array initializer,
3143           var type
3144         * valac/context.h: add ValaEnum, ValaConstant, and ValaEnumValue structs
3145         * valac/context.c: support constants, struct members, enums, var type,
3146           using directives
3147         * valac/generator.h: save pointer to current class
3148         * valac/generator.c: support constants, boolean and null literals,
3149           array element access, using directives, this access, enums, private
3150           static fields, ref and out variables, struct and array initializer,
3151           boolean, character, and null literal, var type
3153 2006-04-27  Raffaele Sandrini  <rasa@gmx.ch>
3155         * tests/test-008.vala:
3156         * tests/test-009.vala: add
3157         * valac/parser.y:
3158         * valac/scanner.l:
3159         * valac/context.c:
3160         * valac/generator.c:
3161         * valac/context.h: add field and property support (property parse only
3162           yet)
3163         * AUTHORS: add myself
3165 2006-04-26  Jürg Billeter  <j@bitron.ch>
3167         * valac/scanner.l: support OVERRIDE, VIRTUAL
3168         * valac/parser.y: add virtual methods
3169         * valac/context.h: support virtual methods, improve init and class_init
3170         * valac/context.c: set symbol in ValaMethod struct
3171         * valac/generator.c: support virtual methods
3172         * tests/test-007.vala: test virtual method declaration and invocation
3174 2006-04-26  Jürg Billeter  <j@bitron.ch>
3176         * valac/scanner.l: support OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC,
3177           OP_EQ, OP_NE, OP_LE, OP_GE, OP_LT, OP_GT, MINUS, STAR, DIV, ELSE, FOR,
3178           IF
3179         * valac/parser.y: add array type references, equality expressions,
3180           relational expressions, multiplicative expressions, postfix
3181           operations, object creation, if conditionals, for loops
3182         * valac/context.h: add ValaNamedArgument struct, support if and for
3183           statements
3184         * valac/context.c: resolve types in object creation expressions of
3185           variable initializers
3186         * valac/generator.c: support array type references, init and class_init
3187           methods, more operations, object creation, for loops, if conditionals,
3188           call g_type_init in main
3189         * tests/test-006.vala: test instance method invocation, object creation,
3190           for loop, if conditional, multiplicative expression
3192 2006-04-25  Jürg Billeter  <j@bitron.ch>
3194         * valac/parser.y: save cname in class, save location of statements and
3195           expressions
3196         * valac/context.h: add ValaStruct struct
3197         * valac/context.c: support symbols from methods and structs, add int
3198           and string fundamental types, resolve types in local variable
3199           declarations
3200         * valac/generator.h: save pointer to current method block
3201         * valac/generator.c: add special handling for main method, basic support
3202           for method invocations, literals, member access, simple names,
3203           additive expressions, return statments, blocks
3204         * tests/test-005.vala: test static method invocation, literal integer,
3205           simple name, additive expression, return statement, block, main method
3207 2006-04-24  Jürg Billeter  <j@bitron.ch>
3209         * valac/scanner.l: support single-line comments, ASSIGN, PLUS, RETURN,
3210           LITERAL_INTEGER, LITERAL_STRING
3211         * valac/parser.y: add basic statements and expressions
3212         * valac/context.h: add ValaStatement, ValaVariableDeclaration,
3213           ValaVariableDeclarator, and ValaExpression structs
3214         * valac/context.c: remove unreachable line
3216 2006-04-24  Jürg Billeter  <j@bitron.ch>
3218         * valac/scanner.l: set token location, support OPEN_PARENS,
3219           CLOSE_PARENS, SEMICOLON, PUBLIC, STATIC
3220         * valac/parser.y: save symbol location, output exact error location,
3221           support method declarations
3222         * valac/context.h: add ValaLocation, ValaMethod, and ValaFormalParameter
3223           structs, add location to ValaClass and ValaTypeReference structs
3224         * valac/context.c: output error location, support method declarations
3225         * valac/generator.c: support method declarations
3226         * valac/driver.c: add comment
3227         * tests/test-004.vala: test method declaration
3229 2006-04-22  Jürg Billeter  <j@bitron.ch>
3231         * valac/scanner.l: support DOT, COLON, and COMMA
3232         * valac/parser.y: save lower and upper case cnames in namespace and
3233           class objects, support base classes
3234         * valac/context.h: add ValaSymbol and ValaTypeReference structs, add
3235           cnames to ValaNamespace and ValaClass structs
3236         * valac/context.c: add symbol handling, type resolving, set cnames in
3237           root namespace
3238         * valac/generator.c: remove cname generation, support base classes
3239         * valac/driver.c: add symbols and resolve types
3240         * tests/test-003.vala: test base class