support # modifier to transfer ownership in method parameters
[vala-lang.git] / ChangeLog
blobf6ca8f9ddc1f42e378153b4e3dab94166e20c81b
1 2007-07-09  Jürg Billeter  <j@bitron.ch>
3         * vala/parser.y: support # modifier to transfer ownership in method
4           parameters
6 2007-07-05  Jürg Billeter  <j@bitron.ch>
8         * vapi/glib-2.0.vala: fix TimeVal binding
9         * vapi/dbus-glib-1.vala, vapi/hal.deps, vapi/hal.vala: add experimental
10           VAPI for HAL
11         * vapi/Makefile.am: update
13 2007-07-04  Jürg Billeter  <j@bitron.ch>
15         * vapi/glib-2.0.vala: update to new GRegex API
17 2007-07-03  Jürg Billeter  <j@bitron.ch>
19         * vala/valainterfacewriter.vala: write cprefix and lower_case_cprefix
20           of namespaces and write cheader_filename of interfaces
21         * vala/valanamespace.vala: make set_cprefix and set_lower_case_cprefix
22           methods public
23         * ccode/valaccodewriter.vala, vala/valainterfacewriter.vala,
24           gobject/valaccodecompiler.vala, compiler/valacompiler.vala,
25           vapi/glib-2.0.vala, vapigen/valagidlparser.vala,
26           vapigen/valavapigen.vala: split GLib.File into GLib.FileStream and
27           GLib.FileUtils to not conflict with GVFS
28         * vala/valagidlparser.vala: improve support for GVFS
29         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
30           regenerated
31         * vapi/gio-standalone.vala, vapi/packages/gio-standalone/: add
32           experimental VAPI for GVFS
33         * vapi/Makefile.am: update
35 2007-07-01  Jürg Billeter  <j@bitron.ch>
37         * vapi/glib-2.0.vala: add more string utility functions and GDate
38           support, based on patch by Michael Lawrence, fixes bug 452015
40 2007-07-01  Jürg Billeter  <j@bitron.ch>
42         * vala/parser.y, vala/valasymbolbuilder.vala,
43           vala/valasymbolresolver.vala, vala/valaenum.vala: add basic support
44           for enum methods
46 2007-06-30  Jürg Billeter  <j@bitron.ch>
48         * vala/valasymbolbuilder.vala: fix current_symbol handling in
49           visit_property_accessor
50         * vapigen/valagidlparser.vala: add missing NoArrayLength attribute,
51           support hiding signals
52         * vapi/glib-2.0.vala: add GConnectFlags
53         * vapi/packages/pango/pango.gidl, vapi/pango.vala: updated to
54           Pango 1.17.3
55         * vapi/packages/gdk-2.0/gdk-2.0.gidl,
56           vapi/packages/gtk+-2.0/gtk+-2.0.gidl,
57           vapi/packages/gtk+-2.0/gtk+-2.0.metadata, vapi/gdk-2.0.vala,
58           vapi/gtk+-2.0.vala: updated to GTK+ 2.11.4, some small
59           GtkTreeModel/GtkTreeStore fixes
61 2007-06-15  Jürg Billeter  <j@bitron.ch>
63         * vala/valaattributeprocessor.vala, vala/valacodevisitor.vala,
64           vala/valainterfacewriter.vala, vala/valamemorymanager.vala,
65           vala/valasemanticanalyzer.vala, vala/valasymbolbuilder.vala,
66           vala/valasymbolresolver.vala, vala/valaconstant.vala,
67           vala/valaconstructor.vala, vala/valacreationmethod.vala,
68           vala/valadestructor.vala, vala/valafield.vala,
69           vala/valaformalparameter.vala, vala/valamethod.vala,
70           vala/valaproperty.vala, vala/valapropertyaccessor.vala,
71           vala/valasignal.vala, gobject/valacodegenerator.vala,
72           gobject/valacodegeneratormethod.vala,
73           gobject/valacodegeneratorsignal.vala: move iteration of symbol nodes
74           from accept to accept_children method
76 2007-06-15  Jürg Billeter  <j@bitron.ch>
78         * vala/valaattributeprocessor.vala, vala/valacodevisitor.vala,
79           vala/valainterfacewriter.vala, vala/valamemorymanager.vala,
80           vala/valaparser.vala, vala/valasemanticanalyzer.vala,
81           vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
82           vala/valacallback.vala, vala/valaclass.vala, vala/valaenum.vala,
83           vala/valaflags.vala, vala/valainterface.vala, vala/valastruct.vala,
84           gobject/valacodegenerator.class, gobject/valacodegeneratorclass.vala,
85           gobject/valacodegeneratorinterface.vala,
86           gobject/valacodegeneratorstruct.vala: move iteration of data types
87           from accept to accept_children method
89 2007-06-15  Jürg Billeter  <j@bitron.ch>
91         * vala/valaattributeprocessor.vala, vala/valacodevisitor.vala,
92           vala/valainterfacewriter.vala, vala/valamemorymanager.vala,
93           vala/valaparser.vala, vala/valasemanticanalyzer.vala,
94           vala/valasourcefile.vala, vala/valasymbolbuilder.vala,
95           vala/valasymbolresolver.vala, vala/valacodenode.vala,
96           vala/valanamespace.vala, gobject/valacodegenerator.vala,
97           gobject/valacodegeneratorsourcefile.vala, vapigen/valagidlparser.vala:
98           move iteration of source files and namespaces from accept to
99           accept_children method
101 2007-06-15  Jürg Billeter  <j@bitron.ch>
103         * vala/valacodecontext.vala, gobject/valaccodecompiler.vala,
104           compiler/valacompiler.vala: enhance commandline interface, add support
105           for invoking c compiler
106         * gobject/Makefile.am: update
107         * vapi/glib-2.0.vala: add shell-related utilities
109 2007-06-05  Jürg Billeter  <j@bitron.ch>
111         * gobject/valacodegeneratorassignment.vala: correct invocation of setter
112           method of inherited properties, fixes bug 443527
113         * gobject/valacodegeneratormemberaccess.vala: remove outdated comment
115 2007-06-05  Jürg Billeter  <j@bitron.ch>
117         * vala/valainvocationexpression.vala: support storing sizes of array
118           dimensions for methods returning arrays
119         * gobject/valacodegenerator.vala,
120           gobject/valacodegeneratorinvocationexpression.vala: add length
121           argument for methods returning arrays
122         * vapi/glib-2.0.vala: add missing NoArrayLength attributes
124         Fixes bug 434929
126 2007-06-05  Jürg Billeter  <j@bitron.ch>
128         * gobject/valacodegenerator.vala: allow value-type arrays of unknown
129           length, assert at runtime when trying to iterate over such arrays
131 2007-05-31  Jürg Billeter  <j@bitron.ch>
133         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
134           vala/valacodevisitor.vala, vala/valasizeofexpression.vala,
135           gobject/valacodegenerator.vala: support sizeof expression
136         * vala/vala.h, vala/Makefile.am: update
137         * vapi/glib-2.0.vala: add struct_size param to GLib.Source construction
138           method
140 2007-05-14  Jürg Billeter  <j@bitron.ch>
142         * vala/valasemanticanalyzer.vala: improve argument checks of invocation
143           expression, fixes bug 435854
145 2007-05-10  Jürg Billeter  <j@bitron.ch>
147         * ccode/valaccodeblock.vala, ccode/valaccodedeclaration.vala,
148           ccode/valaccodedeclarator.vala, ccode/valaccodefragment.vala,
149           ccode/valaccodefunctiondeclarator.vala, ccode/valaccodenode.vala,
150           ccode/valaccodeoncesection.vala, ccode/valaccodestruct.vala,
151           ccode/valaccodetypedefinition.vala,
152           ccode/valaccodevariabledeclarator.vala: separate declaration output
153         * vala/parser.y: remove comma at end of enum
154         * vala/valaclass.vala, vala/valastruct.vala: remove unused methods
155         * vala/Makefile.am: update
156         * gobject/valacodegeneratorsourcefile.vala: support declaration
157           separation in C code
158         * gobject/valaclassregisterfunction.vala,
159           gobject/valainterfaceregisterfunction.vala,
160           gobject/valatyperegisterfunction.vala: move from vala directory,
161           move interface info declarations to the beginning of the block
162         * gobject/Makefile.am: update
164 2007-05-09  Jürg Billeter  <j@bitron.ch>
166         * ccode/valaccodeenum.vala: remove comma at end of generated enumerator
167           list, fixes gcc warning
169 2007-05-09  Jürg Billeter  <j@bitron.ch>
171         * gobject/valacodegeneratorclass.vala: generate get_property and
172           set_property methods only when necessary, fixes bug 435848
174 2007-05-09  Jürg Billeter  <j@bitron.ch>
176         * vala/parser.y: add basic checks for method modifiers, fixes bug 435853
177         * vala/vala.h: include valaflagsvalue.h
179 2007-05-09  Jürg Billeter  <j@bitron.ch>
181         * vala/valanamespace.vala: iterate correctly over string in
182           camel_case_to_lower_case method, fixes bug 436760
184 2007-05-09  Jürg Billeter  <j@bitron.ch>
186         * vala/valanamespace.vala: don't add default include directives for
187           VAPI files, fixes bug 436761
189 2007-05-07  Jürg Billeter  <j@bitron.ch>
191         * vapi/glib-2.0.vala: correct strstr cname, patch by Zsombor
192         * vapi/gtk+-2.0.vala: add ellipsis to Gtk.ListStore.set() and
193           Gtk.TreeStore.set()
194         * vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala: update to GTK+ 2.10.12
196 2007-05-07  Jürg Billeter  <j@bitron.ch>
198         * gobject/valacodegenerator.vala,
199           gobject/valacodegeneratormemberaccess.vala: ensure that local
200           variables don't use keywords in the C code
202 2007-05-07  Jürg Billeter  <j@bitron.ch>
204         * vala/parser.y: declare variables at the beginning of blocks as
205           required for C89
206         * gobject/valacodegeneratorclass.vala: avoid empty private struct
207           declaration
208         * vapi/glib-2.0.vala: use g_ascii_strtoll instead of strtoll
210         Patch by Hans Breuer
212 2007-05-03  Jürg Billeter  <j@bitron.ch>
214         * gobject/valacodegenerator.vala,
215           gobject/valacodegeneratorassignment.vala,
216           gobject/valacodegeneratorclass.vala,
217           gobject/valacodegeneratorinterface.vala,
218           gobject/valacodegeneratorinvocationexpression.vala
219           gobject/valacodegeneratormemberaccess.vala,
220           gobject/valacodegeneratormethod.vala,
221           gobject/valacodegeneratorsignal.vala,
222           gobject/valacodegeneratorsourcefile.vala, 
223           gobject/valacodegeneratorstruct.vala: split code generator
224         * gobject/Makefile.am, vapigen/Makefile.am: update
226 2007-05-03  Jürg Billeter  <j@bitron.ch>
228         * gobject/valacodegenerator.vala: move code generator to new gobject
229           directory
230         * configure.ac, Makefile.am, vala/Makefile.am, gobject/Makefile.am,
231           compiler/Makefile.am, vapi/Makefile.am: update
233 2007-05-03  Jürg Billeter  <j@bitron.ch>
235         * vapi/glib-2.0.vala: GSList fixes and GIConv, patch by Michael Lawrence
237 2007-05-02  Jürg Billeter  <j@bitron.ch>
239         * vapigen/gidlgen/gidlgen.in: use configured libdir, remove bashism,
240           based on patch by Mathias Hasselmann
241         * vapigen/gidlgen/Makefile.am: update
243 2007-05-02  Jürg Billeter  <j@bitron.ch>
245         * gobject-introspection, vapigen, vapi/packages: move from vapigen
246         * configure.ac, Makefile.am: update
248 2007-04-30  Jürg Billeter  <j@bitron.ch>
250         * configure.ac: Post-release version bump
252 2007-04-30  Jürg Billeter  <j@bitron.ch>
254         * NEWS: update for 0.0.9 release
256 2007-04-30  Jürg Billeter  <j@bitron.ch>
258         * vala/parser.y, vala/valasymbolbuilder.vala, vala/valaclass.vala,
259           vala/valanamespace.vala: add experimental support for class
260           declarations in multiple source files
262 2007-04-30  Jürg Billeter  <j@bitron.ch>
264         * vala/valasemanticanalyzer.vala: check whether specified collection is
265           iterable in foreach statements, fixes bug 434514
267 2007-04-30  Jürg Billeter  <j@bitron.ch>
269         * vala/valasemanticanalyzer.vala: allow any integer type as index in an
270           element access expression, fixes bug 434506
272 2007-04-30  Jürg Billeter  <j@bitron.ch>
274         * vala/parser.y, vala/valasymbolbuilder.vala,
275           vala/valaattributeprocessor.vala, vala/valasemanticanalyzer.vala,
276           vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
277           vala/valaflags.vala: add basic support for flags, fixes bug 434511
279 2007-04-30  Jürg Billeter  <j@bitron.ch>
281         * vala/valasemanticanalyzer.vala: check that void return values are not
282           used, fixes bug 434503
284 2007-04-30  Jürg Billeter  <j@bitron.ch>
286         * vala/valasemanticanalyzer.vala: fix type check in relational
287           operations, fixes bug 434507
289 2007-04-30  Jürg Billeter  <j@bitron.ch>
291         * vala/valacodegenerator.vala: add pointer to integer conversion in
292           foreach statements, fixes bug 433288
294 2007-04-24  Jürg Billeter  <j@bitron.ch>
296         * vapi/glib-2.0.vala: add g_bit_nth_lsf, g_bit_nth_msf, and
297           g_bit_storage
299 2007-04-24  Jürg Billeter  <j@bitron.ch>
301         * vala/valacallback.vala: add possibility to override default cname
302         * vala/valaattributeprocessor.vala: process callback attributes
303         * vala/valainterfacewriter.vala: cleanup code to write identifiers
305 2007-04-18  Jürg Billeter  <j@bitron.ch>
307         * vala/valacodegenerator.vala: use const types where appropriate,
308           fixes bug 428393
310 2007-04-18  Jürg Billeter  <j@bitron.ch>
312         * vala/valacodegenerator.vala: simplify unref expression for non-null
313           types
314         * vala/valaclass.vala: don't mark fields as non-null due to
315           initialization issue
317 2007-04-12  Jürg Billeter  <j@bitron.ch>
319         * vala/valatypereference.vala: add is_null property
320         * vala/valasemanticanalyzer.vala: fix type analysis in conditional and
321           parenthesized expressions, fixes bug 428368
322         * vapi/glib-2.0.vala: don't mark GLib.Object and GLib.InitiallyUnowned
323           as abstract
325 2007-04-12  Jürg Billeter  <j@bitron.ch>
327         * vala/valacodegenerator.vala: fix warning when using interface
328           properties
330 2007-04-06  Jürg Billeter  <j@bitron.ch>
332         * vala/scanner.l: use yyleng instead of strlen
333         * vala/valainterfacewriter.vala: don't write unnecessary attributes to
334           reduce parse time
335         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
336           remove unnecessary attributes to reduce parse time
338 2007-04-05  Jürg Billeter  <j@bitron.ch>
340         * vala/valacodegenerator.vala, vala/valaforstatement.vala: support
341           temporary variables in initializers and iterators of for statements
342         * vala/valacodegenerator.vala: support freeing generic types
343         * vala/parser.y, vala/valacodevisitor.vala,
344           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
345           vala/valareferencetransferexpression.vala: add reference transfer
346           expressions, e.g. `#var'
347         * vala/vala.h, vala/Makefile.am: update
349 2007-04-05  Jürg Billeter  <j@bitron.ch>
351         * vala/valacodegenerator.vala: generate properties for destroy function
352           pointers in generic types
354 2007-04-05  Jürg Billeter  <j@bitron.ch>
356         * vala/valacodegenerator.vala: pass destroy function pointer when
357           creating instances of generic types
358         * vala/valaclass.vala: add get_type_parameters method
360 2007-04-04  Jürg Billeter  <j@bitron.ch>
362         * vala/scanner.l: improve cast support
363         * vala/valasemanticanalyzer.vala: fix ownership handling of local arrays
364         * vala/valacodegenerator.vala: skip code generation for static
365           interfaces, downgrade generic management support message to warning
366         * vala/valacallback.vala: support callbacks as property type
368 2007-04-04  Jürg Billeter  <j@bitron.ch>
370         * vala/scanner.l: support casts to generic types
371         * vala/valasymbolresolver.vala, vala/valatypereference.vala: support
372           arrays of generic types
373         * vala/valasymbolresolver.vala: don't take ownership of elements of weak
374           arrays
375         * vala/valasemanticanalyzer.vala: accept uint as index value
376         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
377           vala/valastatement.vala: minor cleanup of creation methods
378         * vala/valacodegenerator.vala: support creation methods for structs, fix
379           pointer as return type
380         * vapi/glib-2.0.vala: add CLAMP and g_spaced_primes_closest
382 2007-04-03  Jürg Billeter  <j@bitron.ch>
384         * vapi/math.vala: add mathematical functions, patch by
385           Mathias Hasselmann
386         * vapi/Makefile.am: update
388 2007-04-03  Jürg Billeter  <j@bitron.ch>
390         * vala/valacodegenerator.vala: initialize new array elements after
391           resizing an array, patch by Mathias Hasselmann
392         * vala/valaproperty.vala: fix for interface properties
394 2007-04-03  Jürg Billeter  <j@bitron.ch>
396         * doc/valac.1, doc/Makefile.am: add manual page for valac written by
397           Marc-André Lureau
398         * Makefile.am, configure.ac: update
400 2007-04-03  Jürg Billeter  <j@bitron.ch>
402         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
403           vala/valatypereference.vala: support declaration of local arrays
404         * tests/test-022.vala: test local array declaration
406 2007-04-03  Jürg Billeter  <j@bitron.ch>
408         * vala/valasymbolbuilder.vala, vala/valacodegenerator.vala: some fixes
409           for abstract properties
410         * vala/valamethod.vala: improve default cname
412 2007-04-03  Jürg Billeter  <j@bitron.ch>
414         * vapi/glib-2.0.vala: extend unicode support, add GRegex
416 2007-03-28  Raffaele Sandrini  <rasa@gmx.ch>
418         * vapi/glib-2.0.vala: declare HashFunc and EqualFunc as callback
419           functions, patch by David Keijser
421 2007-03-25  Raffaele Sandrini  <rasa@gmx.ch>
423         * vapi/vte.vala, vapi/vte.deps: add vte binding
424         * vapi/Makefile.am: update
426 2007-03-24  Raffaele Sandrini  <rasa@gmx.ch>
428         * vala/valaforstatement.vala: assign parent_node to children of this
429           statement; include iterator and initializer in replacement of a child
430           node (fixes segfault using prefix increment expression in the
431           iterator of a for-statement)
433 2007-03-22  Raffaele Sandrini  <rasa@gmx.ch>
435         * vala/valaflags.vala, vala/valaenum.vala, vala/valadatatype.vala,
436           vala/valastruct.vala: add support for default values of types
437         * vala/valacodegenerator.vala: use default values for initialization
438         * vapi/glib-2.0.vala: add default values for common types
440 2007-03-22  Jürg Billeter  <j@bitron.ch>
442         * configure.ac: Post-release version bump
444 2007-03-22  Jürg Billeter  <j@bitron.ch>
446         * NEWS: update for 0.0.8 release
447         * tests/Makefile.am: update
449 2007-03-22  Raffaele Sandrini  <rasa@gmx.ch>
451         * vala/valacodegenerator.vala: fix generation of unresolvable 'memset'
452           for classes without strings.
454 2007-03-21  Raffaele Sandrini  <rasa@gmx.ch>
456         * vapi/pango.vala: add Pango.Cairo and Pango.CairoFontMap
457         * vapi/pango.deps: add cairo dependency
458         * vapi/Makefile.am: update
460 2007-03-21  Jürg Billeter  <j@bitron.ch>
462         * vala/valacodegenerator.vala: fix properties with interface types
463         * vala/valamemorymanager.vala: fix memory management when storing array
464           elements
465         * vala/valaconstant.vala: obey overridden cprefix in namespaces
466         * vapi/config.vala: override lower_case_cprefix of namespace
468 2007-03-21  Raffaele Sandrini  <rasa@gmx.ch>
470         * vala/valaconstant.vala: add '_' between namespace and name of
471           namespace constants' cname
473 2007-03-21  Jürg Billeter  <j@bitron.ch>
475         * vala/valainterfacewriter.vala: minor output enhancements
476         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
477           improve handling of value-types and arrays
479 2007-03-21  Jürg Billeter  <j@bitron.ch>
481         * vala/parser.y, vala/valainterface.vala: support static interfaces
482         * vala/valastruct.vala: make set_type_id public
483         * vapi/glib-2.0.vala: add GBoxed as interface
485 2007-03-21  Jürg Billeter  <j@bitron.ch>
487         * vala/valastruct.vala: use pointer as default of type_id and
488           marshaller_type_name for reference types
489         * vala/valapointer.vala: implement get_type_id
491 2007-03-21  Jürg Billeter  <j@bitron.ch>
493         * vala/valacodegenerator.vala: deep copy GLists if necessary, patch by
494           Mathias Hasselmann
495         * vapi/glib-2.0.vala: fix some printf format strings to work on ILP32
496           and LP64 platforms
498 2007-03-21  Jürg Billeter  <j@bitron.ch>
500         * vapi/glib-2.0.vala: improve support for numeric types, patch by
501           Mathias Hasselmann
502         * tests/test-030.vala, tests/test-030.out, tests/test-031.vala,
503           tests/test-031.out: test numeric types
504         * tests/testrunner.sh: use c99 and math library
505         * tests/Makefile.am: update
507 2007-03-21  Jürg Billeter  <j@bitron.ch>
509         * vala/valainterface.vala: implement marshalling support
510         * vala/valacodegenerator.vala: support signals with interface parameters
512 2007-03-20  Raffaele Sandrini  <rasa@gmx.ch>
514         * vapi/glib-2.0.vala: add extended runtime type support
515         * vala/parser.y: also read property modifiers in set-only properties
517 2007-03-20  Jürg Billeter  <j@bitron.ch>
519         * vala/valasymbolresolver.vala: add GObject to the list of base types
520         * vapi/glib-2.0.vala: add ref and unref methods to GObject
522 2007-03-20  Jürg Billeter  <j@bitron.ch>
524         * vala/valaparser.vala, vala/valasemanticanalyzer.vala,
525           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
526           vala/valacallback.vala, vala/valainvocationexpression.vala,
527           vala/valamethod.vala, vala/valaobjectcreationexpression.vala: use weak
528           local variables where appropriate
529         * vala/parser.y, vala/valasemanticanalyzer.vala: default local variables
530           to strong reference
531         * vala/valasemanticanalyzer.vala: don't promote local variables from
532           weak to strong reference
533         * vala/valacodegenerator.vala: warn when duplicating non-reference
534           counted structs implicitly
536 2007-03-20  Jürg Billeter  <j@bitron.ch>
538         * tests/testrunner.sh: run with /bin/bash due to bashism, patch by
539           Mathias Hasselmann
541 2007-03-20  Jürg Billeter  <j@bitron.ch>
543         * vapi/glib-2.0.vala: wrap functions for escaping markup strings, patch
544           by Mathias Hasselmann
546 2007-03-20  Jürg Billeter  <j@bitron.ch>
548         * vala/valacodegenerator.vala: free lists of interfaces correctly, patch
549           by Mathias Hasselmann
551 2007-03-17  Jürg Billeter  <j@bitron.ch>
553         * compiler/valacompiler.vala, compiler/Makefile.am, vapi/config.vala:
554           consider install prefix when searching for packages, patch by
555           Mathias Hasselmann
556         * configure.ac: add AM_PROG_CC_C_O
557         * autogen.sh, MAINTAINERS: added
558         * Makefile.am: dist MAINTAINERS
560 2007-03-17  Jürg Billeter  <j@bitron.ch>
562         * vala/valasemanticanalyzer.vala, vala/valacodegnerator.vala,
563           vala/valaclassregisterfunction.vala,
564           vala/valainterfaceregisterfunction.vala,
565           vala/valatyperegisterfunction.vala, vala/valacodecontext.vala: support
566           creating GTypeModule-based plug-ins with the ModuleInit attribute
567         * vala/parser.y, vala/valacodegenerator.vala, vala/valaclass.vala:
568           support static classes
569         * vapi/glib-2.0.vala: add TypePlugin and TypeModule
571 2007-03-17  Jürg Billeter  <j@bitron.ch>
573         * vala/parser.y: accept attributes without parentheses
574         * vala/valainterfacewriter.vala: don't write weak keyword for value
575           types
576         * vapi/atk.vala, vapi/cairo.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala,
577           vapi/libxml-2.0.vala, vapi/pango.vala: update
579 2007-03-17  Jürg Billeter  <j@bitron.ch>
581         * ccode/valaccodeunaryexpression.vala: support pointer indirections
582         * vala/parser.y, vala/valacodevisitor.vala,
583           vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala,
584           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
585           vala/valaaddressofexpression.vala, vala/valadatatype.vala,
586           vala/valapointer.vala, vala/valapointerindirection.vala,
587           vala/valatypereference.vala: support pointer-types, pointer
588           indirections, and address-of expressions
589         * vala/vala.h, vala/Makefile.am: update
591 2007-03-16  Jürg Billeter  <j@bitron.ch>
593         * vala/parser.y: support weak keyword in local variable declarations
594         * vapi/glib-2.0.vala: improve GError support
596 2007-03-16  Jürg Billeter  <j@bitron.ch>
598         * vala/valacodegenerator.vala: support disconnecting signals, based on
599           patch by Alexandre Moreira
600         * tests/test-018.vala, tests/test-018.out: test disconnecting signals
602 2007-03-16  Jürg Billeter  <j@bitron.ch>
604         * vala/valacodegenerator.vala: fix null pointer dereference when
605           emitting signals
607 2007-03-16  Jürg Billeter  <j@bitron.ch>
609         * vala/parser.y: default to strong references for method return types
610         * vala/valasymbolresolver.vala: reset TypeReference.transfers_ownership
611           for value-types
612         * vala/valasourcefile.vala: assume ownership of include filenames
613         * vala/valainterfacewriter.vala: use weak keyword for return types
614         * vala/valacodecontext.vala, vala/valasourcefile.vala,
615           vala/valasymbolbuilder.vala, vapi/glib-2.0.vala: add weak to return
616           types
618 2007-03-11  Jürg Billeter  <j@bitron.ch>
620         * vala/valasemanticanalyzer.vala: resolve generic return values
621         * vala/valamemorymanager.vala: fix check for generic method parameters
622           to support derived types
623         * vala/valainterface.vala: implement get_type_parameter_index
624         * vala/valamemberaccess.vala: visit type arguments
625         * vala/valaclassregisterfunction.vala,
626           vala/valainterfaceregisterfunction.vala,
627           vala/valatyperegisterfunction.vala: pass base_init function pointer
628           for interfaces
629         * vala/valacodegenerator.vala: fix initialization check in interface
630           base_init function
631         * vala/valasemanticanalyzer.vala: fix prerequisite check to also accept
632           derived types of prerequisites
634 2007-03-10  Jürg Billeter  <j@bitron.ch>
636         * ccode/valaccodecastexpression.vala: correct bracketing in cast
637           expressions
639 2007-03-10  Jürg Billeter  <j@bitron.ch>
641         * vala/valacodegenerator.vala: support interface properties and signals,
642           improve support for generics
644 2007-03-10  Jürg Billeter  <j@bitron.ch>
646         * vala/parser.y, vala/valasymbolbuilder.vala,
647           vala/valasemanticanalyzer.vala, vala/valaproperty.vala: support
648           abstract, virtual, and override modifiers for properties
649         * vala/parser.y: support get and set as identifiers
651 2007-03-10  Jürg Billeter  <j@bitron.ch>
653         * vala/valatypereference.vala: correct cname of generic type parameters
655 2007-03-10  Jürg Billeter  <j@bitron.ch>
657         * vala/valacreationmethod.vala, vala/valamethod.vala: fix overriding
658           cname of creation methods
660 2007-03-07  Jürg Billeter  <j@bitron.ch>
662         * vala/valasemanticanalyzer.vala: check whether a class implements all
663           abstract methods of base classes
664         * vala/valacodenode.vala, vala/valadatatype.vala,
665           vala/valaexpression.vala, vala/valaliteral.vala: fix build with added
666           checks
668 2007-03-07  Jürg Billeter  <j@bitron.ch>
670         * vala/valaclass.vala: implement get_type_parameter_index
672 2007-03-07  Raffaele Sandrini  <rasa@gmx.ch>
674         * vala/valasemanticanalyzer.vala: check whether a class implements all
675           methods required by its super interfaces
677 2007-03-05  Jürg Billeter  <j@bitron.ch>
679         * vala/scanner.l, vala/parser.y, vala/valacatchclause.vala,
680           vala/valathrowstatement.vala, vala/valatrystatement.vala,
681           vala/valacodevisitor.vala: add exception handling support to the
682           parser
683         * vala/vala.h, vala/Makefile.am: update
685 2007-03-05  Raffaele Sandrini  <rasa@gmx.ch>
687         * vala/valainterfaceregisterfunction.vala: add
688           `g_type_interface_add_prerequisite' calls during interface type
689           creation
690         * vala/valasemanticanalyzer.vala: add checks for consistent interface
691           prerequisites and whether classes are obeying them
693 2007-03-04  Jürg Billeter  <j@bitron.ch>
695         * configure.ac: Post-release version bump
697 2007-03-04  Jürg Billeter  <j@bitron.ch>
699         * NEWS: update for 0.0.7 release
701 2007-03-04  Jürg Billeter  <j@bitron.ch>
703         * vala/parser.y: pack all embedded stataments in blocks
704         * vala/vala.h: update
706 2007-03-04  Jürg Billeter  <j@bitron.ch>
708         * vala/valasemanticanalyzer.vala: check for inherited properties in
709           construct formal parameters
711 2007-03-04  Jürg Billeter  <j@bitron.ch>
713         * vala/valasemanticanalyzer.vala: don't allow interface implementations
714           to specify override
715         * vala/valaconstant.vala, vala/valafield.vala,
716           vala/valaformalparameter.vala, vala/valamethod.vala,
717           vala/valaproperty.vala, vala/valasignal.vala,
718           vala/valavariabledeclarator.vala: remove override from interface
719           implementations
721 2007-03-04  Jürg Billeter  <j@bitron.ch>
723         * vala/parser.y, vala/valainterface.vala,
724           vala/valasemanticanalyzer.vala: rename base_types of interfaces to
725           prerequisites to follow GObject terminology
726         * vala/valamethod.vala, vala/valasemanticanalyzer.vala,
727           vala/valacodegenerator.vala: move interface usage part from
728           base_method to base_interface_method property
729         * vala/valasemanticanalyzer.vala: don't require interface
730           implementations to specify override
731         * vala/valacodegenerator.vala: support base access in interface
732           implementations
733         * tests/test-017.vala: remove override in method declaration
735 2007-03-04  Jürg Billeter  <j@bitron.ch>
737         * vala/valasemanticanalyzer.vala: support lambda expressions in
738           constructors
739         * tests/test-029.vala: remove extra printf argument
741 2007-03-04  Raffaele Sandrini  <rasa@gmx.ch>
743         * vala/valasemanticanalyzer.vala, vala/parser.y,
744           vala/valaformalparameter.vala: add support for construct formal
745           creation method parameters
746         * tests/test-029.vala, tests/test-029.out: add testcase for construct
747           formal parameters
748         * tests/Makefile.am: update
750 2007-03-04  Raffaele Sandrini  <rasa@gmx.ch>
752         * vala/valaattributeprocessor.vala, vala/valacharacterliteral.vala,
753           vala/valamethod.vala, vala/valasymbolbuilder.vala,
754           vala/valacodevisitor.vala, vala/valainterfacewriter.vala,
755           vala/valamemorymanager.vala: update/fix copyright notice
757 2007-03-03  Raffaele Sandrini  <rasa@gmx.ch>
759         * vala/valaattributeprocessor.vala, vala/valamethod.vala,
760           vala/valacodegenerator.vala, vala/valacreationmethod.vala,
761           vala/valasymbolbuilder.vala, vala/valasemanticanalyzer.vala,
762           vala/parser.y, vala/valacodevisitor.vala,
763           vala/valainterfacewriter.vala, vala/valamemorymanager.vala:
764           add CreationMethod type; restrict creation methods bodys to contain
765           only property assignment statements
766         * vala/valacharacterliteral.vala, vala/valacodegenerator.vala,
767           vala/valaarray.vala: fix the compiler to obey the new creation
768           method rules
769         * vala/Makefile.am: update
771 2007-03-03  Jürg Billeter  <j@bitron.ch>
773         * vapi/atk.vala, vapi/cairo.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala,
774           vapi/pango.vala: switch to new construction syntax
776 2007-03-03  Jürg Billeter  <j@bitron.ch>
778         * vala/parser.y: remove support of old construction syntax
780 2007-03-03  Jürg Billeter  <j@bitron.ch>
782         * Switch to new construction syntax
784 2007-03-03  Jürg Billeter  <j@bitron.ch>
786         * vala/parser.y: support new construction syntax
787         * vala/valainterfacewriter.vala: write interface with new construction
788           syntax
790 2007-03-01  Jürg Billeter  <j@bitron.ch>
792         * vala/valatypereference.vala: improve equality check
793         * vala/valatypeparameter.vala: add type parameter equality check
794         * vala/valasemanticanalyzer.vala: add symbol dependencies for
795           interfaces, support overriding methods of interfaces with
796           prerequisites
798 2007-02-28  Jürg Billeter  <j@bitron.ch>
800         * configure.ac: Post-release version bump
802 2007-02-28  Jürg Billeter  <j@bitron.ch>
804         * NEWS: update for 0.0.6 release
805         * tests/Makefile.am: correctly distribute test sources
807 2007-02-28  Jürg Billeter  <j@bitron.ch>
809         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
810           updates and fixes
812 2007-02-28  Jürg Billeter  <j@bitron.ch>
814         * tests/test-022.vala, tests/test-022.out: test Array.resize method and
815           Array.length field
816         * vala/valacodegenerator.vala: update length when resizing arrays
818 2007-02-27  Jürg Billeter  <j@bitron.ch>
820         * vala/valacodenode.vala: mark source_reference as construction property
821           to allow access in Array constructor
822         * vala/valaarraylengthfield.vala: the Array.length field
823         * vala/valaarrayresizemethod.vala: the Array.resize method
824         * vala/valaarray.vala: support arrays of generic type parameters, add
825           length field, add resize method
826         * vala/valatypereference.vala: make source reference optional
827         * vala/valatypeparameter.vala, vala/valasymbolresolver.vala,
828           vala/valasemanticanalyzer.vala: support arrays of generic type
829           parameters
830         * vala/valadatatype.vala, vala/valacodegenerator.vala: support
831           Array.length field and Array.resize method
832         * vala/Makefile.am: update
834 2007-02-27  Jürg Billeter  <j@bitron.ch>
836         * vala/parser.y: accept interfaces with base types
838 2007-02-26  Jürg Billeter  <j@bitron.ch>
840         * vala/valasymbolresolver.vala: fix error handling with unknown
841           namespaces
843 2007-02-26  Jürg Billeter  <j@bitron.ch>
845         * tests/test-028.vala, tests/test-028.out: test enums
846         * tests/Makefile.am: update
848 2007-02-26  Jürg Billeter  <j@bitron.ch>
850         * tests/test-027.vala, tests/test-027.out: test postfix and prefix
851           expressions
852         * tests/Makefile.am: update
853         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
854           prefix and postfix expressions for properties and parenthesized
855           expressions
857 2007-02-25  Jürg Billeter  <j@bitron.ch>
859         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: improve
860           subtyping suport for structs
862 2007-02-25  Jürg Billeter  <j@bitron.ch>
864         * tests/test-026.vala, tests/test-026.out: test hidden base method
865           access
866         * tests/Makefile.am: update
867         * vala/valasemanticanalyzer.vala: correct symbol_reference for base
868           access, add current_struct field
870 2007-02-25  Jürg Billeter  <j@bitron.ch>
872         * tests/test-010.vala, tests/test-010.out: enhance assignment test
873         * vala/valasemanticanalyzer.vala: correct bracketing in compound
874           assignments
876 2007-02-25  Jürg Billeter  <j@bitron.ch>
878         * vala/valacodenode.vala: add to_string method
880 2007-02-25  Jürg Billeter  <j@bitron.ch>
882         * vapi/glib-2.0.vala: improve GSource support
884 2007-02-22  Raffaele Sandrini  <rasa@gmx.ch>
886         * vala/valacodegenerator.vala: don't allow NULL terminated arrays of
887           value-type structs and remove the check on such arrays in a freach
888           statement
890 2007-02-21  Jürg Billeter  <j@bitron.ch>
892         * vala/valacallback.vala: support using instance methods as static
893           callbacks
895 2007-02-19  Jürg Billeter  <j@bitron.ch>
897         * vapi/glib-2.0.vala: more string functions (patch by Cayle Graumann)
899 2007-02-18  Raffaele Sandrini  <rasa@gmx.ch>
901         * vala/valainterfacewriter.vala: fix indentation for class definitions
903 2007-02-04  Jürg Billeter  <j@bitron.ch>
905         * vapi/glib-2.0.vala: add GLib.Queue
907 2007-02-04  Jürg Billeter  <j@bitron.ch>
909         * vala/valaconstant.vala: fix global constants
910         * vapi/glib-2.0.vala: add NoArrayLength attribute to Process functions
912 2007-02-04  Jürg Billeter  <j@bitron.ch>
914         * vala/valacodegenerator.vala: use correct type cname in array creation
915           expression, don't assume that all string arrays own their content
917 2007-02-04  Jürg Billeter  <j@bitron.ch>
919         * vala/parser.y: fix crash when parsing array creation expression
921 2006-12-23  Jürg Billeter  <j@bitron.ch>
923         * vala/valaattribute.vala: add get_bool method for boolean values
924         * compiler/valacompiler.vala: print message when detecting option errors
926 2006-12-10  Jürg Billeter  <j@bitron.ch>
928         * vapi/glib-2.0.vala: add message logging functions
929         * vala/valasemanticanalyzer.vala: support enum to int conversions and
930           diagnostic methods
931         * vala/valacodegenerator.vala: support do statements
933 2006-11-24  Jürg Billeter  <j@bitron.ch>
935         * vala/valacodegenerator.vala: fix generating switch statements
937 2006-11-23  Jürg Billeter  <j@bitron.ch>
939         * vala/valacodegenerator.vala: allow main methods without parameters and
940           main methods returning void, check complete signature of main method
942 2006-11-22  Jürg Billeter  <j@bitron.ch>
944         * vala/parser.y, vala/valacodegenerator.vala: support enum members with
945           values
947 2006-11-22  Jürg Billeter  <j@bitron.ch>
949         * vapi/glib-2.0.vala: add direct_hash and direct_equal
950         * tests/Makefile.am: distribute reference output
952 2006-11-21  Jürg Billeter  <j@bitron.ch>
954         * vala/valaclass.vala, vala/valaenum.vala, vala/valafield.vala,
955           vala/valainterface.vala, vala/valanamespace.vala,
956           vala/valastruct.vala: use new attribute functionality
958 2006-11-21  Jürg Billeter  <j@bitron.ch>
960         * vala/valaattribute.vala: add has_argument, get_string, and get_integer
961           methods
962         * vala/valacodenode.vala: add get_attribute method
963         * vala/valamethod.vala: use new attribute functionality
965 2006-11-21  Jürg Billeter  <j@bitron.ch>
967         * vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala: don't
968           require GLib namespace at runtime in symbol resolver and semantic
969           analyzer
971 2006-11-21  Jürg Billeter  <j@bitron.ch>
973         * tests/testrunner.sh: add test script
974         * tests/*.out: add reference output for test cases
975         * tests/Makefile.am: add test environment
977 2006-11-20  Jürg Billeter  <j@bitron.ch>
979         * vala/valacodegenerator.vala: fix code generation for structs
981 2006-11-11  Jürg Billeter  <j@bitron.ch>
983         * configure.ac: remove AM_MAINTAINER_MODE to always rebuild scanner and
984           parser if changed
986 2006-11-09  Raffaele Sandrini  <rasa@gmx.ch>
988         * vapi/glib-2.0.vala: add GArray and GTree structures
989         * vala/valainterfacewriter.vala: write header files attributes for
990           classes
992 2006-11-09  Jürg Billeter  <j@bitron.ch>
994         * vapi/libxml-2.0.vala: some fixes and additions
996 2006-11-08  Jürg Billeter  <j@bitron.ch>
998         * vala/valacodegenerator.vala: support interfaces in header cycles
999         * vala/valanamespace.vala: add get_interfaces method
1001 2006-11-06  Jürg Billeter  <j@bitron.ch>
1003         * vala/parser.y: support unary ~ operator
1005 2006-11-06  Jürg Billeter  <j@bitron.ch>
1007         * vala/valacodegenerator.vala: use g_value_set_object for interfaces
1008         * vala/valainterface.vala: implement get_type_id
1010 2006-11-02  Jürg Billeter  <j@bitron.ch>
1012         * configure.ac: Post-release version bump
1014 2006-11-02  Jürg Billeter  <j@bitron.ch>
1016         * NEWS: update for 0.0.5 release
1018 2006-11-02  Jürg Billeter  <j@bitron.ch>
1020         * vala/valainterfacewriter.vala: write CCode.cname attribute for methods
1021         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1022           use CCode.cname attribute
1024 2006-11-02  Raffaele Sandrini  <rasa@gmx.ch>
1026         * vala/valacodegenerator.vala: fix memory leak caused when container
1027           expression transfers ownership to the foreach statement
1029 2006-11-02  Jürg Billeter  <j@bitron.ch>
1031         * vala/valainterfacewriter.vala: don't use weak for value types
1032         * vala/valamethod.vala: make set_cname public
1033         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1034           add Gtk.Allocation, don't use weak for value types
1036 2006-10-31  Jürg Billeter  <j@bitron.ch>
1038         * vala/valacodegenerator.vala: don't add NULL to end of variable
1039           argument list for printf-style functions to reduce the number of
1040           warnings during C compilation
1041         * vala/valamethod.vala: support PrintfFormat attribute
1042         * vala/vala.h: include valareport.h
1043         * vapi/glib-2.0.vala: use PrintfFormat attribute
1045 2006-10-27  Jürg Billeter  <j@bitron.ch>
1047         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1048           miscellaneous fixes
1050 2006-10-26  Raffaele Sandrini  <rasa@gmx.ch>
1052         * vala/valasemanticanalyzer.vala: make foreach iterator only visible to
1053           the foreach body.
1054         * INSTALL: update
1056 2006-10-26  Jürg Billeter  <j@bitron.ch>
1058         * vala/valacodegenerator.vala: don't create empty dispose functions,
1059           support virtual methods with non-void return type
1060         * vapi/glib-2.0.vala: include glib/gstdio.h for GLib file functions
1062 2006-10-26  Jürg Billeter  <j@bitron.ch>
1064         * vala/valacodegenerator.vala: explicitly cast callbacks to reduce the
1065           number of warnings during C compilation
1067 2006-10-26  Jürg Billeter  <j@bitron.ch>
1069         * vala/valacodegenerator.vala: convert integer to pointer for generic
1070           parameters to reduce the number of warnings during C compilation
1072 2006-10-26  Jürg Billeter  <j@bitron.ch>
1074         * vala/valacodegenerator.vala: cast object instances in return
1075           statements to reduce the number of warnings during C compilation
1077 2006-10-25  Jürg Billeter  <j@bitron.ch>
1079         * vala/valacodegenerator.vala: cast object instances in comparisons to
1080           reduce the number of warnings during C compilation
1082 2006-10-25  Jürg Billeter  <j@bitron.ch>
1084         * vala/valacodegenerator.vala, vala/valaarray.vala,
1085           vala/valacallback.vala, vala/valaclass.vala, vala/valadatatype.vala,
1086           vala/valaenum.vala, vala/valaflags.vala, vala/valainterface.vala,
1087           vala/valastruct.vala, vala/valatypereference.vala, vapi/glib-2.0.vala:
1088           start to use const specifier for strings to reduce number of warnings
1089           during C compilation
1091 2006-10-25  Jürg Billeter  <j@bitron.ch>
1093         * vala/parser.y, vala/valacodevisitor.vala,
1094           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
1095           vala/valabaseaccess.vala: support base access
1096         * vala/vala.h, vala/Makefile.am: update
1097         * tests/test-025.vala: test base access
1098         * tests/Makefile.am: update
1100 2006-10-25  Jürg Billeter  <j@bitron.ch>
1102         * configure.ac: Post-release version bump
1103         * compiler/valacompiler.vala: --version support
1104         * compiler/Makefile.am: always include config.h to keep compatibility
1105         * vapi/config.vala: add binding for config.h
1106         * vapi/Makefile.am: update
1108 2006-10-25  Jürg Billeter  <j@bitron.ch>
1110         * vala/valasourcefile.vala: support dependencies on constants
1112 2006-10-24  Jürg Billeter  <j@bitron.ch>
1114         * vala/valasemanticanalyzer.vala: don't crash when comparing value type
1115           with null
1117 2006-10-24  Jürg Billeter  <j@bitron.ch>
1119         * vala/valasymbolresolver.vala: don't crash on already resolved type
1120           references
1121         * vala/valasemanticanalyzer.vala: support typeof expression
1122         * vala/valacodegenerator.vala: improve support for null-terminated
1123           arrays
1124         * vala/valainterfacewriter.vala: don't write type arguments for arrays
1126 2006-10-08  Jürg Billeter  <j@bitron.ch>
1128         * vala/parser.y: support enum values
1130 2006-10-06  Jürg Billeter  <j@bitron.ch>
1132         * NEWS: update for 0.0.4 release
1134 2006-10-06  Raffaele Sandrini  <rasa@gmx.ch>
1136         * vapi/glib-2.0.vala, vala/valaflags.vala, vala/valaenum.vala,
1137           vala/valadatatype.vala, vala/valaarray.vala, vala/valaclass.vala,
1138           vala/valastruct.vala: add get and set value support
1139         * vala/valacodegenerator.vala: add user (arbitrary) signal support
1140         * vala/valadatatype.vala, vala/valamemorymanager.vala,
1141           vala/valastruct.vala: correctly honor ref types in type arguments
1142         * ccode/valaccodedeclaration.vala, ccode/valaccodemodifiers.vala:
1143           support register local variables
1144         * ccode/valaccodememberaccess.vala: make one line creation possible
1145         * vapi/glib-2.0.vala: fix return type of Glib.List.nth_data
1146         * tests/test-024.vala: add user signal test
1147         * tests/Makefile.am: update
1149 2006-10-05  Jürg Billeter  <j@bitron.ch>
1151         * vala/parser.y, vala/valasemanticanalyzer.vala: complete support for
1152           prefix increment and decrement operator
1154 2006-10-05  Jürg Billeter  <j@bitron.ch>
1156         * vala/valasemanticanalyzer.vala: transform compund assignments into
1157           simple assignments
1158         * vala/valabinaryexpression.vala: add default argument to construction
1159           method
1160         * tests/test-021.vala: test string += assignment
1162 2006-10-04  Jürg Billeter  <j@bitron.ch>
1164         * vala/valasymbolresolver.vala: correct takes_ownership in arrays
1165         * vala/valacodegenerator.vala: add limited support for array length
1166           fields, store array length from array creation expression, copy array
1167           length in array assignments
1168         * vala/valafield.vala: support NoArrayLength attribute
1169         * compiler/valacompiler.vala: add NoArrayLength attribute to option
1170           arrays
1172 2006-10-04  Jürg Billeter  <j@bitron.ch>
1174         * vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala: specify
1175           array element type as type argument
1176         * vala/valacodegenerator.vala: create declarations for array length
1177           variables, iterate over arrays by index if it has known length
1178         * vala/valacharacterliteral.vala: correct return type of get_char
1179         * vala/valanamespace.vala: process enums and flags first
1180         * vala/valavariabledeclarator.vala: set parent_node of initializer, add
1181           replace method
1182         * tests/test-023.vala: test list construction
1183         * tests/Makefile.am: update
1185 2006-10-03  Jürg Billeter  <j@bitron.ch>
1187         * vala/valacodegenerator.vala: don't use InstanceCast for callbacks
1189 2006-09-28  Raffaele Sandrini <rasa@gmx.ch>
1191         * vala/valacodegenerator.vala, vala/valasemanticanalyzer.vala,
1192           vala/valamemorymanager.vala: add one dimensional array assignment
1193           support
1194         * tests/test-022.vala: testcase for array creation/assignment
1195         * tests/Makefile.am: update
1197 2006-09-28  Jürg Billeter  <j@bitron.ch>
1199         * vapi/glib-2.0.vala: add and improve various types
1201 2006-09-28  Jürg Billeter  <j@bitron.ch>
1203         * vala/parser.y: set attributes also for non-readable properties
1204         * vala/valacodegenerator.vala: support interface signals
1205         * vala/valainvocationexpression.vala,
1206           vala/valaobjectcreationexpression.vala: fix problem when children
1207           change while iterating over them
1209 2006-09-27  Jürg Billeter  <j@bitron.ch>
1211         * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
1212           vala/valamethod.vala: support InstanceByReference attribute
1213         * vapi/glib-2.0.vala: add Filename struct, fix Process methods
1214         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1215           fix static methods without parameters, add InstanceByReference
1216           attributes
1218 2006-09-27  Jürg Billeter  <j@bitron.ch>
1220         * vala/valainterface.vala: visit interface signals
1221         * vala/valainterfacewriter.vala: obey lock keyword
1222         * vapi/atk.vala, vapi/gtk+-2.0.vala: add interface signals
1224 2006-09-27  Raffaele Sandrini  <rasa@gmx.ch>
1226         * vapi/glib-2.0.vala: add threading and assorted structures
1227         * vala/valamember.vala: add an additional abstraction for all members
1228           of a class
1229         * vala/valalockstatement.vala, vala/valacodegenerator.vala,
1230           vala/scanner.l, vala/valasemanticanalyzer.vala,
1231           vala/valalockable.vala, vala/parser.y, vala/valacodevisitor.vala:
1232           add lock feature to vala
1233         * vala/valamethod.vala, vala/valafield.vala, vala/valaconstant.vala,
1234           vala/valasignal.vala, vala/valaproperty.vala: make those members
1235           lockable
1236         * vala/valacodegenerator.vala: use member abstraction to simlify field
1237           initialisation and destruction
1238         * vala/valacodegenerator.vala: introduce new C macros VALA_FREE_CHECKED
1239           and VALA_FREE_UNCHECKED to make safe freeing code nicer
1240         * vala/vala.h: update and bring arraycreationexpression in order
1241         * vala/Makefile.am: update
1243 2006-09-27  Jürg Billeter  <j@bitron.ch>
1245         * vapi/glib-2.0.vala: add Process struct with spawn functions
1247 2006-09-27  Jürg Billeter  <j@bitron.ch>
1249         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1250           fix global methods
1252 2006-09-26  Jürg Billeter  <j@bitron.ch>
1254         * vapi/glib-2.0.vala: add string.reverse, Source.remove,
1255           Environment.get_variable, Environment.set_variable,
1256           Environment.get_current_dir, Path.is_absolute, Path.skip_root
1258 2006-09-26  Jürg Billeter  <j@bitron.ch>
1260         * vala/valaassignment.vala, vala/valabinaryexpression.vala,
1261           vala/valacastexpression.vala, vala/valadostatement.vala,
1262           vala/valaexpressionstatement.vala, vala/valaforeachstatement.vala,
1263           vala/valaforstatement.vala, vala/valaifstatement.vala,
1264           vala/valainvocationexpression.vala, vala/valamemberaccess.vala,
1265           vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
1266           vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
1267           vala/valawhilestatement.vala: add missing cast
1269 2006-09-03  Jürg Billeter  <j@bitron.ch>
1271         * vala/scanner.l: make character_literal stricter
1272         * vala/valacodegenerator.vala: support more method return types,
1273           support unicode character literals
1274         * vala/valacharacterliteral.vala: validate input, add get_char method
1276 2006-09-02  Jürg Billeter  <j@bitron.ch>
1278         * vala/parser.y, vala/valacodecontext.vala,
1279           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1280           vala/valacodegenerator.vala, vala/valaarraycreationexpression.vala,
1281           vala/valablock.vala, vala/valacallback.vala, vala/valaclass.vala,
1282           vala/valaelementaccess.vala, vala/valafield.vala,
1283           vala/valaformalparameter.vala, vala/valaforstatement.vala,
1284           vala/valainitializerlist.vala, vala/valainterface.vala,
1285           vala/valainvocationexpression.vala, vala/valainvokable.vala,
1286           vala/valalambdaexpression.vala,
1287           vala/valalocalvariabledeclaration.vala, vala/valamemberaccess.vala,
1288           vala/valamethod.vala, vala/valanamespace.vala,
1289           vala/valaobjectcreationexpression.vala, vala/valasignal.vala,
1290           vala/valasourcefile.vala, vala/valastruct.vala,
1291           vala/valaswitchsection.vala, vala/valaswitchstatement.vala,
1292           vala/valatypereference.vala, vala/valavariabledeclarator.vala,
1293           ccode/valaccodefragment.vala, vapi/glib-2.0.vala: always default type
1294           arguments to strong
1295         * vala/valacodevisitor.vala, vala/valacodegenerator.vala,
1296           vala/valaexpression.vala, vala/valareturnstatement.vala: avoid
1297           unnecessary ref/unref pair in return expression
1298         * vala/valatypereference.vala: copy type arguments in copy method, too
1299         * vala/valasemanticanalyzer.vala: set type arguments in type_reference
1300           of ObjectCreationExpression
1301         * vala/valadatatype.vala: fix warning
1303 2006-09-02  Jürg Billeter  <j@bitron.ch>
1305         * vala/valacodegenerator.vala: special case construction of GLib.List
1306           and GLib.SList (reported by Cayle Graumann)
1308 2006-09-02  Jürg Billeter  <j@bitron.ch>
1310         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
1311           vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
1312           vala/valamemberaccessibility.vala: prepare to support protected
1313           members
1315 2006-09-02  Jürg Billeter  <j@bitron.ch>
1317         * vala/parser.y: don't set parent_node in parser
1318         * vala/valasemanticanalyzer.vala: support string + operator
1319         * vala/valaassignment.vala, vala/valabinaryexpression.vala,
1320           vala/valacastexpression.vala, vala/valacodenode.vala,
1321           vala/valadostatement.vala, vala/valaexpressionstatement.vala,
1322           vala/valaforeachstatement.vala, vala/valaforstatement.vala,
1323           vala/valaifstatement.vala, vala/valainvocationexpression.vala,
1324           vala/valamemberaccess.vala, vala/valaobjectcreationexpression.vala,
1325           vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
1326           vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
1327           vala/valawhilestatement.vala: set parent_node of child nodes, add
1328           replace method
1329         * vala/valanullliteral.vala: add default argument to construction method
1330         * tests/test-021.vala: test string + operator
1331         * tests/Makefile.am: update
1333 2006-09-02  Jürg Billeter  <j@bitron.ch>
1335         * vala/scanner.l: support integer and floating point suffixes
1336         * vala/valasemanticanalyzer.vala: use correct type for integer and
1337           floating point literals
1338         * vala/valaintegerliteral.val, vala/valarealliteral.vala: add
1339           get_type_name method
1340         * vapi/glib-2.0.vala: add string to int64 conversion method
1342 2006-09-02  Jürg Billeter  <j@bitron.ch>
1344         * vala/valasemanticanalyzer.vala: use IntegerType, FloatingType, and
1345           rank attributes to analyze arithmetic operations
1346         * vala/valacodegenerator.vala: generate C casts for explicit value-type
1347           casts
1348         * vala/valastruct.vala: add is_integer_type, is_floating_type, and
1349           get_rank methods, add IntegerType and FloatingType attributes
1350         * vala/valasemanticanalyzer.vala, vala/valacastexpression.vala,
1351           vala/valainstancecast.vala, ccode/valaccodecastexpression.vala: fix
1352           typos
1353         * vapi/glib-2.0.vala: add int16, uint16, int32, uint32, use IntegerType
1354           and FloatingType attributes
1356 2006-09-02  Jürg Billeter  <j@bitron.ch>
1358         * vala/parser.y: set accessibility for constants
1359         * vala/valasemanticanalyzer.vala: set return type in property set
1360           accessors to void
1361         * vala/valacodegenerator.vala: move public constants to header file
1362         * vala/valaclass.vala: don't create fields for properties in VAPI files
1363         * vala/valaconstant.vala: add access member
1365 2006-09-02  Jürg Billeter  <j@bitron.ch>
1367         * vapi/cairo.vala: mark Matrix as reference type
1369 2006-08-24  Jürg Billeter  <j@bitron.ch>
1371         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1372           mark virtual methods appropriately
1374 2006-08-24  Jürg Billeter  <j@bitron.ch>
1376         * vala/valaattributeprocessor.vala, vala/valacodegenerator.vala,
1377           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala: add
1378           possibility to change interface type struct cname, default to `Iface'
1379           suffix (reported by Dominique Würtz)
1381 2006-08-23  Jürg Billeter  <j@bitron.ch>
1383         * vala/valasemanticanalyzer.vala: support calling non-abstract interface
1384           methods
1385         * vala/valainterface.vala: add get_base_types method
1387 2006-08-20  Jürg Billeter  <j@bitron.ch>
1389         * configure.ac: Post-release version bump, fail if flex or bison not
1390           found
1392 2006-08-18  Jürg Billeter  <j@bitron.ch>
1394         * NEWS: update for 0.0.3 release
1396 2006-08-18  Jürg Billeter  <j@bitron.ch>
1398         * compiler/valacompiler.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala:
1399           use array length functionality
1401 2006-08-18  Jürg Billeter  <j@bitron.ch>
1403         * vala/valacodegenerator.vala: support implicit array length parameter
1404         * vala/valainterfacewriter.vala, vala/valaformalparameter.vala,
1405           vala/valamethod.vala: support NoArrayLength attribute
1406         * compiler/valacompiler.vala, vapi/atk.vala, vapi/cairo.vala,
1407           vapi/gdk-2.0.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala,
1408           vapi/pango.vala: add NoArrayLength attributes
1409         * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
1410           tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
1411           tests/test-007.vala, tests/test-008.vala, tests/test-009.vala,
1412           tests/test-010.vala, tests/test-011.vala, tests/test-012.vala,
1413           tests/test-013.vala, tests/test-014.vala, tests/test-015.vala,
1414           tests/test-016.vala, tests/test-017.vala, tests/test-018.vala,
1415           tests/test-019.vala, tests/test-020.vala: remove argc parameter
1417 2006-08-18  Jürg Billeter  <j@bitron.ch>
1419         * vala/parser.y: remove read/write tokens
1420         * compiler/valacompiler.vala: support package dependencies
1421         * vapi/gdk-2.0.deps
1422         * vapi/gtk+-2.0.deps
1423         * vapi/Makefile.am: update
1425 2006-08-18  Jürg Billeter  <j@bitron.ch>
1427         * vala/parser.y, vala/valastruct.vala: support base types for structs
1428         * vala/valainterfacewriter.vala: obey set keyword
1429         * vapi/glib-2.0.vala: add SignalInvocationHint, SignalEmissionHook,
1430           SignalFlags, ValueArray, Math, Timeout, and PtrArray
1431         * vapi/cairo.vala: initial cairo binding
1432         * vapi/pango.vala, vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala:
1433           bindings generated from Pango 1.13.5, ATK 1.12.1, and GTK+ 2.10.1
1434         * vapi/Makefile.am: update
1436 2006-08-11  Raffaele Sandrini  <rasa@gmx.ch>
1438         * vala/valasymbolresolver.vala, vala/valatypereference.vala,
1439           vala/valaelementaccess.vala, vala/valadatatype.vala, vala/parser.y,
1440           vala/valaarray.vala: make those classes ready to process
1441           multidimensional arrays.
1442         * vala/scanner.l: remove ARRAY_QUALIFIER token
1443         * vala/valasemanticanalyzer.vala, vala/parser.y,
1444           vala/valacodegenerator.vala, vala/valacodegenerator.vala,
1445           vala/valacodevisitor.vala: add multidimensional array support however
1446           only one dimensional arrays can be created yet
1447         * vala/Makefile.am, vala/vala.h: update
1448         * vala/valatypereference.vala: remove source reference parameter
1449           when creating from an expression
1450         * vala/valacodegenerator.vala: add support for uint, long and ulong
1451           properties
1453 2006-08-10  Jürg Billeter  <j@bitron.ch>
1455         * vala/scanner.l: support hexadecimal and octal integer literals,
1456           support hexadecimal escape sequences, support BASE and THIS
1457         * vala/parser.y: use BASE and THIS keywords
1458         * vala/valasemanticanalyzer.vala: don't use new base keyword as variable
1459           name
1460         * vala/valacodegenerator.vala: simplify code
1461         * vala/valainterfacewriter.vala: obey base keyword
1463 2006-08-10  Jürg Billeter  <j@bitron.ch>
1465         * vala/valacodegenerator.vala: fix memory management in switch
1466           statements
1467         * tests/test-020.vala: extend switch statement test
1469 2006-08-10  Jürg Billeter  <j@bitron.ch>
1471         * vala/valacodegenerator.vala: support switch statements
1472         * vala/valaswitchsection.vala: add has_default_label () and
1473           get_statements () methods
1474         * vala/valaswitchstatement.vala: add get_sections () method
1475         * ccode/valaccodedostatement.vala
1476         * ccode/Makefile.am: update
1477         * tests/test-020.vala: test switch statements
1478         * tests/Makefile.am: update
1480 2006-08-10  Jürg Billeter  <j@bitron.ch>
1482         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: use
1483           Invokable
1484         * vala/valainvokable.vala
1485         * vala/valafield.vala, vala/valaformalparameter.vala,
1486           vala/valamethod.vala, valasignal.vala,
1487           vala/valavariabledeclarator.vala: implement Invokable
1488         * vala/Makefile.am: update
1490 2006-08-10  Jürg Billeter  <j@bitron.ch>
1492         * vala/parser.y: support constants in namespaces and constants without
1493           initializer
1494         * vala/valasemanticanalyzer.vala: depend on implemented interfaces
1495         * vala/valacodegenerator.vala: always include glib-object.h for
1496           interfaces, append NULL to variable argument list calls
1497         * vala/valainterfacewriter.vala: support constants and ellipsis
1498           parameters
1499         * vala/valaconstant.vala: make initializer optional
1500         * vala/valainterface.vala: implement get_lower_case_cprefix ()
1501         * vala/valanamespace.vala: support constants
1503 2006-08-10  Jürg Billeter  <j@bitron.ch>
1505         * vala/scanner.l: accept real literals with trailing dot
1506         * vala/valasymbolresolver.vala: ignore non-type symbols
1507         * vala/valacodegenerator.vala: support float and double properties,
1508           adapt to Field changes, support compound assignments in properties
1509         * vala/valainterfacewriter.vala: support ReferenceType attribute
1510         * vala/valaclass.vala: implement get_lower_case_cprefix ()
1511         * vala/valadatatype.vala: add get_lower_case_cprefix () method
1512         * vala/valafield.vala: let get_cname return full C name
1513         * vala/valamethod.vala: use DataType.get_lower_case_cprefix ()
1514         * vala/valastruct.vala: implement get_lower_case_cprefix (), add
1515           set_is_reference_type () method
1517 2006-08-09  Jürg Billeter  <j@bitron.ch>
1519         * vala/parser.y: adapt to Vala.Signal change
1520         * vala/valaattributeprocessor.vala: process signal attributes
1521         * vala/valacodegenerator.vala: manage memory of element access
1522           expressions, mark get_property and set_property functions static,
1523           support signal emitter functions
1524         * vala/valacodecontext.vala: use get_cinclude_filename method
1525         * vala/valainterfacewriter.vala: use C header filename of namespace,
1526           support signals, support NoAccessorMethod attribute
1527         * vala/valadatatype.vala: add default arguments
1528         * vala/valaenum.vala: make set_cprefix method public
1529         * vala/valanamespace.vala: add get_cheader_filename and
1530           set_cheader_filename methods
1531         * vala/valasignal.vala: add has_emitter property, add process_attributes
1532           method
1533         * vala/valasourcefile.vala: add get_cinclude_filename method
1534         * compiler/valacompiler.vala: adapt to SourceFile changes
1536 2006-08-05  Jürg Billeter  <j@bitron.ch>
1538         * vala/valaparser.vala: only parse .vala source files
1539         * vala/valasymbolbuilder.vala, vala/valaproperty.vala: support disabling
1540           automatic property accessor generation
1541         * vala/valasemanticanalyzer.vala: fix typo
1542         * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
1543           vala/valacodecontext.vala: use correct includes for libraries
1544         * vala/valacodegenerator.vala: use get_canonical_cconstant method for
1545           signals
1546         * vala/valainterfacewriter.vala: support interfaces, non-null types,
1547           callbacks, and construction methods
1548         * vala/valasignal.vala: add get_canonical_cconstant method
1549         * vala/valaenum.vala, vala/valainterface.vala, vala/valanamespace.vala,
1550           vala/valastruct: add default arguments
1551         * vala/Makefile.am: install libvala.so and header files
1552         * ccode/Makefile.am: install header files
1553         * compiler/valacompiler.vala: set library name in code context
1554         * compiler/Makefile.am: adapt to build system changes
1555         * vapi/glib-2.0.vala: add skeletons for Callback, Closure, IOChannel,
1556           TimeVal, Scanner, SpawnFlags, OptionGroup, MarkupParser, and Quark
1557         * vapi/Makefile.am: add vala-1.0.vala
1558         * vala-1.0.pc.in
1559         * configure.ac: disable static library by default, add vala-1.0.pc
1560         * Makefile.am: add vala-1.0.pc
1562 2006-08-02  Jürg Billeter  <j@bitron.ch>
1564         * configure.ac: Post-release version bump.
1566 2006-08-02  Jürg Billeter  <j@bitron.ch>
1568         * NEWS: update for 0.0.2 release
1569         * vala/valasemanticanalyzer.vala: check for floating reference in
1570           construction methods
1571         * vala/valasourcefile.vala, vala/valacodegenerator.vala,
1572           ccode/valaccodeincludedirective.vala: differentiate between
1573           package-internal and external includes
1574         * vapi/gtk+-2.0.vala: port to construction methods
1576 2006-08-02  Jürg Billeter  <j@bitron.ch>
1578         * port to construction methods
1579         * vala/valaparenthesizedexpression.vala, vala/valareport.vala,
1580           vala/valareturnstatement.vala, vala/valasourcefilecycle.vala,
1581           vala/valasourcereference.vala, vala/valatypecheck.vala,
1582           vala/valatypeofexpression.vala, vala/valatypeparameter.vala: add
1583           interface documentation, use implicit namespace specification
1584         * vala/Makefile.am: sort source file list
1586 2006-08-02  Jürg Billeter  <j@bitron.ch>
1588         * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
1589           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
1590           vala/valainterfacewriter.vala, vala/valaclass.vala,
1591           vala/valaexpressionstatement.vala, vala/valamethod.vala,
1592           vala/valaobjectcreationexpression.vala, vala/valastatement.vala,
1593           vala/valastruct.vala: add support for construction methods
1594         * vala/valabooleanliteral.vala, vala/valaexpression.vala,
1595           vala/valaintegerliteral.vala, vala/valaliteral.vala,
1596           vala/valaliteralexpression.vala, vala/valamemberaccess.vala: add
1597           to_string method
1598         * vala/valamemberaccess.vala, vala/valatypereference.vala: support
1599           storing type arguments in MemberAccess
1600         * vala/valacodenode.vala: add parent_node property
1601         * vala/parser.y, vala/valaifstatement.vala: only allow blocks as
1602           embedded statements
1603         * vala/valaenum.vala: implement get_type_id method
1604         * vala/valainterfacewriter.vala: output default expressions of formal
1605           parameters
1606         * vala/valaformalparameter.vala: visit default expression
1607         * vala/valaobjectcreationexpression.vala, vala/valanullliteral.vala,
1608           vala/valaproperty.vala, vala/valapropertyaccessor.vala: add interface
1609           documentation, use implicit namespace specification
1610         * vala/vala.h: add valaelementaccess.h and valarealliteral.h
1611         * ccode/valaccodememberaccess.vala: don't mark is_pointer as construct
1612         * vapi/glib-2.0.vala: add GValue
1613         * vapi/gtk+-2.0.vala: small updates
1615 2006-07-31  Jürg Billeter  <j@bitron.ch>
1617         * vala/parser.y: support prefix increment and decrement, fix parsing
1618           opening parens
1619         * vala/valasemanticanalyzer.vala: fix some bugs in error handling,
1620           support prefix increment and decrement
1621         * vala/valacodegenerator.vala: support prefix increment and decrement
1622         * vala/valanamespace.vala: add interface documentation, use implicit
1623           namespace specification
1624         * vala/valaunaryexpression.vala: support prefix increment and decrement
1625         * ccode/valaccodeunaryexpression.vala: support prefix increment and
1626           decrement
1627         * vapi/glib-2.0.vala: add Environment struct
1629 2006-07-27  Jürg Billeter  <j@bitron.ch>
1631         * vala/scanner.l: support CASE, DEFAULT, DO, and SWITCH
1632         * vala/parser.y: support switch and do statements
1633         * vala/valacodevisitor.vala: add support for switch and do statements
1634         * vala/valadostatement.vala
1635         * vala/valaswitchlabel.vala
1636         * vala/valaswitchsection.vala
1637         * vala/valaswitchstatement.vala
1638         * vala/valastatement.vala, vala/valasymbol.vala,
1639           vala/valaunaryexpression.vala, vala/valavariabledeclarator.vala,
1640           vala/valawhilestatement.vala: add interface documentation, use
1641           implicit namespace specification
1642         * vala/vala.h, vala/Makefile.am: update
1643         * vapi/glib-2.0.vala: don't use default keyword
1645 2006-07-27  Jürg Billeter  <j@bitron.ch>
1647         * vala/parser.y: support for loops with local variable declaration in
1648           initializer
1650 2006-07-27  Jürg Billeter  <j@bitron.ch>
1652         * vala/parser.y: don't require developer to explicitly write static in
1653           namespace field declarations, support type parameters in interfaces
1654           and callbacks
1655         * vala/valasymbolresolver.vala: support interfaces and callbacks
1656         * vala/valasemanticanalyzer.vala: use is_subtype_of method, support
1657           callbacks in fields
1658         * vala/valamemorymanager.vala: support callbacks in fields
1659         * vala/valacodegenerator.vala: support callbacks in fields
1660         * vala/valacallback.vala: support type parameters
1661         * vala/valaclass.vala: add is_subtype_of method
1662         * vala/valadatatype.vala: add is_subtype_of method
1663         * vala/valainterface.vala: add is_subtype_of method
1665 2006-07-26  Jürg Billeter  <j@bitron.ch>
1667         * vala/scanner.l: support casting arrays
1668         * vala/parser.y: don't require developer to explicitly write static in
1669           namespace method declarations
1670         * vala/valaarray.vala: correct cname for arrays with value-type elements
1671         * vala/valacodenode.vala: save source line reference in ccodenode
1672         * ccode/valaccodelinedirective.vala
1673         * ccode/valaccodenode.vala: support source line reference
1674         * ccode/Makefile.am: update
1675         * vapi/glib-2.0.vala: add to_string methods to integer types, add size
1676           method to string, add u_sleep method to Thread, fix memory management
1677           in List and SList, add sort method to List
1679 2006-07-19  Jürg Billeter  <j@bitron.ch>
1681         * vala/valatypereference.vala: use more expressive property names, add
1682           stricter () method
1683         * vala/parser.y, vala/valasymbolbuilder.vala,
1684           vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala,
1685           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
1686           vala/valainterfacewriter.vala, vala/valasourcefile.vala,
1687           vala/valacallback.vala, vala/valaclassregisterfunction.vala,
1688           vala/valasignal.vala: adapt to changes in TypeReference
1689         * vala/valasourcefile.vala: replace public fields by properties /
1690           private fields
1691         * vala/valacodecontext.vala: adapt to changes in SourceFile
1692         * vala/valaparser.vala: correct handling of source files without header
1693           comments
1694         * vala/valasymbolbuilder.vala: don't generate code for VAPI files
1695         * vala/valasemanticanalyzer.vala: report error respectively warning if
1696           method return type misses ownership transfer
1697         * vala/valainterfacewriter.vala: correct property declaration output
1698         * vala/valaparser.vala, vala/valasourcefile.vala, vala/valaliteral.vala,
1699           vala/valamemberaccessibility.vala, vala/valanamedargument.vala,
1700           vala/valanamespacereference.vala, vala/valatypereference.vala: add
1701           interface documentation, use implicit namespace specification
1703 2006-07-18  Jürg Billeter  <j@bitron.ch>
1705         * vala/valasymbolresolver.vala: make sure that current_scope isn't null
1706         * vala/valamemorymanager.vala: start to support memory management with
1707           generics
1708         * vala/valacodegenerator.vala: support iteration over SList, properties
1709           without accessor methods
1710         * vapi/glib-2.0.vala: add string.hash (), Error fields and SList
1711         * vapi/gtk+-2.0.vala: add StatusIcon class
1712         * README: mention exceptions
1714 2006-07-16  Jürg Billeter  <j@bitron.ch>
1716         * configure.ac: Post-release version bump.
1717         * vala/parser.y: remove g_object_unref call to fix crash in parsing
1718           array declarations
1719         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
1720           creating structs
1721         * vapi/glib-2.0.vala: GString enhancements
1722         * vapi/Makefile.am: dist gtk+-2.0.vala and pango.vala
1724 2006-07-15  Jürg Billeter  <j@bitron.ch>
1726         * NEWS: update for 0.0.1 release
1727         * README: add introduction
1728         * COPYING: replace by LGPL
1729         * compiler/valacompiler.vala: add /usr/local/share/vala/vapi ad default
1730           vapi search dir
1731         * vapi/glib-2.0.vala: File and HashTable enhancements
1733 2006-07-14  Raffaele Sandrini  <rasa@gmx.ch>
1735         * vala/valacodegenerator.vala, vala/valasymbolresolver.vala,
1736           vala/scanner.l, vala/valatypereference.vala,
1737           vala/valasemanticanalyzer.vala, vala/valaelementaccess.vala,
1738           vala/valadatatype.vala, vala/parser.y, vala/valaarray.vala,
1739           vala/valacodevisitor.vala, ccode/valaccodeelementaccess.vala: add
1740           element access support
1741         * vala/valasemanticanalyzer.vala: add visit_postfix_expression
1742           implementation
1743         * tests/test-019.vala: add element access testcase
1744         * vala/Makefile.am, tests/Makefile.am, ccode/Makefile.am: update
1746 2006-07-14  Jürg Billeter  <j@bitron.ch>
1748         * vala/valacodecontext.vala: ignore file-internal dependencies
1749         * vala/valasemanticanalyzer.vala: mark string literals as non-null, add
1750           some implicit casts
1751         * vala/valamemorymanager.vala: only check for leaks with reference
1752           types, manage memory in field initializers
1753         * vala/valacodegenerator.vala: add non-null parameter typechecks for
1754           structs, simplify ref expression if expression is known to be non-null
1755         * vapi/glib-2.0.vala: unichar, string, String, and Path enhancements,
1756           add Base64 and Dir
1758 2006-07-10  Jürg Billeter  <j@bitron.ch>
1760         * vala/parser.y: adapt to changes in InvocationExpression,
1761           LocalVariableDeclaration, and InitializerList
1762         * vala/valasemanticanalyzer.vala: add some implicit casts, fix assigning
1763           callback to field, adapt to changes in InvocationExpression
1764         * vala/valamemorymanager.vala: adapt to change in InvocationExpression
1765         * vala/valacodegenerator.vala: fix signal handler without parameters,
1766           fix access to value-type struct members, adapt to changes in
1767           LocalVariableDeclaration, InitializerList, and InvocationExprssion
1768         * vala/valaclass.vala: don't let private static fields influence
1769           has_private_fields, correct marshaller type name
1770         * vala/valaifstatement.vala, vala/valainitializerlist.vala,
1771           vala/valainstancecast.vala, vala/valaintegerliteral.vala,
1772           vala/valainvocationexpression.vala, vala/valaliteralexpression.vala,
1773           vala/valalocalvariabledeclaration.vala: add interface documentation,
1774           use implicit namespace specification
1775         * compiler/valacompiler.vala: fix --vapidir handling
1776         * vapi/glib-2.0.vala: add MainLoop, MainContext, IdleSource, Source, and
1777           Thread
1779 2006-07-08  Jürg Billeter  <j@bitron.ch>
1781         * vala/valasemanticanalyzer.vala: don't allow write access to read-only
1782           properties
1783         * vala/valacodegenerator.vala: adapt to changes in CCodeFragment and
1784           CCommaExpression
1785         * vala/valapostfixexpression.vala, ccode/valaccodebinaryexpression.vala,
1786           ccode/valaccodeblock.vala, ccode/valaccodebreakstatement.vala,
1787           ccode/valaccodecasestatement.vala,
1788           ccode/valaccodecommaexpressoin.vala, ccode/valaccodecomment.vala,
1789           ccode/valaccodeconditionalexpression.vala,
1790           ccode/valaccodeconstant.vala, ccode/valaccodecontinuestatement.vala,
1791           ccode/valaccodedeclaration.vala, ccode/valaccodedeclarator.vala,
1792           ccode/valaccodeenum.vala, ccode/valaccodeemptystatement.vala,
1793           ccode/valaccodeexpressionstatement.vala,
1794           ccode/valaccodeformalparameter.vala, ccode/valaccodeforstatement.vala,
1795           ccode/valaccodefragment.vala, ccode/valaccodefunction.vala,
1796           ccode/valaccodefunctioncall.vala,
1797           ccode/valaccodefunctiondeclarator.vala,
1798           ccode/valaccodeidentifier.vala, ccode/valaccodeifstatement.vala,
1799           ccode/valaccodeincludedirective.vala,
1800           ccode/valaccodeinitializerlist.vala,
1801           ccode/valaccodemacroreplacement.vala,
1802           ccode/valaccodememberaccess.vala, ccode/valaccodemodifiers.vala,
1803           ccode/valaccodenewline.vala, ccode/valaccodeoncesection.vala,
1804           ccode/valaccodeparenthesizedexpression.vala,
1805           ccode/valaccodereturnstatement.vala, ccode/valaccodestatement.vala,
1806           ccode/valaccodestruct.vala, ccode/valaccodeswitchstatement.vala,
1807           ccode/valaccodeunaryexpression.vala,
1808           ccode/valaccodevariabledeclarator.vala,
1809           ccode/valaccodewhilestatement.vala, ccode/valaccodewriter.vala: add
1810           interface documentation, use implicit namespace specification
1812 2006-07-08  Jürg Billeter  <j@bitron.ch>
1814         * vala/valasemanticanalyzer.vala: don't allow access to private members
1816 2006-07-08  Jürg Billeter  <j@bitron.ch>
1818         * vala/valasemanticanalyzer.vala: check method signatures of overriding
1819           methods
1820         * vala/parser.y, vala/valaclassregisterfunction.vala,
1821           vala/valatyperegisterfunction.vala: support abstract classes
1822         * vala/valamethod.vala: add equals method
1823         * vala/valatypereference.vala: add equals method
1824         * corrects overriding methods to match signatures of overridden methods
1825           to fix build with current compiler
1827 2006-07-08  Jürg Billeter  <j@bitron.ch>
1829         * vala/parser.y, vala/valacodegenerator.vala: adapt to ForStatement API
1830           changes
1831         * vala/valaclass.vala: make {get,set}_lower_case_csuffix methods private
1832         * vala/valaenum.vala, vala/valaenumvalue.vala,
1833           vala/valaexpressionstatement.vala, vala/valafield.vala,
1834           vala/valaflags.vala, vala/valaflagsvalue.vala,
1835           vala/valaforeachstatement.vala, vala/valaforstatement.vala: add
1836           interface documentation, use implicit namespace specification
1838 2006-07-08  Jürg Billeter  <j@bitron.ch>
1840         * vala/parser.y: adapt to Method API changes
1841         * vala/valasemanticanalyzer.vala: support signals, mark private signal
1842           handlers as instance_last
1843         * vala/valamemorymanager.vala: support signals
1844         * vala/valacodegenerator.vala: support signals, methods with
1845           instance_last
1846         * vala/valaclass.vala: add get_type_id and get_marshaller_type_name
1847           methods
1848         * vala/valadatatype.vala: add get_marshaller_type_name method
1849         * vala/valastruct.vala: move type_id attribute to CCode, support
1850           marshaller_type_name attribute
1851         * vala/valainterfacewriter.vala, vala/valamethod.vala,
1852           vala/valastruct.vala, ccode/valaccodeexpression.vala,
1853           ccode/valaccodenode.vala: add interface documentation, use implicit
1854           namespace specification
1855         * vala/valacallback.vala, vala/valasignal.vala: improve documentation
1856         * ccode/valaccodecastexpression.vala: type cast in C code
1857         * ccode/Makefile.am: update
1858         * tests/test-018.vala: test signals
1859         * tests/Makefile.am: update
1860         * vapi/glib-2.0.vala: add type_id and marshaller_type_name attributes
1862 2006-07-07  Jürg Billeter  <j@bitron.ch>
1864         * vala/valacodegenerator.vala, vala/valaclassregisterfunction.vala:
1865           support interfaces
1866         * vala/parser.y, vala/valasemanticanalyzer.vala,
1867           vala/valalambdaexpression.vala: support lambda expressions with
1868           statement body
1869         * vala/valaclassregisterfunction.vala, vala/valaemptystatement.vala,
1870           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
1871           vala/valatyperegisterfunction.vala: add interface documentation, use
1872           implicit namespace specification
1873         * tests/test-015.vala: test lambda expressions with statement body
1874         * tests/test-017.vala: test interfaces
1875         * tests/Makefile.am: update
1877 2006-07-07  Jürg Billeter  <j@bitron.ch>
1879         * vala/valaconstructor.vala, vala/valacontinuestatement.vala,
1880           vala/valadeclarationstatement.vala, vala/valadestructor.vala: add
1881           interface documentation, use implicit namespace specification
1883 2006-07-07  Jürg Billeter  <j@bitron.ch>
1885         * vala/valacodecontext.vala: use continue statements to decrease
1886           indentation levels
1887         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
1888           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1889           vala/valacodegenerator.vala, vala/valaconditionalexpression.vala,
1890           vala/valaconstant.vala: add interface documentation, use implicit
1891           namespace specification
1892         * vala/valasemanticanalyzer.vala: check that if, while, for, and
1893           conditional expression conditions are boolean
1894         * vala/valaclass.vala: remove dummy accessor, breaks build with old
1895           vala compiler
1896         * compiler/valacompiler.vala: use implicit namespace specification
1897         * tests/test-016.vala: test conditional expressions
1898         * tests/Makefile.am: update
1900 2006-07-07  Jürg Billeter  <j@bitron.ch>
1902         * vala/valacodecontext.vala: add interface documentation, use implicit
1903           namespace specification
1904         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
1905           vala/valasemanticanalyzer.vala: adapt to change in CodeContext
1907 2006-07-06  Jürg Billeter  <j@bitron.ch>
1909         * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
1910           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1911           vala/valacodegenerator.vala, vala/valatypereference.vala, vala/vala.h,
1912           vala/Makefile.am: merge SimpleName into MemberAccess
1913         * vala/valasymbolresolver.vala, vala/valainterfacewriter.vala: adapt to
1914           change in Class
1915         * vala/valasemanticanalyzer.vala: support non-static lambda expressions
1916           and lambda expressions without return values
1917         * vala/valacodegenerator.vala: support conditional expressions, support
1918           lambda expressions as signal handlers, support read-only and
1919           write-only properties
1920         * vala/valacodevisitor.vala, vala/valamemorymanager.vala,
1921           vala/valaassignment.vala: visit at beginning and end
1922         * vala/valacallback.vala: add instance property
1923         * vala/valasignal.vala: add get_callback method
1924         * vala/valacastexpression.vala, vala/valacharacterliteral.vala,
1925           vala/valaclass.vala, vala/valamemberaccess.vala, vala/valasignal.vala:
1926           add interface documentation, use implicit namespace specification
1928 2006-07-05  Jürg Billeter  <j@bitron.ch>
1930         * vala/parser.y: don't pass parameter list to lambda expression
1931           contructor
1932         * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1933           vala/valacodegenerator.vala: support static lambda expressions and
1934           nested methods
1935         * vala/valainvocationexpression.vala: visit call node before visiting
1936           begin of invocation expression
1937         * vala/valaformalparameter.vala, vala/valalambdaexpression.vala: add
1938           interface documentation, use implicit namespace specification
1939         * vala/valamethod.vala: allow nested methods
1940         * tests/test-015.vala: test lambda expressions
1941         * tests/Makefile.am: update
1943 2006-07-04  Jürg Billeter  <j@bitron.ch>
1945         * vala/parser.y: support implicit namespace specification in callback
1946           declaration
1947         * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1948           vala/valacodegenerator.vala: support callbacks
1949         * vala/valaassignment.vala, vala/valabinaryexpression.vala: improve
1950           documentation
1951         * vala/valabooleanliteral.vala, vala/valabreakstatement.vala,
1952           vala/valacallback.vala: add interface documentation, use implicit
1953           namespace specification
1954         * vala/valacallback.vala: add matches_method method, mark as
1955           non-reference type
1956         * ccode/valaccodetypedefinition.vala: replace typedef_name by
1957           declarator, add interface documentation, use implicit namespace
1958           specification
1959         * tests/test-013.vala: test break
1960         * tests/test-014.vala: test callback
1961         * tests/Makefile.am: update
1963 2006-07-04  Jürg Billeter  <j@bitron.ch>
1965         * vala/valablock.vala: add interface documentation, use implicit
1966           namespace specification
1967         * tests/test-011.vala: test binary expressions
1968         * tests/test-012.vala: test blocks
1969         * configure.ac, Makefile.am, tests/Makefile.am: distribute tests
1971 2006-07-04  Jürg Billeter  <j@bitron.ch>
1973         * vala/valacodevisitor.vala, vala/valaattributeprocessor.vala,
1974           vala/valabinaryexpression.vala: add interface documentation, use
1975           implicit namespace specification
1976         * vala/valaassignment.vala, vala/valaattribute.vala: documentation
1977           corrections
1979 2006-07-04  Jürg Billeter  <j@bitron.ch>
1981         * vala/valacodegenerator.vala: generate assignment with appropriate
1982           operator
1983         * vala/valaassignment.vala: use implicit namespace specification
1984         * ccode/valaccodeassignment.vala: support assignment operators , add
1985           interface documentation, use implicit namespace specification
1986         * tests/test-010.vala: test assignments
1988 2006-07-03  Jürg Billeter  <j@bitron.ch>
1990         * vala/parser.y: support implicit namespace specification in struct,
1991           interface, enum, and flags declaration
1992         * vala/valasymbolbuilder.vala: report error when declaring non-static
1993           namespace methods
1994         * vala/valasemanticanalyzer.vala: analyze return statements
1995         * vala/valacodegenerator.vala: correctly set GParamFlags for properties,
1996           initialize static variables, add preconditions to property accessors,
1997           support namespace methods
1998         * vala/valaassignment.vala, vala/valaattribute.vala: add interface
1999           documentation, use implicit namespace specification
2000         * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
2001           tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
2002           tests/test-007.vala, tests/test-008.vala, tests/test-009.vala:
2003           update test cases to print test values
2005 2006-06-30  Jürg Billeter  <j@bitron.ch>
2007         * vala/valacodenode.vala, vala/valadatatype.vala,
2008           vala/valaexpression.vala: use implicit namespace specification,
2009           reformat code
2011 2006-06-30  Jürg Billeter  <j@bitron.ch>
2013         * vala/parser.y: support implicit namespace specification in class
2014           declaration
2016 2006-06-29  Jürg Billeter  <j@bitron.ch>
2018         * vala/valacodegenerator.vala, vala/valaclass.vala,
2019           vala/valadatatype.vala, vala/valastruct.vala: distinguish between
2020           ref_function/unref_function and dup_function/free_function
2021         * vala/valadatatype.vala: add interface documentation
2022         * vapi/glib-2.0.vala: use dup_function attribute, keep ref_function for
2023           compatibility
2025 2006-06-29  Jürg Billeter  <j@bitron.ch>
2027         * vala/valacodenode.vala, vala/valaexpression.vala: add interface
2028           documentation
2030 2006-06-28  Jürg Billeter  <j@bitron.ch>
2032         * vala/valasymbolbuilder.vala: add private add_symbol helper method
2033         * vala/valasymbolresolver.vala: tiny refactoring of GObject lookup
2034         * vala/valasemanticanalyzer.vala: use get_parameters method of Callback
2035         * vala/valacallback.vala, vala/valaintegerliteral.vala,
2036           vala/valarealliteral.vala, vala/valastringliteral.vala: replace public
2037           fields by properties / private fields, don't mark properties as
2038           construct-only, use non-null types
2039         * vala/valaattribute.vala, vala/valacodenode.vala,
2040           vala/valaconstructor.vala, vala/valadatatype.vala,
2041           vala/valadestructor.vala, vala/valaenumvalue.vala,
2042           vala/valaexpression.vala, vala/valafield.vala,
2043           vala/valaflagsvalue.vala, vala/valaformalparameter.vala,
2044           vala/valaliteral.vala, vala/valalocalvariabledeclaration.vala,
2045           vala/valamethod.vala, vala/valanamedargument.vala,
2046           vala/valanamespace.vala, vala/valanamespacereference.vala,
2047           vala/valaproperty.vala, vala/valapropertyaccessor.vala,
2048           vala/valasignal.vala, vala/valastatement.vala,
2049           vala/valatypeparameter.vala, vala/valatypereference.vala,
2050           vala/valavariabledeclarator.vala: move source_reference to CodeNode
2052 2006-06-28  Jürg Billeter  <j@bitron.ch>
2054         * vala/valabooleanliteral.vala, vala/valacharacterliteral.vala,
2055           vala/valaintegerliteral.vala, vala/valaliteral.vala,
2056           vala/valanullliteral.vala, vala/valarealliteral.vala,
2057           vala/valastringliteral.vala: move source_reference to Vala.Literal,
2058           use non-null types, don't mark properties as construct-only
2060 2006-06-26  Jürg Billeter  <j@bitron.ch>
2062         * vala/parser.y: plug some memory leaks, adapt to Vala.Block changes
2063         * vala/valaattribute.vala, vala/valabinaryexpression.vala,
2064           vala/valablock.vala, vala/valabooleanexpression.vala,
2065           vala/valabreakstatement.vala, vala/valaliteral.vala,
2066           vala/valastatement.vala: replace public fields by properties / private
2067           fields, don't mark properties as construct-only, use non-null types
2068         * vala/valadatatype.vala: renamed from Vala.Type_ to Vala.DataType
2069         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
2070           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
2071           vala/valasourcefile.vala, vala/valacallback.vala, vala/valaclass.vala,
2072           vala/valaclassregisterfunction.vala, vala/valaconstant.vala,
2073           vala/valaenum.vala, vala/valaflags.vala, vala/valainstancecast.vala,
2074           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
2075           vala/valamethod.vala, vala/valastruct.vala,
2076           vala/valatypeparameter.vala, vala/valatypereference.vala,
2077           vala/valatypergisterfunction.vala: adapt to renaming of Vala.Type_ to
2078           Vala.DataType
2079         * vala/Makefile.am: update
2081 2006-06-22  Jürg Billeter  <j@bitron.ch>
2083         * vala/valaassignment.vala: don't mark properties as construct-only,
2084           use non-null types
2085         * vala/valacodenode.vala: use non-null type
2086         * vala/valaexpression.vala: replace public fields by properties
2088 2006-06-22  Jürg Billeter  <j@bitron.ch>
2090         * vala/parser.y: replace specialized interface member declarations by
2091           standard member declarations to allow non-abstract methods in
2092           interfaces
2093         * vala/valacodegenerator.vala: cast instance in property setter
2094           invocations
2096 2006-06-22  Jürg Billeter  <j@bitron.ch>
2098         * vala/scanner.l: support LAMBDA and CALLBACK
2099         * vala/parser.y: support callbacks and lambda expressions
2100         * vala/valacodevisitor.vala: add visit methods for callbacks and lambda
2101           expressions
2102         * vala/valasymbolbuilder.vala: use non-null parameter types, support
2103           callbacks
2104         * vala/valasemanticanalyzer.vala: partially support interface methods,
2105           support callback invocations
2106         * vala/valamemorymanager.vala: support callback invocations
2107         * vala/valacodegenerator.vala: partially support interface methods
2108         * vala/valacallback.vala: initial implementation
2109         * vala/valacodenode.vala: replace public fields by properties
2110         * vala/valaexpression.vala: add expected_type field
2111         * vala/valainvocationexpression.vala: also visit at beginning
2112         * vala/valalambdaexpression.vala
2113         * vala/valanamespace.vala: support callbacks
2114         * vala/vala.h: update
2115         * vala/Makefile.am: update
2117 2006-06-18  Jürg Billeter  <j@bitron.ch>
2119         * vala/scanner.l: support TYPEOF
2120         * vala/parser.y: support typeof expressions, out ref parameters, and
2121           enum attributes
2122         * vala/valacodevisitor.vala: add visit method for typeof expressions
2123         * vala/valaattributeprocessor.vala: use non-null parameter types,
2124           support enums and properties
2125         * vala/valasemanticanalyzer.vala: support floating references
2126         * vala/valamemorymanager.vala: ignore signal connections
2127         * vala/valacodegenerator.vala: reset temp variable id at beginning of
2128           each file, fix out parameters, support properties without accessor
2129           methods, support floating references, add typeof expression, support
2130           static signal handlers
2131         * vala/valaclass.vala: use default arguments
2132         * vala/valaenum.vala: support cname, cprefix, and cheader_filename
2133           attributes
2134         * vala/valaenumvalue.vala: use Enum.get_cprefix ()
2135         * vala/valamethod.vala: support FloatingReference attribute
2136         * vala/valanamespace.vala: use default arguments
2137         * vala/valaproperty.vala: support NoAccessorMethod attribute
2138         * vala/valastruct.vala: support type_id
2139         * vala/valatype.vala: add abstract get_type_id method
2140         * vala/valatypeofexpression.vala
2141         * vala/valatypereference.vala: add floating_reference property, correct
2142           to_string method signature
2143         * vala/vala.h: update
2144         * vala/Makefile.am: update
2145         * vapi/glib-2.0.vala: add GInitiallyUnowned
2146         * vapi/gtk+-2.0.vala: start of a GTK+ binding
2147         * vapi/pango.vala: start of a Pango binding
2149 2006-06-17  Jürg Billeter  <j@bitron.ch>
2151         * vala/scanner.l: don't leak comment texts, support generic types with
2152           weak arguments
2153         * vala/parser.y: plug most memory leaks
2154         * vala/valacodecontext.vala: work around memory management issues
2155         * vala/valasourcefile.vala: break reference cycles
2156         * vala/valasourcefilecycle.vala: break reference cycles
2157         * vala/valasymbolbuilder.vala: store `this` and `value` parameters in
2158           appropriate member node
2159         * vala/valasymbolresolver.vala: break reference cycle
2160         * vala/valasemanticanalyzer.vala: break reference cycle, promote local
2161           variables with ownership transferring initializer, store foreach
2162           variable declarator in statement object, assignments to properties
2163           don't take value ownership, make null type checks behave well on
2164           either side of a comparison
2165         * vala/valamemorymanager.vala: add support for named arguments,
2166           properties, and ellipsis parameter
2167         * vala/valacodegenerator.vala: add dispose function, register properties
2168           with static strings, don't leak strings when setting properties,
2169           support freeing string arrays, support freeing lists with allocated
2170           items, free local variables before return statements, free old value
2171           on assignments
2172         * vala/valainterfacewriter.vala: output more type reference information
2173         * vala/valaforeachstatement.vala: reference variable_declarator
2174         * vala/valaforstatement.vala: correct generic type arguments
2175         * vala/valamethod.vala: break reference cycle
2176         * vala/valaproperty.vala: reference this_parameter, add
2177           get_canoncial_cconstant method
2178         * vala/valapropertyaccessor.vala: reference value_parameter
2179         * vala/valasimplename.vala: remove unneeded type_argument_list
2180           parameter from constructor
2181         * vala/valasourcereference.vala: let to_string transfer ownership
2182         * vala/valastruct.vala: correct generic type argument
2183         * vala/valasymbol.vala: improve memory management
2184         * vala/valatype.vala: break reference cycles, let get_lower_case_cname
2185           transfer ownership
2186         * vala/valatypereference.vala: break reference cycle, use
2187           type_argument_list
2188         * vala/vala.h: add valaflags.h
2189         * ccode/valaccodefunction.vala: work around missing list deep copy
2190         * ccode/valaccodewriter.vala: don't manually free objects
2191         * compiler/valacompiler.vala: enable memory management by default,
2192           valac doesn't work anymore without memory management
2193         * vapi/glib-2.0.vala: add memory management information
2195 2006-06-15  Jürg Billeter  <j@bitron.ch>
2197         * vala/valasemanticanalyzer.vala: add local variables to block
2198         * vala/valamemorymanager.vala: analyze local variable initializers
2199         * vala/valacodegenerator.vala: free local variables at end of block,
2200           only free non-null variables, use some strong references due to memory
2201           manager deficiencies
2202         * vala/valablock.vala: use non-null parameter types, add local variable
2203           declarators
2204         * vala/valaenum.vala: let get_upper_case_cname transfer ownership
2205         * vala/valastruct.vala: add free_function attribute
2206         * ccode/valaccodewriter.vala: set freed values to null
2207         * vapi/glib-2.0.vala: add free functions
2209 2006-06-15  Raffaele Sandrini <rasa@gmx.ch>
2211         * vapi/libxml-2.0.vala: add basic libxml2 reader support
2212         * vapi/Makefile.am: add libxml-2.0.vala
2214 2006-06-14  Jürg Billeter  <j@bitron.ch>
2216         * vala/parser.y: set is_lvalue_ref in property declarations
2217         * vala/valacodecontext.vala: use non-null parameter types
2218         * vala/valasymbolresolver.vala: fix lookup in namespaces of using
2219           directives, reset is_lvalue_ref where appropriate
2220         * vala/valasemanticanalyzer.vala: use non-null parameter types,
2221           correctly set is_ref and is_lvalue_ref in variable declarators
2222         * vala/valamemorymanager.vala: support methods which transfer ownership
2223           of arguments and or return value, analyze assignments
2224         * vala/valacodegenerator.vala: add missing reference increment calls,
2225           small memory management improvements
2226         * vala/valaclass.vala: use non-null parameter types
2227         * vala/valaexpression.vala: add ref_missing
2228         * vala/valastruct.vala: support ref_function attribute, use non-null
2229           parameter types
2230         * vala/valatype.vala: let get_upper_case_cname return ref string
2231         * vala/valatypereference.vala: add copy method
2232         * ccode/valaccodeconditionalexpression.vala
2233         * ccode/valaccodefunctioncall.vala: use non-null parameter types
2234         * ccode/Makefile.am: update
2235         * compiler/valacompiler.vala: process attributes before resolving
2236           symbols to have reference_type information available in resolver
2237         * vapi/glib-2.0.vala: add ref_function attributes to string and List,
2238           use ref parameters in List and HashTable until the compiler can handle
2239           it correctly
2241 2006-06-14  Jürg Billeter  <j@bitron.ch>
2243         * vala/parser.y: set is_lvalue_ref for variables and fields
2244         * vala/valasemanticanalyzer.vala: variables and fields never transfer
2245           ownership as rvalue
2246         * vala/valamemorymanager.vala: use non-null parameter types, analyze
2247           return statements
2248         * vala/valacodegenerator.vala: use non-null parameter types, support
2249           memory management for temporary variables in variable initializers,
2250           initialize all uninitialized references to null
2251         * vala/valareturnstatement.vala: visit end of full expression
2252         * vala/valatypereference.vala: add is_lvalue_ref property
2253         * vala/valavariabledeclarator.vala: visit end of full expression
2255 2006-06-14  Jürg Billeter  <j@bitron.ch>
2257         * vala/valacodevisitor.vala: use non-null parameter types, add visit
2258           method for full expressions
2259         * vala/valasymbolresolver.vala: add some missing casts
2260         * vala/valasemanticanalyzer.vala: support memory management for
2261           temporary variables
2262         * vala/valamemorymanager.vala: visitor to detect leaked references
2263         * vala/valacodegenerator.vala: add automatic memory management for
2264           temporary variables, add some missing casts
2265         * vala/valaassignment.vala: move source_reference to Expression
2266         * vala/valabinaryexpression.vala: move source_reference to Expression
2267         * vala/valacastexpression.vala: move source_reference to Expression
2268         * vala/valaconditionalexpression.vala: move source_reference to
2269           Expression
2270         * vala/valaclass.vala: implement memory management methods
2271         * vala/valaexpression.vala: add source_reference, ref_leaked, and
2272           temp_vars
2273         * vala/valaforstatement.vala: visit end of full expression
2274         * vala/valaifstatement.vala: visit end of full expression
2275         * vala/valainitializerlist.vala: move source_reference to Expression
2276         * vala/valainvocationexpression.vala: move source_reference to
2277           Expression
2278         * vala/valaliteralexpression.vala: move source_reference to Expression
2279         * vala/valamemberaccess.vala: move source_reference to Expression
2280         * vala/valaobjectcreationexpression.vala: move source_reference to
2281           Expression
2282         * vala/valaparenthesizedexpression.vala: move source_reference to
2283           Expression
2284         * vala/valapostfixexpression.vala: move source_reference to Expression
2285         * vala/valasimplename.vala: move source_reference to Expression
2286         * vala/valastruct.vala: implement memory management methods
2287         * vala/valatype.vala: add abstract is_reference_counting,
2288           get_ref_function, and get_free_function methods
2289         * vala/valatypecheck.vala: move source_reference to Expression
2290         * vala/valaunaryexpression.vala: move source_reference to Expression
2291         * vala/valawhilestatement.vala: visit end of full expression
2292         * vala/Makefile.am: update
2293         * ccode/valaccodecommaexpression.vala
2294         * ccode/Makefile.am: update
2295         * compiler/valacompiler.vala: add enable-memory-management option
2296         * vapi/glib-2.0.vala: minor GType enhancements
2298 2006-06-07  Jürg Billeter  <j@bitron.ch>
2300         * vala/valacodegenerator.vala: fix cname of constants, casts of self
2302 2006-06-07  Jürg Billeter  <j@bitron.ch>
2304         * vala/valasemanticanalyzer.vala: add missing source dependencies
2305         * vala/valacodegenerator.vala: check parameter types at runtime
2307 2006-06-07  Jürg Billeter  <j@bitron.ch>
2309         * vala/scanner.l: support REAL_LITERAL, TILDE, SIGNAL
2310         * vala/parser.y: support flags, signals, constructors, destructors, real
2311           literals, assignment operators, and non-null types
2312         * vala/valacodevisitor.vala: add visit methods for signals,
2313           constructors, destructors, and real literals
2314         * vala/valasymbolbuilder.vala: support signals, constructors,
2315           destructors
2316         * vala/valasemanticanalyzer.vala: support constructors, real literals,
2317           and default arguments, fix lookup in namespaces of using directives
2318         * vala/valacodegenerator.vala: use default arguments and type register
2319           function classes, support constructors, interfaces, real literals,
2320           default arguments, casts, and signals, cast method arguments if
2321           necessary
2322         * vala/valasourcefile.vala: use default arguments
2323         * vala/valaassignment.vala: add operator
2324         * vala/valacallback.vala: skeleton for callbacks
2325         * vala/valaclass.vala: add signals, constructor, and destructor
2326         * vala/valaclassregisterfunction.vala: get_type function for classes
2327         * vala/valaconstant.vala: use default arguments
2328         * vala/valaconstructor.vala
2329         * vala/valadestructor.vala
2330         * vala/valaenum.vala: use default arguments
2331         * vala/valaflags.vala
2332         * vala/valaflagsvalue.vala: 
2333         * vala/valaformalparameter.vala: add default_expression
2334         * vala/valainstancecast.vala: dynamic instance cast
2335         * vala/valainterface.vala: add signals
2336         * vala/valainterfaceregisterfunction.vala: get_type function for
2337           interfaces
2338         * vala/valanamespace.vala: add flags, use default arguments
2339         * vala/valaproperty.vala: use default arguments
2340         * vala/valarealliteral.vala: 
2341         * vala/valasignal.vala
2342         * vala/valastruct.vala: use default arguments
2343         * vala/valastringliteral.vala: use default arguments
2344         * vala/valatypereference.vala: add is_weak property
2345         * vala/valatyperegisterfunction.vala
2346         * vala/vala.h: update
2347         * vala/Makefile.am: update
2348         * ccode/valaccodeblock.vala: add prepend_statement method
2349         * ccode/valaccodewriter.vala: correctly indent multi-line comments
2350         * vapi/glib-2.0.vala: add float and double, use default arguments,
2351           temporarily remove astring
2353 2006-05-31  Jürg Billeter  <j@bitron.ch>
2355         * vala/parser.y: support interfaces, adapt to Class/Struct/Type changes,
2356           improve error handling
2357         * vala/valacodevisitor.vala: support interfaces
2358         * vala/valasymbolbuilder.vala: improve error handling
2359         * vala/valasymbolresolver.vala: use operators to compare strings
2360         * vala/valasemanticanalyzer.vala: improve error handling, convert method
2361           argument and type mismatch warnings to errors, add skeleton for
2362           expressoin type checks, support string comparison operators
2363         * vala/valacodegenerator.vala: fix warning, create structs for
2364           interfaces, adapt to Class/Struct/Type changes, refactor and fix code
2365           in visit_simple_name and visit_member_access, use operators to compare
2366           strings
2367         * vala/valainterfacewriter.vala: use operators to compare strings
2368         * vala/valasourcefile.vala: fix warnings
2369         * vala/valaclass.vala: don't inherit from Struct
2370         * vala/valacodenode.vala: add error flag
2371         * vala/valaconstant.vala: add get_cname method
2372         * vala/valaenum.vala: override get_upper_case_cname method
2373         * vala/valaenumvalue.vala: adapt to Class/Struct/Type changes
2374         * vala/valafield.vala: use operators to compare strings
2375         * vala/valainterface.vala
2376         * vala/valainvocationexpression.vala: add add_argument method
2377         * vala/valamethod.vala: adapt to Class/Struct/Type changes, use
2378           operators to compare strings
2379         * vala/valanamespace.vala: support interfaces, use operators to compare
2380           strings
2381         * vala/valastringliteral.vala: fix warning
2382         * vala/valastruct.vala: inline visit_children method, use operators to
2383           compare strings
2384         * vala/valatype.vala: add abstract get_lower_case_cname method
2385         * vala/valatypereference.vala: add to_string method
2386         * vala/vala.h: update
2387         * vala/Makefile.am: update
2388         * vapi/glib-2.0.vala: small fixes
2390 2006-05-26  Jürg Billeter  <j@bitron.ch>
2392         * vala/valasemanticanalyzer.vala: fix member access to namespaces
2393         * vala/valacodegenerator.vala: adapt to CCodeWriter changes
2394         * ccode/valaccodewriter.vala: don't touch file if nothing has changed,
2395           required to get incremental builds working
2396         * vapi/glib-2.0.vala: extend file functions
2397         
2398         * ccode/Makefile.am,vala/Makefile.am,compiler/Makefile.am: support
2399           incremental builds
2401 2006-05-25  Jürg Billeter  <j@bitron.ch>
2403         * vala/scanner.l: support ELLIPSIS, use g_strdup instead of strdup
2404         * vala/parser.y: support variable argument lists, type access modifiers
2405         * vala/valareport.vala: class to handle error reporting
2406         * vala/valasymbolbuilder.vala: switch to new error reporting scheme
2407         * vala/valasymbolresolver.vala: switch to new error reporting scheme
2408         * vala/valasemanticanalyzer.vala: process Constant and EnumValue symbol
2409           dependencies, check method argument types, find types of unary and
2410           binary expressions, remove dummy field, switch to new error reporting
2411           scheme
2412         * vala/valacodegenerator.vala: support calling functions with variable
2413           argument lists, support break and continue statements, remove dummy fields,
2414           switch to new error reporting scheme
2415         * vala/valainterfacewriter.vala: visitor to write public vala api in one
2416           file
2417         * vala/valasourcefile.vala: support field and property symbol
2418           dependencies, remove dummy field
2419         * vala/valaclass.vala: add is_abstract field
2420         * vala/valaenumvalue.vala: remove dummy field
2421         * vala/valaformalparameter.vala: add ellipsis property
2422         * vala/valamemberaccessibility.vala: add INTERNAL
2423         * vala/valamethod.vala: make parameters public, remove dummy field
2424         * vala/valaproperty.vala: remove dummy field
2425         * vala/valasymbol.vala: add name field and get_full_name method
2426         * vala/valatype.vala: add access field
2427         * vala/valatypereference.vala: switch to new error reporting scheme
2428         * ccode/valaccodeblock.vala: improve formatting
2429         * ccode/valaccodeifstatement.vala: improve formatting
2430         * ccode/valaccodewriter.vala: improve formatting
2431         * compiler/valacompiler.vala: add error handling, support multiple vapi
2432           directories, add --library option to generate public vala api
2433         * vapi/glib-2.0.vala: moved from bindings, add static GLib.stdout field,
2434           correctly mark functions with variable argument lists, add File.test
2435           method
2437         * configure.ac,Makefile.am,ccode/Makefile.am,vala/Makefile.am,
2438           vapi/Makefile.am,compiler/Makefile.am: add build system
2439         
2440         * remove valac subdirectory: Bootstrap compiler is now obsolete.
2441         
2442 2006-05-24  Jürg Billeter  <j@bitron.ch>
2443         
2444         Compiler is now self-hosting.
2446         * vala/parser.y: support type checks, field attributes, and virtual and
2447           override method modifiers
2448         * vala/valacodevisitor.vala: support type checks
2449         * vala/valasymbolbuilder.vala: correct generated property accessors
2450         * vala/valaattributeprocessor.vala: process field attributes
2451         * vala/valasemanticanalyzer.vala: support virtual methods and type
2452           checks
2453         * vala/valacodegenerator.vala: support properties, private fields,
2454           static fields, virtual methods, field initializers, while statements,
2455           foreach statements, instance last methods, postfix expressions, type
2456           checks
2457         * vala/valaclass.vala: correct source reference, add get_properties
2458           method
2459         * vala/valafield.vala: visit initializer, support cname attribute
2460         * vala/valamethod.vala: support ReturnsModifiedPointer and InstanceLast
2461           attributes, add is_virtual, is_override, and base_method fields, add
2462           get_real_cname method
2463         * vala/valaproperty.vala: add get_upper_case_cname method
2464         * vala/valastruct.vala: add has_private_fields attribute, add
2465           get_methods method
2466         * vala/valatypecheck.vala
2467         * vala/vala.h: update
2468         * ccode/valaccodebreakstatement.vala
2469         * ccode/valaccodecasestatement.vala
2470         * ccode/valaccodecontinuestatement.vala
2471         * ccode/valaccodedeclaration.vala: renamed from
2472           CCodeDeclarationStatement, support function declarators
2473         * ccode/valaccodedeclarator.vala: abstract base class for variable and
2474           function declarators
2475         * ccode/valaccodefunctiondeclarator.vala: 
2476         * ccode/valaccodestruct.vala: support function declarations by adding
2477           add_declaration method
2478         * ccode/valaccodeswitchstatement.vala
2479         * ccode/valaccodeunaryexpression.vala: add postfix increment and
2480           decrement operators
2481         * ccode/valaccodevariabledeclarator.vala: inherit from CCodeDeclarator
2482         * ccode/valaccodewhilestatement.vala
2484 2006-05-23  Jürg Billeter  <j@bitron.ch>
2486         * vala/valacodevisitor.vala: support initializer lists
2487         * vala/valacodegenerator.vala: support constant arrays and initializer
2488           lists
2489         * vala/valaconstant.vala: visit initializer
2490         * vala/valainitializerlist.vala: add accept method
2491         * vala/valastruct.vala: visit constants later than fields due to
2492           constant initialization
2493         * vala/valatypereference.vala: add get_const_cname method
2494         * ccode/valaccodeinitializerlist.vala
2496 2006-05-22  Jürg Billeter  <j@bitron.ch>
2498         * vala/parser.y: support abstract methods and static fields
2499         * vala/valasourcefile.vala: support parameter symbol dependencies
2500         * vala/valasymbolbuilder.vala: insert default body for get accessors
2501         * vala/valasemanticanalyzer.vala: add property type dependency
2502         * vala/valacodegenerator.vala: add constants, private static fields,
2503           main function, property accessors, this, casting for member access
2504         * vala/valablock.vala: add add_statement method
2505         * vala/valafield.vala: add instance field
2506         * vala/valamethod.vala: add is_abstract field
2507         * valac/generator.c: mark generated properties as writable
2509 2006-05-22  Jürg Billeter  <j@bitron.ch>
2511         * vala/valacodegenerator.c: add class instance private struct, type
2512           register function, class init function, instance init function;
2513           support access to private members
2514         * ccode/valaccodedeclarationstatement.vala: support static modifier
2516 2006-05-21  Jürg Billeter  <j@bitron.ch>
2518         * vala/scanner.l: support file comments, BREAK, CONTINUE
2519         * vala/parser.y: support break and continue, add more comments
2520         * vala/valacodecontext.vala: find cyclic header dependencies
2521         * vala/valasourcefile.vala: add get_namespaces method, add dependency
2522           information, add add_symbol_dependency method, add
2523           SourceFileDependencyType enum
2524         * vala/valasourcefilecycle.vala
2525         * vala/valacodevisitor.vala: support break and continue statements
2526         * vala/valaparser.vala: support file comments
2527         * vala/valasemanticanalyzer.vala: record dependency information
2528         * vala/valacodegenerator.vala: add include directives, type forward
2529           declarations, once section, enum values, method return types, and more
2530           comments
2531         * vala/valablock.vala, vala/valadeclarationstatement.vala,
2532           vala/valaemptystatement.vala, vala/valaexpressionstatement.vala,
2533           vala/valaforeachstatement.vala, vala/valaforstatement.vala,
2534           vala/valaifstatement.vala, vala/valareturnstatement.vala,
2535           vala/valastatement.vala, vala/valawhilestatement.vala: move
2536           source_reference property to Statement class
2537         * vala/valaclass.vala, vala/valaenum.vala, vala/valastruct.vala,
2538           vala/valatype.vala: move name, source_reference, namespace, and
2539           get_cheader_filenames to Type class
2540         * vala/valabreakstatement.vala
2541         * vala/valacontinuestatement.vala
2542         * vala/valaenum.vala: fix cname, add get_upper_case_cname method
2543         * vala/valaenumvalue.vala: add get_cname method
2544         * vala/valafield.vala: add access field
2545         * vala/valanamespace.vala: add get_structs, get_classes, and
2546           get_cheader_filenames methods, support cheader_filename attribute
2547         * vala/valastruct.vala: support cheader_filename attribute
2548         * vala/valatypereference.vala: support void cname
2549         * vala/vala.h: update
2550         * ccode/valaccodeblock.vala: support comments before statements
2551         * ccode/valaccodeenum.vala: optionally use typedef
2552         * ccode/valaccodefunction.vala: add copy method
2553         * ccode/valaccodenewline.vala
2554         * ccode/valaccodeoncesection.vala
2555         * ccode/valaccodewriter.vala: use whole line for comments
2556         * bindings/glib-2.0.vala: add cheader_filename attributes, extend string
2557           types
2558         * valac/generator.c: fix private field access, include string.h
2560 2006-05-19  Jürg Billeter  <j@bitron.ch>
2562         * vala/valacodegenerator.vala: include header file in corresponding
2563           source file, generate class macros and typedefs
2564         * ccode/valaccodeincludedirective.vala
2565         * ccode/valaccodemacroreplacement.vala: c macro definition
2566         * ccode/valaccodetypedefinition.vala: c typedef
2567         * bindings/glib-2.0.vala: correct comment
2569 2006-05-18  Jürg Billeter  <j@bitron.ch>
2571         * vala/valacodecontext.vala: add get_source_files method
2572         * vala/valasourcefile.vala: add pkg flag
2573         * vala/valasymbolresolver.vala: use GLib.Object as default base class
2574         * vala/valacodegenerator.vala: ignore package bindings, fix names of
2575           class structs
2576         * bindings/glib-2.0.vala: renamed from GLib.vala, add g_build_filename
2577         * compiler/valacompiler.vala: add pkg and pkgdir options
2579 2006-05-18  Jürg Billeter  <j@bitron.ch>
2581         * vala/valacodegenerator.vala: add method parameters, public instance
2582           field access, invocation arguments
2583         * vala/valamethod.vala: add get_parameters method
2584         * ccode/valaccodeformalparameter.vala
2585         * ccode/valaccodefunction.vala: use CCodeFormalParameter
2586         * ccode/valaccodememberaccess.vala
2587         * valac/scanner.l: support ASSIGN_BITWISE_OR, BITWISE_OR
2588         * valac/parser.y: support bitwise or
2589         * valac/context.h: support bitwise or
2590         * valac/generator.c: support bitwise or
2592 2006-05-18  Jürg Billeter  <j@bitron.ch>
2594         * vala/parser.y: support member and access modifiers, static methods
2595         * vala/valaattributeprocessor.vala: process method attributes
2596         * vala/valaclass.vala: don't set parent_type member of children
2597         * vala/valaconstant.vala: remove unnecessary parent_type member
2598         * vala/valafield.vala: remove unnecessary parent_type member
2599         * vala/valamethod.vala: support cname attribute
2600         * vala/valanamespace.vala: add methods
2601         * vala/valaproperty.vala: remove unnecessary parent_type member
2602         * vala/valastruct.vala: don't set parent_type member of children
2604 2006-05-18  Jürg Billeter  <j@bitron.ch>
2606         * vala/parser.y: adapt to BinaryOperator enum changes
2607         * vala/valacodegenerator.vala: add operators to unary and binary
2608           expressions
2609         * vala/valabinaryexpression.vala: correct enum value names
2610         * ccode/valaccodebinaryexpression.vala: add operator
2611         * ccode/valaccodeunaryexpression.vala
2613 2006-05-18  Jürg Billeter  <j@bitron.ch>
2615         * vala/parser.y: support namespace attributes
2616         * vala/valaattributeprocessor.vala: process namespace and class
2617           attributes
2618         * vala/valacodegenerator.vala: use correct symbol names
2619         * vala/valamethod.vala: add cname
2620         * vala/valanamespace.vala: add cprefix, support cprefix attribute
2621         * vala/valastruct.vala: prefix cname with namespace cprefix
2622         * bindings/GLib.vala: add tolower to unichar
2623         * valac/parser.y: rename namespace attribute cname to lower_case_cprefix
2625 2006-05-18  Jürg Billeter  <j@bitron.ch>
2627         * update reference and property annotations
2628         * switch string struct to utf-8
2629         * valac/context.c: set source file in root namespace
2630         * valac/generator.c: don't include bindings stub header
2632 2006-05-17  Jürg Billeter  <j@bitron.ch>
2634         * vala/valanamespace.vala: implement camel_case_to_lower_case method
2635         * bindings/GLib.vala: extend string types
2636         * valac/generator.c: support access to struct fields
2638 2006-05-17  Jürg Billeter  <j@bitron.ch>
2640         * vala/parser.y: support variable declarators, subtyping, constants,
2641           properties, and enums
2642         * vala/valacodevisitor.vala: support formal parameters, property
2643           accessors, named arguments, and parenthesized expressions
2644         * vala/valasymbolbuilder.vala: visit enum values, constants, formal
2645           parameters, properties, and blocks
2646         * vala/valasymbolresolver.vala: save base class, accept void type,
2647           support type references with namespace name
2648         * vala/valasemanticanalyzer.vala: visitor to find static types of
2649           expressions
2650         * vala/valacodegenerator.vala: support parenthesized expressions
2651         * vala/valablock.vala: add begin and end visit events
2652         * vala/valaclass.vala: support base types and properties
2653         * vala/valaenum.vala: add values
2654         * vala/valaenumvalue.vala
2655         * vala/valaexpression.vala: add generic symbol reference
2656         * vala/valaforeachstatement.vala: add begin and end visit events
2657         * vala/valaformalparameter.vala: add visit event
2658         * vala/valaliteral.vala: mark class as abstract
2659         * vala/valamethod.vala: add return_type
2660         * vala/valanamedargument.vala: add accept method
2661         * vala/valanamespace.vala: visit fields
2662         * vala/valaobjectcreationexpression.vala: visit arguments
2663         * vala/valaparenthesizedexpression.vala: add visit event
2664         * vala/valaproperty.vala: add accessors
2665         * vala/valapropertyaccessor.vala
2666         * vala/valasimplename.vala: code style update
2667         * vala/valastruct.vala: add constants
2668         * vala/valavariabledeclarator.vala: add type reference
2669         * vala/vala.h: update
2670         * compiler/valacompiler.vala: invoke SemanticAnalyzer
2671         * ccode/valaccodefragment.vala: code style update
2672         * ccode/valaccodeparenthesizedexpression.vala: 
2673         * valac/parser.y: support replacement of readonly fields
2674         * valac/context.c: resolve types in operation expressions
2676 2006-05-16  Jürg Billeter  <j@bitron.ch>
2678         * vala/scanner.l: fix multi-line comments
2679         * vala/valacodegenerator.vala: basic statement and expression handling
2680         * vala/valacodevisitor.vala: support variable declaration
2681         * vala/valasymbolbuilder.vala: adapt to visitor changes
2682         * vala/valaclass.vala: remove members already available in Struct
2683         * vala/valacodenode.vala: add ccodenode field
2684         * vala/valadeclarationstatement.vala: visit declaration
2685         * vala/valaexpressionstatement.vala: visit code containers after child
2686           elements
2687         * vala/valalocalvariabledeclaration.vala: add accept method
2688         * vala/valamethod.vala: add begin and end visit events
2689         * vala/valanamespace.vala: add lower_case_cprefix
2690         * vala/valastruct.vala: define get_upper_case_cname method
2691         * vala/valatype.vala: declare get_upper_case_cname method
2692         * vala/valatypereference.vala: add get_upper_case_cname method
2693         * vala/valavariabledeclarator.vala: add accept method
2694         * ccode/valaccodewriter.vala: formatting fixes
2695         * ccode/valaccodeassignment.vala
2696         * ccode/valaccodebinaryexpression.vala
2697         * ccode/valaccodeblock.vala: use CCodeStatement
2698         * ccode/valaccodeconstant.vala
2699         * ccode/valaccodedeclarationstatement.vala
2700         * ccode/valaccodeemptystatement.vala
2701         * ccode/valaccodeexpression.vala
2702         * ccode/valaccodeexpressionstatement.vala
2703         * ccode/valaccodeforstatement.vala
2704         * ccode/valaccodefunction.vala: formatting fixes
2705         * ccode/valaccodefunctioncall.vala
2706         * ccode/valaccodeidentifier.vala
2707         * ccode/valaccodeifstatement.vala
2708         * ccode/valaccodereturnstatement.vala
2709         * ccode/valaccodestatement.vala
2710         * ccode/valaccodestruct.vala: formatting fixes
2711         * ccode/valaccodevariabledeclarator.vala
2712         * bindings/GLib.vala: extend string types
2713         * valac/context.c: resolve types in named argument list in object
2714           creation expression
2716 2006-05-16  Jürg Billeter  <j@bitron.ch>
2718         * vala/parser.y: fix unary expressions
2719         * vala/valacodegenerator.vala: add visit_block method
2720         * vala/valacodevisitor.vala: add visit methods for statements,
2721           expressions, and literals
2722         * vala/valaassignment.vala: add accept method
2723         * vala/valabinaryexpression.vala: add accept method
2724         * vala/valablock.vala: add accept method
2725         * vala/valabooleanliteral.vala: add accept method
2726         * vala/valacastexpression.vala: add accept method
2727         * vala/valacharacterliteral.vala: add accept method
2728         * vala/valaconditionalexpression.vala: add accept method
2729         * vala/valaconstant.vala: visit code containers after child elements
2730         * vala/valadeclarationstatement.vala: add accept method
2731         * vala/valaemptystatement.vala: add accept method
2732         * vala/valaexpressionstatement.vala: add accept method
2733         * vala/valafield.vala: visit code containers after child elements
2734         * vala/valaforeachstatement.vala: add accept method
2735         * vala/valaformalparameter.vala: add accept method
2736         * vala/valaforstatement.vala: add accept method
2737         * vala/valaifstatement.vala: add accept method
2738         * vala/valaintegerliteral.vala: add accept method
2739         * vala/valainvocationexpression.vala: add accept method
2740         * vala/valaliteralexpression.vala: add accept method
2741         * vala/valamemberaccess.vala: add accept method
2742         * vala/valamethod.vala: add accept method
2743         * vala/valanullliteral.vala: add accept method
2744         * vala/valaobjectcreationexpression.vala: add accept method
2745         * vala/valaparenthesizedexpression.vala: add accept method
2746         * vala/valapostfixexpression.vala: add accept method
2747         * vala/valareturnstatement.vala: add accept method
2748         * vala/valasimplename.vala: add accept method
2749         * vala/valastringliteral.vala: add accept method
2750         * vala/valaunaryexpression.vala: fix constructor, add accept method
2751         * vala/valawhilestatement.vala: add accept method
2752         * ccode/valaccodefunction.vala: renamed from CCodeMethod
2754 2006-05-16  Jürg Billeter  <j@bitron.ch>
2756         * vala/parser.y: support logical AND and OR expressions, conditional
2757           expressions, assignments, constants, method parameters, and properties
2758         * vala/valacodevisitor.vala: add constant and property visits
2759         * vala/valaassignment.vala
2760         * vala/valabinaryexpression.vala: add bitwise xor, AND, and OR
2761         * vala/valaconditionalexpression.vala
2762         * vala/valaconstant.vala
2763         * vala/valaformalparameter.vala
2764         * vala/valainitializerlist.vala
2765         * vala/valamemberaccess.vala: add source_reference
2766         * vala/valamethod.vala: add parameters
2767         * vala/valaproperty.vala
2768         * vala/vala.h: update
2770 2006-05-16  Jürg Billeter  <j@bitron.ch>
2772         * vala/parser.y: support member access, multiplicative, additive, shift,
2773           equality, relational, and bitwise expressions
2774         * vala/valabinaryexpression.vala
2775         * vala/valamemberaccess.vala: add constructor
2776         * vala/vala.h: update
2778 2006-05-15  Jürg Billeter  <j@bitron.ch>
2780         * vala/scanner.l: support assign operators
2781         * vala/parser.y: support assign operators and attributes
2782         * vala/valaattributeprocessor.vala: visitor to process compiler
2783           attributes
2784         * vala/valacodegenerator.vala: support structs, enums, and methods
2785         * vala/valacodenode.vala: support attributes
2786         * vala/valaattribute.vala
2787         * vala/valamemberaccessibility.vala
2788         * vala/valamethod.vala
2789         * vala/valastruct.vala: support CCode (cname) attribute
2790         * vala/vala.h: update
2791         * compiler/valacompiler.vala: invoke AttributeProcessor
2792         * ccode/valaccodeblock.vala
2793         * ccode/valaccodeenum.vala
2794         * ccode/valaccodemethod.vala
2795         * ccode/valaccodemodifiers.vala
2796         * bindings/GLib.vala: add string cmp method
2797         * valac/scanner.l: support BITWISE_AND
2798         * valac/parser.y: support bitwise and
2799         * valac/context.h: add bitwise and
2800         * valac/generator.c: support enum dependencies and bitwise and
2802 2006-05-14  Jürg Billeter  <j@bitron.ch>
2804         * vala/scanner.l: support OPEN_CAST_PARENS, IS, WHILE
2805         * vala/parser.y: support structs, enums, and fields, cast, postfix,
2806           while, ref types, and generic type parameters; fix comments
2807         * vala/valacodecontext.vala: add root symbol
2808         * vala/valasourcefile.vala: add using directives, c filenames
2809         * vala/valacodevisitor.vala: add begin and end visits for some container
2810           types, add struct, enum, field, type parameter, namespace reference,
2811           and type reference visits
2812         * vala/valaparser.vala: adapt to visitor changes
2813         * vala/valasymbolbiulder.vala: visitor to fill symbol table
2814         * vala/valasymbolresolver.vala: visitor to resolve symbol references
2815         * vala/valacodegenerator.vala: add beginning of code generation
2816         * vala/valacodenode.vala: add symbol reference
2817         * vala/valacastexpression.vala
2818         * vala/valaclass.vala: derive from struct
2819         * vala/valaenum.vala
2820         * vala/valaexpression.vala: add static_type, field_reference, and
2821           method_reference fields
2822         * vala/valafield.vala
2823         * vala/valamemberaccess.vala
2824         * vala/valanamespace.vala: add structs, enums, and fields
2825         * vala/valanamespacereference.vala
2826         * vala/valapostfixexpression.vala
2827         * vala/valasourcereference.vala: adapt to comment changes
2828         * vala/valastringliteral.vala: add eval method
2829         * vala/valastruct.vala
2830         * vala/valasymbol.vala
2831         * vala/valatype.vala
2832         * vala/valatypeparameter.vala: 
2833         * vala/valatypereference.vala: add type, type_parameter, is_ref, and
2834           is_out fields, add get_cname method
2835         * vala/valavariabledeclarator.vala: add name and initializer fields
2836         * vala/valawhilestatement.vala: 
2837         * vala/vala.h: update
2838         * compiler/valacompiler.vala: run SymbolBuilder and SymbolResolver
2839         * ccode/valaccodewriter.vala
2840         * ccode/valaccodecomment.vala
2841         * ccode/valaccodefragment.vala
2842         * ccode/valaccodenode.vala
2843         * ccode/valaccodestruct.vala
2844         * bindings/GLib.vala: add/extend ustring, Path, Object, File, HashTable
2845         * valac/scanner.l: support OPEN_CAST_PARENS, OP_AND, OP_OR, IS, WHILE
2846         * valac/parser.y: support cast, while, include_filename ccode attribute,
2847           AND and OR expressions, IS type checks, unary minus
2848         * valac/context.h: add while statements, cast and IS expressions, and
2849           AND and OR operators
2850         * valac/context.c: support cast, IS, while; fix if
2851         * valac/generator.c: support cast, IS, pointer arithmetic, namespace
2852           methods, imported include files
2853         * valac/driver.c: add symbol alias
2855 2006-05-07  Jürg Billeter  <j@bitron.ch>
2857         * vala/scanner.l: tokenizer for new vala compiler
2858         * vala/parser.y: parser vor new vala compiler
2859         * vala/valablock.vala
2860         * vala/valabooleanliteral.vala
2861         * vala/valacharacterliteral.vala
2862         * vala/valaclass.vala: add methods
2863         * vala/valadeclarationstatement.vala
2864         * vala/valaemptystatement.vala
2865         * vala/valaexpression.vala
2866         * vala/valaexpressionstatement.vala
2867         * vala/valaforeachstatement.vala
2868         * vala/valaforstatement.vala
2869         * vala/valaifstatement.vala
2870         * vala/valaintegerliteral.vala
2871         * vala/valainvocationexpression.vala
2872         * vala/valaliteral.vala
2873         * vala/valaliteralexpression.vala
2874         * vala/valalocalvariabledeclaration.vala
2875         * vala/valamethod.vala
2876         * vala/valanamedargument.vala
2877         * vala/valanullliteral.vala
2878         * vala/valaobjectcreationexpression.vala
2879         * vala/valaparenthesizedexpression.vala
2880         * vala/valareturnstatement.vala
2881         * vala/valasimplename.vala
2882         * vala/valastatement.vala
2883         * vala/valastringliteral.vala
2884         * vala/valatypereference.vala
2885         * vala/valaunaryexpression.vala
2886         * vala/valavariabledeclarator.vala
2887         * vala/valacodevisitor.vala: add visit_method skeleton
2888         * vala/valacodegenerator.vala: do.
2889         * vala/vala.h: include generated header files
2890         * valac/generator.c: support bool and enum properties, support enums
2892 2006-05-06  Jürg Billeter  <j@bitron.ch>
2894         * vala/valacodecontext.vala
2895         * vala/valasourcefile.vala
2896         * vala/valasourcereference.vala: filename, line, and comment container
2897         * vala/valacodenode.vala: abstract code node
2898         * vala/valanamespace.vala: namespace node
2899         * vala/valaclass.vala: class node
2900         * vala/valacodevisitor.vala: abstract syntax tree visitor
2901         * vala/valaparser.vala: vala parser
2902         * vala/valacodegenerator.vala: code generator skeleton
2903         * compiler/valacompiler.vala: compiler driver
2904         * bindings/GLib.vala: add bindings for GList and GOptionContext
2905         * valac/scanner.l: support multi-line comments, ABSTRACT, INTERFACE,
2906           READONLY
2907         * valac/parser.y: replace AT by HASH, support readonly fields
2908         * valac/context.h: small fixes
2909         * valac/context.c: small fixes
2910         * valac/generator.c: fix override methods, basic support for properties
2912 2006-05-03  Jürg Billeter  <j@bitron.ch>
2914         * valac/scanner.l: support OP_NEG, CONSTRUCT, FOREACH, IN
2915         * valac/parser.y: add foreach, construct properties; merge modifiers to
2916           resolve parser conflicts
2917         * valac/context.h: merge modifiers
2918         * valac/context.c: support namespace fields, resolve types in
2919           assignments, invocations, and if, for, and foreach statements
2920         * valac/generator.c: support negation operator, inherited fields in
2921           object variables, foreach statements for arrays and GList, fix
2922           circular dependencies
2924 2006-05-02  Raffaele Sandrini  <rasa@gmx.ch>
2926         * tests/test-008.vala: add tests for base fields
2927         * valac/generator.c: remove klass local variable, add support for
2928           base fields.
2930 2006-05-01  Jürg Billeter  <j@bitron.ch>
2932         * valac/scanner.l: support ENUM, FLAGS, STRUCT
2933         * valac/parser.y: add structs, generic types, enums, flags, attributes,
2934           ref and out parameters
2935         * valac/context.h: add ValaFlags, ValaFlagsValue, and ValaAnnotation
2936           structs
2937         * valac/context.c: support bool, uint, pointer, generic types
2938         * valac/generator.h: save pointer to current struct
2939         * valac/generator.c: support structs, ReturnsModifiedPointer, include
2940           files
2942 2006-04-30  Jürg Billeter  <j@bitron.ch>
2944         * valac/scanner.l: support AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF,
2945           THIS, VALA_TRUE, USING, VAR, LITERAL_CHARACTER
2946         * valac/parser.y: add character, boolean, and null literals, using
2947           directive, @ type qualifier, constants, ref and out variables,
2948           array element access, this access, struct and array initializer,
2949           var type
2950         * valac/context.h: add ValaEnum, ValaConstant, and ValaEnumValue structs
2951         * valac/context.c: support constants, struct members, enums, var type,
2952           using directives
2953         * valac/generator.h: save pointer to current class
2954         * valac/generator.c: support constants, boolean and null literals,
2955           array element access, using directives, this access, enums, private
2956           static fields, ref and out variables, struct and array initializer,
2957           boolean, character, and null literal, var type
2959 2006-04-27  Raffaele Sandrini  <rasa@gmx.ch>
2961         * tests/test-008.vala:
2962         * tests/test-009.vala: add
2963         * valac/parser.y:
2964         * valac/scanner.l:
2965         * valac/context.c:
2966         * valac/generator.c:
2967         * valac/context.h: add field and property support (property parse only
2968           yet)
2969         * AUTHORS: add myself
2971 2006-04-26  Jürg Billeter  <j@bitron.ch>
2973         * valac/scanner.l: support OVERRIDE, VIRTUAL
2974         * valac/parser.y: add virtual methods
2975         * valac/context.h: support virtual methods, improve init and class_init
2976         * valac/context.c: set symbol in ValaMethod struct
2977         * valac/generator.c: support virtual methods
2978         * tests/test-007.vala: test virtual method declaration and invocation
2980 2006-04-26  Jürg Billeter  <j@bitron.ch>
2982         * valac/scanner.l: support OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC,
2983           OP_EQ, OP_NE, OP_LE, OP_GE, OP_LT, OP_GT, MINUS, STAR, DIV, ELSE, FOR,
2984           IF
2985         * valac/parser.y: add array type references, equality expressions,
2986           relational expressions, multiplicative expressions, postfix
2987           operations, object creation, if conditionals, for loops
2988         * valac/context.h: add ValaNamedArgument struct, support if and for
2989           statements
2990         * valac/context.c: resolve types in object creation expressions of
2991           variable initializers
2992         * valac/generator.c: support array type references, init and class_init
2993           methods, more operations, object creation, for loops, if conditionals,
2994           call g_type_init in main
2995         * tests/test-006.vala: test instance method invocation, object creation,
2996           for loop, if conditional, multiplicative expression
2998 2006-04-25  Jürg Billeter  <j@bitron.ch>
3000         * valac/parser.y: save cname in class, save location of statements and
3001           expressions
3002         * valac/context.h: add ValaStruct struct
3003         * valac/context.c: support symbols from methods and structs, add int
3004           and string fundamental types, resolve types in local variable
3005           declarations
3006         * valac/generator.h: save pointer to current method block
3007         * valac/generator.c: add special handling for main method, basic support
3008           for method invocations, literals, member access, simple names,
3009           additive expressions, return statments, blocks
3010         * tests/test-005.vala: test static method invocation, literal integer,
3011           simple name, additive expression, return statement, block, main method
3013 2006-04-24  Jürg Billeter  <j@bitron.ch>
3015         * valac/scanner.l: support single-line comments, ASSIGN, PLUS, RETURN,
3016           LITERAL_INTEGER, LITERAL_STRING
3017         * valac/parser.y: add basic statements and expressions
3018         * valac/context.h: add ValaStatement, ValaVariableDeclaration,
3019           ValaVariableDeclarator, and ValaExpression structs
3020         * valac/context.c: remove unreachable line
3022 2006-04-24  Jürg Billeter  <j@bitron.ch>
3024         * valac/scanner.l: set token location, support OPEN_PARENS,
3025           CLOSE_PARENS, SEMICOLON, PUBLIC, STATIC
3026         * valac/parser.y: save symbol location, output exact error location,
3027           support method declarations
3028         * valac/context.h: add ValaLocation, ValaMethod, and ValaFormalParameter
3029           structs, add location to ValaClass and ValaTypeReference structs
3030         * valac/context.c: output error location, support method declarations
3031         * valac/generator.c: support method declarations
3032         * valac/driver.c: add comment
3033         * tests/test-004.vala: test method declaration
3035 2006-04-22  Jürg Billeter  <j@bitron.ch>
3037         * valac/scanner.l: support DOT, COLON, and COMMA
3038         * valac/parser.y: save lower and upper case cnames in namespace and
3039           class objects, support base classes
3040         * valac/context.h: add ValaSymbol and ValaTypeReference structs, add
3041           cnames to ValaNamespace and ValaClass structs
3042         * valac/context.c: add symbol handling, type resolving, set cnames in
3043           root namespace
3044         * valac/generator.c: remove cname generation, support base classes
3045         * valac/driver.c: add symbols and resolve types
3046         * tests/test-003.vala: test base class