write static delegate instead of callback use static delegate instead of
[vala-lang.git] / ChangeLog
blob8bc3f4de5191615dc1b4013e1814a4fa37e696e6
1 2007-07-09  Jürg Billeter  <j@bitron.ch>
3         * vala/valainterfacewriter.vala: write static delegate instead of
4           callback
5         * tests/test-014.vala, tests/test-015.vala, vapi/atk.vala,
6           vapi/cairo.vala, vapi/gdk-2.0.vala, vapi/gio-standalone.vala,
7           vapi/gtk+-2.0.vala, vapi/hal.vala, vapi/pango.vala, vapi/vte.vala: use
8           static delegate instead of callback
10 2007-07-09  Jürg Billeter  <j@bitron.ch>
12         * vala/scanner.l, vala/parser.y: support delegate keyword and optional
13           modifiers to declare callbacks
15 2007-07-09  Jürg Billeter  <j@bitron.ch>
17         * vala/parser.y: support # modifier to transfer ownership in method
18           parameters
20 2007-07-05  Jürg Billeter  <j@bitron.ch>
22         * vapi/glib-2.0.vala: fix TimeVal binding
23         * vapi/dbus-glib-1.vala, vapi/hal.deps, vapi/hal.vala: add experimental
24           VAPI for HAL
25         * vapi/Makefile.am: update
27 2007-07-04  Jürg Billeter  <j@bitron.ch>
29         * vapi/glib-2.0.vala: update to new GRegex API
31 2007-07-03  Jürg Billeter  <j@bitron.ch>
33         * vala/valainterfacewriter.vala: write cprefix and lower_case_cprefix
34           of namespaces and write cheader_filename of interfaces
35         * vala/valanamespace.vala: make set_cprefix and set_lower_case_cprefix
36           methods public
37         * ccode/valaccodewriter.vala, vala/valainterfacewriter.vala,
38           gobject/valaccodecompiler.vala, compiler/valacompiler.vala,
39           vapi/glib-2.0.vala, vapigen/valagidlparser.vala,
40           vapigen/valavapigen.vala: split GLib.File into GLib.FileStream and
41           GLib.FileUtils to not conflict with GVFS
42         * vala/valagidlparser.vala: improve support for GVFS
43         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
44           regenerated
45         * vapi/gio-standalone.vala, vapi/packages/gio-standalone/: add
46           experimental VAPI for GVFS
47         * vapi/Makefile.am: update
49 2007-07-01  Jürg Billeter  <j@bitron.ch>
51         * vapi/glib-2.0.vala: add more string utility functions and GDate
52           support, based on patch by Michael Lawrence, fixes bug 452015
54 2007-07-01  Jürg Billeter  <j@bitron.ch>
56         * vala/parser.y, vala/valasymbolbuilder.vala,
57           vala/valasymbolresolver.vala, vala/valaenum.vala: add basic support
58           for enum methods
60 2007-06-30  Jürg Billeter  <j@bitron.ch>
62         * vala/valasymbolbuilder.vala: fix current_symbol handling in
63           visit_property_accessor
64         * vapigen/valagidlparser.vala: add missing NoArrayLength attribute,
65           support hiding signals
66         * vapi/glib-2.0.vala: add GConnectFlags
67         * vapi/packages/pango/pango.gidl, vapi/pango.vala: updated to
68           Pango 1.17.3
69         * vapi/packages/gdk-2.0/gdk-2.0.gidl,
70           vapi/packages/gtk+-2.0/gtk+-2.0.gidl,
71           vapi/packages/gtk+-2.0/gtk+-2.0.metadata, vapi/gdk-2.0.vala,
72           vapi/gtk+-2.0.vala: updated to GTK+ 2.11.4, some small
73           GtkTreeModel/GtkTreeStore fixes
75 2007-06-15  Jürg Billeter  <j@bitron.ch>
77         * vala/valaattributeprocessor.vala, vala/valacodevisitor.vala,
78           vala/valainterfacewriter.vala, vala/valamemorymanager.vala,
79           vala/valasemanticanalyzer.vala, vala/valasymbolbuilder.vala,
80           vala/valasymbolresolver.vala, vala/valaconstant.vala,
81           vala/valaconstructor.vala, vala/valacreationmethod.vala,
82           vala/valadestructor.vala, vala/valafield.vala,
83           vala/valaformalparameter.vala, vala/valamethod.vala,
84           vala/valaproperty.vala, vala/valapropertyaccessor.vala,
85           vala/valasignal.vala, gobject/valacodegenerator.vala,
86           gobject/valacodegeneratormethod.vala,
87           gobject/valacodegeneratorsignal.vala: move iteration of symbol nodes
88           from accept to accept_children method
90 2007-06-15  Jürg Billeter  <j@bitron.ch>
92         * vala/valaattributeprocessor.vala, vala/valacodevisitor.vala,
93           vala/valainterfacewriter.vala, vala/valamemorymanager.vala,
94           vala/valaparser.vala, vala/valasemanticanalyzer.vala,
95           vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
96           vala/valacallback.vala, vala/valaclass.vala, vala/valaenum.vala,
97           vala/valaflags.vala, vala/valainterface.vala, vala/valastruct.vala,
98           gobject/valacodegenerator.class, gobject/valacodegeneratorclass.vala,
99           gobject/valacodegeneratorinterface.vala,
100           gobject/valacodegeneratorstruct.vala: move iteration of data types
101           from accept to accept_children method
103 2007-06-15  Jürg Billeter  <j@bitron.ch>
105         * vala/valaattributeprocessor.vala, vala/valacodevisitor.vala,
106           vala/valainterfacewriter.vala, vala/valamemorymanager.vala,
107           vala/valaparser.vala, vala/valasemanticanalyzer.vala,
108           vala/valasourcefile.vala, vala/valasymbolbuilder.vala,
109           vala/valasymbolresolver.vala, vala/valacodenode.vala,
110           vala/valanamespace.vala, gobject/valacodegenerator.vala,
111           gobject/valacodegeneratorsourcefile.vala, vapigen/valagidlparser.vala:
112           move iteration of source files and namespaces from accept to
113           accept_children method
115 2007-06-15  Jürg Billeter  <j@bitron.ch>
117         * vala/valacodecontext.vala, gobject/valaccodecompiler.vala,
118           compiler/valacompiler.vala: enhance commandline interface, add support
119           for invoking c compiler
120         * gobject/Makefile.am: update
121         * vapi/glib-2.0.vala: add shell-related utilities
123 2007-06-05  Jürg Billeter  <j@bitron.ch>
125         * gobject/valacodegeneratorassignment.vala: correct invocation of setter
126           method of inherited properties, fixes bug 443527
127         * gobject/valacodegeneratormemberaccess.vala: remove outdated comment
129 2007-06-05  Jürg Billeter  <j@bitron.ch>
131         * vala/valainvocationexpression.vala: support storing sizes of array
132           dimensions for methods returning arrays
133         * gobject/valacodegenerator.vala,
134           gobject/valacodegeneratorinvocationexpression.vala: add length
135           argument for methods returning arrays
136         * vapi/glib-2.0.vala: add missing NoArrayLength attributes
138         Fixes bug 434929
140 2007-06-05  Jürg Billeter  <j@bitron.ch>
142         * gobject/valacodegenerator.vala: allow value-type arrays of unknown
143           length, assert at runtime when trying to iterate over such arrays
145 2007-05-31  Jürg Billeter  <j@bitron.ch>
147         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
148           vala/valacodevisitor.vala, vala/valasizeofexpression.vala,
149           gobject/valacodegenerator.vala: support sizeof expression
150         * vala/vala.h, vala/Makefile.am: update
151         * vapi/glib-2.0.vala: add struct_size param to GLib.Source construction
152           method
154 2007-05-14  Jürg Billeter  <j@bitron.ch>
156         * vala/valasemanticanalyzer.vala: improve argument checks of invocation
157           expression, fixes bug 435854
159 2007-05-10  Jürg Billeter  <j@bitron.ch>
161         * ccode/valaccodeblock.vala, ccode/valaccodedeclaration.vala,
162           ccode/valaccodedeclarator.vala, ccode/valaccodefragment.vala,
163           ccode/valaccodefunctiondeclarator.vala, ccode/valaccodenode.vala,
164           ccode/valaccodeoncesection.vala, ccode/valaccodestruct.vala,
165           ccode/valaccodetypedefinition.vala,
166           ccode/valaccodevariabledeclarator.vala: separate declaration output
167         * vala/parser.y: remove comma at end of enum
168         * vala/valaclass.vala, vala/valastruct.vala: remove unused methods
169         * vala/Makefile.am: update
170         * gobject/valacodegeneratorsourcefile.vala: support declaration
171           separation in C code
172         * gobject/valaclassregisterfunction.vala,
173           gobject/valainterfaceregisterfunction.vala,
174           gobject/valatyperegisterfunction.vala: move from vala directory,
175           move interface info declarations to the beginning of the block
176         * gobject/Makefile.am: update
178 2007-05-09  Jürg Billeter  <j@bitron.ch>
180         * ccode/valaccodeenum.vala: remove comma at end of generated enumerator
181           list, fixes gcc warning
183 2007-05-09  Jürg Billeter  <j@bitron.ch>
185         * gobject/valacodegeneratorclass.vala: generate get_property and
186           set_property methods only when necessary, fixes bug 435848
188 2007-05-09  Jürg Billeter  <j@bitron.ch>
190         * vala/parser.y: add basic checks for method modifiers, fixes bug 435853
191         * vala/vala.h: include valaflagsvalue.h
193 2007-05-09  Jürg Billeter  <j@bitron.ch>
195         * vala/valanamespace.vala: iterate correctly over string in
196           camel_case_to_lower_case method, fixes bug 436760
198 2007-05-09  Jürg Billeter  <j@bitron.ch>
200         * vala/valanamespace.vala: don't add default include directives for
201           VAPI files, fixes bug 436761
203 2007-05-07  Jürg Billeter  <j@bitron.ch>
205         * vapi/glib-2.0.vala: correct strstr cname, patch by Zsombor
206         * vapi/gtk+-2.0.vala: add ellipsis to Gtk.ListStore.set() and
207           Gtk.TreeStore.set()
208         * vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala: update to GTK+ 2.10.12
210 2007-05-07  Jürg Billeter  <j@bitron.ch>
212         * gobject/valacodegenerator.vala,
213           gobject/valacodegeneratormemberaccess.vala: ensure that local
214           variables don't use keywords in the C code
216 2007-05-07  Jürg Billeter  <j@bitron.ch>
218         * vala/parser.y: declare variables at the beginning of blocks as
219           required for C89
220         * gobject/valacodegeneratorclass.vala: avoid empty private struct
221           declaration
222         * vapi/glib-2.0.vala: use g_ascii_strtoll instead of strtoll
224         Patch by Hans Breuer
226 2007-05-03  Jürg Billeter  <j@bitron.ch>
228         * gobject/valacodegenerator.vala,
229           gobject/valacodegeneratorassignment.vala,
230           gobject/valacodegeneratorclass.vala,
231           gobject/valacodegeneratorinterface.vala,
232           gobject/valacodegeneratorinvocationexpression.vala
233           gobject/valacodegeneratormemberaccess.vala,
234           gobject/valacodegeneratormethod.vala,
235           gobject/valacodegeneratorsignal.vala,
236           gobject/valacodegeneratorsourcefile.vala, 
237           gobject/valacodegeneratorstruct.vala: split code generator
238         * gobject/Makefile.am, vapigen/Makefile.am: update
240 2007-05-03  Jürg Billeter  <j@bitron.ch>
242         * gobject/valacodegenerator.vala: move code generator to new gobject
243           directory
244         * configure.ac, Makefile.am, vala/Makefile.am, gobject/Makefile.am,
245           compiler/Makefile.am, vapi/Makefile.am: update
247 2007-05-03  Jürg Billeter  <j@bitron.ch>
249         * vapi/glib-2.0.vala: GSList fixes and GIConv, patch by Michael Lawrence
251 2007-05-02  Jürg Billeter  <j@bitron.ch>
253         * vapigen/gidlgen/gidlgen.in: use configured libdir, remove bashism,
254           based on patch by Mathias Hasselmann
255         * vapigen/gidlgen/Makefile.am: update
257 2007-05-02  Jürg Billeter  <j@bitron.ch>
259         * gobject-introspection, vapigen, vapi/packages: move from vapigen
260         * configure.ac, Makefile.am: update
262 2007-04-30  Jürg Billeter  <j@bitron.ch>
264         * configure.ac: Post-release version bump
266 2007-04-30  Jürg Billeter  <j@bitron.ch>
268         * NEWS: update for 0.0.9 release
270 2007-04-30  Jürg Billeter  <j@bitron.ch>
272         * vala/parser.y, vala/valasymbolbuilder.vala, vala/valaclass.vala,
273           vala/valanamespace.vala: add experimental support for class
274           declarations in multiple source files
276 2007-04-30  Jürg Billeter  <j@bitron.ch>
278         * vala/valasemanticanalyzer.vala: check whether specified collection is
279           iterable in foreach statements, fixes bug 434514
281 2007-04-30  Jürg Billeter  <j@bitron.ch>
283         * vala/valasemanticanalyzer.vala: allow any integer type as index in an
284           element access expression, fixes bug 434506
286 2007-04-30  Jürg Billeter  <j@bitron.ch>
288         * vala/parser.y, vala/valasymbolbuilder.vala,
289           vala/valaattributeprocessor.vala, vala/valasemanticanalyzer.vala,
290           vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
291           vala/valaflags.vala: add basic support for flags, fixes bug 434511
293 2007-04-30  Jürg Billeter  <j@bitron.ch>
295         * vala/valasemanticanalyzer.vala: check that void return values are not
296           used, fixes bug 434503
298 2007-04-30  Jürg Billeter  <j@bitron.ch>
300         * vala/valasemanticanalyzer.vala: fix type check in relational
301           operations, fixes bug 434507
303 2007-04-30  Jürg Billeter  <j@bitron.ch>
305         * vala/valacodegenerator.vala: add pointer to integer conversion in
306           foreach statements, fixes bug 433288
308 2007-04-24  Jürg Billeter  <j@bitron.ch>
310         * vapi/glib-2.0.vala: add g_bit_nth_lsf, g_bit_nth_msf, and
311           g_bit_storage
313 2007-04-24  Jürg Billeter  <j@bitron.ch>
315         * vala/valacallback.vala: add possibility to override default cname
316         * vala/valaattributeprocessor.vala: process callback attributes
317         * vala/valainterfacewriter.vala: cleanup code to write identifiers
319 2007-04-18  Jürg Billeter  <j@bitron.ch>
321         * vala/valacodegenerator.vala: use const types where appropriate,
322           fixes bug 428393
324 2007-04-18  Jürg Billeter  <j@bitron.ch>
326         * vala/valacodegenerator.vala: simplify unref expression for non-null
327           types
328         * vala/valaclass.vala: don't mark fields as non-null due to
329           initialization issue
331 2007-04-12  Jürg Billeter  <j@bitron.ch>
333         * vala/valatypereference.vala: add is_null property
334         * vala/valasemanticanalyzer.vala: fix type analysis in conditional and
335           parenthesized expressions, fixes bug 428368
336         * vapi/glib-2.0.vala: don't mark GLib.Object and GLib.InitiallyUnowned
337           as abstract
339 2007-04-12  Jürg Billeter  <j@bitron.ch>
341         * vala/valacodegenerator.vala: fix warning when using interface
342           properties
344 2007-04-06  Jürg Billeter  <j@bitron.ch>
346         * vala/scanner.l: use yyleng instead of strlen
347         * vala/valainterfacewriter.vala: don't write unnecessary attributes to
348           reduce parse time
349         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
350           remove unnecessary attributes to reduce parse time
352 2007-04-05  Jürg Billeter  <j@bitron.ch>
354         * vala/valacodegenerator.vala, vala/valaforstatement.vala: support
355           temporary variables in initializers and iterators of for statements
356         * vala/valacodegenerator.vala: support freeing generic types
357         * vala/parser.y, vala/valacodevisitor.vala,
358           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
359           vala/valareferencetransferexpression.vala: add reference transfer
360           expressions, e.g. `#var'
361         * vala/vala.h, vala/Makefile.am: update
363 2007-04-05  Jürg Billeter  <j@bitron.ch>
365         * vala/valacodegenerator.vala: generate properties for destroy function
366           pointers in generic types
368 2007-04-05  Jürg Billeter  <j@bitron.ch>
370         * vala/valacodegenerator.vala: pass destroy function pointer when
371           creating instances of generic types
372         * vala/valaclass.vala: add get_type_parameters method
374 2007-04-04  Jürg Billeter  <j@bitron.ch>
376         * vala/scanner.l: improve cast support
377         * vala/valasemanticanalyzer.vala: fix ownership handling of local arrays
378         * vala/valacodegenerator.vala: skip code generation for static
379           interfaces, downgrade generic management support message to warning
380         * vala/valacallback.vala: support callbacks as property type
382 2007-04-04  Jürg Billeter  <j@bitron.ch>
384         * vala/scanner.l: support casts to generic types
385         * vala/valasymbolresolver.vala, vala/valatypereference.vala: support
386           arrays of generic types
387         * vala/valasymbolresolver.vala: don't take ownership of elements of weak
388           arrays
389         * vala/valasemanticanalyzer.vala: accept uint as index value
390         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
391           vala/valastatement.vala: minor cleanup of creation methods
392         * vala/valacodegenerator.vala: support creation methods for structs, fix
393           pointer as return type
394         * vapi/glib-2.0.vala: add CLAMP and g_spaced_primes_closest
396 2007-04-03  Jürg Billeter  <j@bitron.ch>
398         * vapi/math.vala: add mathematical functions, patch by
399           Mathias Hasselmann
400         * vapi/Makefile.am: update
402 2007-04-03  Jürg Billeter  <j@bitron.ch>
404         * vala/valacodegenerator.vala: initialize new array elements after
405           resizing an array, patch by Mathias Hasselmann
406         * vala/valaproperty.vala: fix for interface properties
408 2007-04-03  Jürg Billeter  <j@bitron.ch>
410         * doc/valac.1, doc/Makefile.am: add manual page for valac written by
411           Marc-André Lureau
412         * Makefile.am, configure.ac: update
414 2007-04-03  Jürg Billeter  <j@bitron.ch>
416         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
417           vala/valatypereference.vala: support declaration of local arrays
418         * tests/test-022.vala: test local array declaration
420 2007-04-03  Jürg Billeter  <j@bitron.ch>
422         * vala/valasymbolbuilder.vala, vala/valacodegenerator.vala: some fixes
423           for abstract properties
424         * vala/valamethod.vala: improve default cname
426 2007-04-03  Jürg Billeter  <j@bitron.ch>
428         * vapi/glib-2.0.vala: extend unicode support, add GRegex
430 2007-03-28  Raffaele Sandrini  <rasa@gmx.ch>
432         * vapi/glib-2.0.vala: declare HashFunc and EqualFunc as callback
433           functions, patch by David Keijser
435 2007-03-25  Raffaele Sandrini  <rasa@gmx.ch>
437         * vapi/vte.vala, vapi/vte.deps: add vte binding
438         * vapi/Makefile.am: update
440 2007-03-24  Raffaele Sandrini  <rasa@gmx.ch>
442         * vala/valaforstatement.vala: assign parent_node to children of this
443           statement; include iterator and initializer in replacement of a child
444           node (fixes segfault using prefix increment expression in the
445           iterator of a for-statement)
447 2007-03-22  Raffaele Sandrini  <rasa@gmx.ch>
449         * vala/valaflags.vala, vala/valaenum.vala, vala/valadatatype.vala,
450           vala/valastruct.vala: add support for default values of types
451         * vala/valacodegenerator.vala: use default values for initialization
452         * vapi/glib-2.0.vala: add default values for common types
454 2007-03-22  Jürg Billeter  <j@bitron.ch>
456         * configure.ac: Post-release version bump
458 2007-03-22  Jürg Billeter  <j@bitron.ch>
460         * NEWS: update for 0.0.8 release
461         * tests/Makefile.am: update
463 2007-03-22  Raffaele Sandrini  <rasa@gmx.ch>
465         * vala/valacodegenerator.vala: fix generation of unresolvable 'memset'
466           for classes without strings.
468 2007-03-21  Raffaele Sandrini  <rasa@gmx.ch>
470         * vapi/pango.vala: add Pango.Cairo and Pango.CairoFontMap
471         * vapi/pango.deps: add cairo dependency
472         * vapi/Makefile.am: update
474 2007-03-21  Jürg Billeter  <j@bitron.ch>
476         * vala/valacodegenerator.vala: fix properties with interface types
477         * vala/valamemorymanager.vala: fix memory management when storing array
478           elements
479         * vala/valaconstant.vala: obey overridden cprefix in namespaces
480         * vapi/config.vala: override lower_case_cprefix of namespace
482 2007-03-21  Raffaele Sandrini  <rasa@gmx.ch>
484         * vala/valaconstant.vala: add '_' between namespace and name of
485           namespace constants' cname
487 2007-03-21  Jürg Billeter  <j@bitron.ch>
489         * vala/valainterfacewriter.vala: minor output enhancements
490         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
491           improve handling of value-types and arrays
493 2007-03-21  Jürg Billeter  <j@bitron.ch>
495         * vala/parser.y, vala/valainterface.vala: support static interfaces
496         * vala/valastruct.vala: make set_type_id public
497         * vapi/glib-2.0.vala: add GBoxed as interface
499 2007-03-21  Jürg Billeter  <j@bitron.ch>
501         * vala/valastruct.vala: use pointer as default of type_id and
502           marshaller_type_name for reference types
503         * vala/valapointer.vala: implement get_type_id
505 2007-03-21  Jürg Billeter  <j@bitron.ch>
507         * vala/valacodegenerator.vala: deep copy GLists if necessary, patch by
508           Mathias Hasselmann
509         * vapi/glib-2.0.vala: fix some printf format strings to work on ILP32
510           and LP64 platforms
512 2007-03-21  Jürg Billeter  <j@bitron.ch>
514         * vapi/glib-2.0.vala: improve support for numeric types, patch by
515           Mathias Hasselmann
516         * tests/test-030.vala, tests/test-030.out, tests/test-031.vala,
517           tests/test-031.out: test numeric types
518         * tests/testrunner.sh: use c99 and math library
519         * tests/Makefile.am: update
521 2007-03-21  Jürg Billeter  <j@bitron.ch>
523         * vala/valainterface.vala: implement marshalling support
524         * vala/valacodegenerator.vala: support signals with interface parameters
526 2007-03-20  Raffaele Sandrini  <rasa@gmx.ch>
528         * vapi/glib-2.0.vala: add extended runtime type support
529         * vala/parser.y: also read property modifiers in set-only properties
531 2007-03-20  Jürg Billeter  <j@bitron.ch>
533         * vala/valasymbolresolver.vala: add GObject to the list of base types
534         * vapi/glib-2.0.vala: add ref and unref methods to GObject
536 2007-03-20  Jürg Billeter  <j@bitron.ch>
538         * vala/valaparser.vala, vala/valasemanticanalyzer.vala,
539           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
540           vala/valacallback.vala, vala/valainvocationexpression.vala,
541           vala/valamethod.vala, vala/valaobjectcreationexpression.vala: use weak
542           local variables where appropriate
543         * vala/parser.y, vala/valasemanticanalyzer.vala: default local variables
544           to strong reference
545         * vala/valasemanticanalyzer.vala: don't promote local variables from
546           weak to strong reference
547         * vala/valacodegenerator.vala: warn when duplicating non-reference
548           counted structs implicitly
550 2007-03-20  Jürg Billeter  <j@bitron.ch>
552         * tests/testrunner.sh: run with /bin/bash due to bashism, patch by
553           Mathias Hasselmann
555 2007-03-20  Jürg Billeter  <j@bitron.ch>
557         * vapi/glib-2.0.vala: wrap functions for escaping markup strings, patch
558           by Mathias Hasselmann
560 2007-03-20  Jürg Billeter  <j@bitron.ch>
562         * vala/valacodegenerator.vala: free lists of interfaces correctly, patch
563           by Mathias Hasselmann
565 2007-03-17  Jürg Billeter  <j@bitron.ch>
567         * compiler/valacompiler.vala, compiler/Makefile.am, vapi/config.vala:
568           consider install prefix when searching for packages, patch by
569           Mathias Hasselmann
570         * configure.ac: add AM_PROG_CC_C_O
571         * autogen.sh, MAINTAINERS: added
572         * Makefile.am: dist MAINTAINERS
574 2007-03-17  Jürg Billeter  <j@bitron.ch>
576         * vala/valasemanticanalyzer.vala, vala/valacodegnerator.vala,
577           vala/valaclassregisterfunction.vala,
578           vala/valainterfaceregisterfunction.vala,
579           vala/valatyperegisterfunction.vala, vala/valacodecontext.vala: support
580           creating GTypeModule-based plug-ins with the ModuleInit attribute
581         * vala/parser.y, vala/valacodegenerator.vala, vala/valaclass.vala:
582           support static classes
583         * vapi/glib-2.0.vala: add TypePlugin and TypeModule
585 2007-03-17  Jürg Billeter  <j@bitron.ch>
587         * vala/parser.y: accept attributes without parentheses
588         * vala/valainterfacewriter.vala: don't write weak keyword for value
589           types
590         * vapi/atk.vala, vapi/cairo.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala,
591           vapi/libxml-2.0.vala, vapi/pango.vala: update
593 2007-03-17  Jürg Billeter  <j@bitron.ch>
595         * ccode/valaccodeunaryexpression.vala: support pointer indirections
596         * vala/parser.y, vala/valacodevisitor.vala,
597           vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala,
598           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
599           vala/valaaddressofexpression.vala, vala/valadatatype.vala,
600           vala/valapointer.vala, vala/valapointerindirection.vala,
601           vala/valatypereference.vala: support pointer-types, pointer
602           indirections, and address-of expressions
603         * vala/vala.h, vala/Makefile.am: update
605 2007-03-16  Jürg Billeter  <j@bitron.ch>
607         * vala/parser.y: support weak keyword in local variable declarations
608         * vapi/glib-2.0.vala: improve GError support
610 2007-03-16  Jürg Billeter  <j@bitron.ch>
612         * vala/valacodegenerator.vala: support disconnecting signals, based on
613           patch by Alexandre Moreira
614         * tests/test-018.vala, tests/test-018.out: test disconnecting signals
616 2007-03-16  Jürg Billeter  <j@bitron.ch>
618         * vala/valacodegenerator.vala: fix null pointer dereference when
619           emitting signals
621 2007-03-16  Jürg Billeter  <j@bitron.ch>
623         * vala/parser.y: default to strong references for method return types
624         * vala/valasymbolresolver.vala: reset TypeReference.transfers_ownership
625           for value-types
626         * vala/valasourcefile.vala: assume ownership of include filenames
627         * vala/valainterfacewriter.vala: use weak keyword for return types
628         * vala/valacodecontext.vala, vala/valasourcefile.vala,
629           vala/valasymbolbuilder.vala, vapi/glib-2.0.vala: add weak to return
630           types
632 2007-03-11  Jürg Billeter  <j@bitron.ch>
634         * vala/valasemanticanalyzer.vala: resolve generic return values
635         * vala/valamemorymanager.vala: fix check for generic method parameters
636           to support derived types
637         * vala/valainterface.vala: implement get_type_parameter_index
638         * vala/valamemberaccess.vala: visit type arguments
639         * vala/valaclassregisterfunction.vala,
640           vala/valainterfaceregisterfunction.vala,
641           vala/valatyperegisterfunction.vala: pass base_init function pointer
642           for interfaces
643         * vala/valacodegenerator.vala: fix initialization check in interface
644           base_init function
645         * vala/valasemanticanalyzer.vala: fix prerequisite check to also accept
646           derived types of prerequisites
648 2007-03-10  Jürg Billeter  <j@bitron.ch>
650         * ccode/valaccodecastexpression.vala: correct bracketing in cast
651           expressions
653 2007-03-10  Jürg Billeter  <j@bitron.ch>
655         * vala/valacodegenerator.vala: support interface properties and signals,
656           improve support for generics
658 2007-03-10  Jürg Billeter  <j@bitron.ch>
660         * vala/parser.y, vala/valasymbolbuilder.vala,
661           vala/valasemanticanalyzer.vala, vala/valaproperty.vala: support
662           abstract, virtual, and override modifiers for properties
663         * vala/parser.y: support get and set as identifiers
665 2007-03-10  Jürg Billeter  <j@bitron.ch>
667         * vala/valatypereference.vala: correct cname of generic type parameters
669 2007-03-10  Jürg Billeter  <j@bitron.ch>
671         * vala/valacreationmethod.vala, vala/valamethod.vala: fix overriding
672           cname of creation methods
674 2007-03-07  Jürg Billeter  <j@bitron.ch>
676         * vala/valasemanticanalyzer.vala: check whether a class implements all
677           abstract methods of base classes
678         * vala/valacodenode.vala, vala/valadatatype.vala,
679           vala/valaexpression.vala, vala/valaliteral.vala: fix build with added
680           checks
682 2007-03-07  Jürg Billeter  <j@bitron.ch>
684         * vala/valaclass.vala: implement get_type_parameter_index
686 2007-03-07  Raffaele Sandrini  <rasa@gmx.ch>
688         * vala/valasemanticanalyzer.vala: check whether a class implements all
689           methods required by its super interfaces
691 2007-03-05  Jürg Billeter  <j@bitron.ch>
693         * vala/scanner.l, vala/parser.y, vala/valacatchclause.vala,
694           vala/valathrowstatement.vala, vala/valatrystatement.vala,
695           vala/valacodevisitor.vala: add exception handling support to the
696           parser
697         * vala/vala.h, vala/Makefile.am: update
699 2007-03-05  Raffaele Sandrini  <rasa@gmx.ch>
701         * vala/valainterfaceregisterfunction.vala: add
702           `g_type_interface_add_prerequisite' calls during interface type
703           creation
704         * vala/valasemanticanalyzer.vala: add checks for consistent interface
705           prerequisites and whether classes are obeying them
707 2007-03-04  Jürg Billeter  <j@bitron.ch>
709         * configure.ac: Post-release version bump
711 2007-03-04  Jürg Billeter  <j@bitron.ch>
713         * NEWS: update for 0.0.7 release
715 2007-03-04  Jürg Billeter  <j@bitron.ch>
717         * vala/parser.y: pack all embedded stataments in blocks
718         * vala/vala.h: update
720 2007-03-04  Jürg Billeter  <j@bitron.ch>
722         * vala/valasemanticanalyzer.vala: check for inherited properties in
723           construct formal parameters
725 2007-03-04  Jürg Billeter  <j@bitron.ch>
727         * vala/valasemanticanalyzer.vala: don't allow interface implementations
728           to specify override
729         * vala/valaconstant.vala, vala/valafield.vala,
730           vala/valaformalparameter.vala, vala/valamethod.vala,
731           vala/valaproperty.vala, vala/valasignal.vala,
732           vala/valavariabledeclarator.vala: remove override from interface
733           implementations
735 2007-03-04  Jürg Billeter  <j@bitron.ch>
737         * vala/parser.y, vala/valainterface.vala,
738           vala/valasemanticanalyzer.vala: rename base_types of interfaces to
739           prerequisites to follow GObject terminology
740         * vala/valamethod.vala, vala/valasemanticanalyzer.vala,
741           vala/valacodegenerator.vala: move interface usage part from
742           base_method to base_interface_method property
743         * vala/valasemanticanalyzer.vala: don't require interface
744           implementations to specify override
745         * vala/valacodegenerator.vala: support base access in interface
746           implementations
747         * tests/test-017.vala: remove override in method declaration
749 2007-03-04  Jürg Billeter  <j@bitron.ch>
751         * vala/valasemanticanalyzer.vala: support lambda expressions in
752           constructors
753         * tests/test-029.vala: remove extra printf argument
755 2007-03-04  Raffaele Sandrini  <rasa@gmx.ch>
757         * vala/valasemanticanalyzer.vala, vala/parser.y,
758           vala/valaformalparameter.vala: add support for construct formal
759           creation method parameters
760         * tests/test-029.vala, tests/test-029.out: add testcase for construct
761           formal parameters
762         * tests/Makefile.am: update
764 2007-03-04  Raffaele Sandrini  <rasa@gmx.ch>
766         * vala/valaattributeprocessor.vala, vala/valacharacterliteral.vala,
767           vala/valamethod.vala, vala/valasymbolbuilder.vala,
768           vala/valacodevisitor.vala, vala/valainterfacewriter.vala,
769           vala/valamemorymanager.vala: update/fix copyright notice
771 2007-03-03  Raffaele Sandrini  <rasa@gmx.ch>
773         * vala/valaattributeprocessor.vala, vala/valamethod.vala,
774           vala/valacodegenerator.vala, vala/valacreationmethod.vala,
775           vala/valasymbolbuilder.vala, vala/valasemanticanalyzer.vala,
776           vala/parser.y, vala/valacodevisitor.vala,
777           vala/valainterfacewriter.vala, vala/valamemorymanager.vala:
778           add CreationMethod type; restrict creation methods bodys to contain
779           only property assignment statements
780         * vala/valacharacterliteral.vala, vala/valacodegenerator.vala,
781           vala/valaarray.vala: fix the compiler to obey the new creation
782           method rules
783         * vala/Makefile.am: update
785 2007-03-03  Jürg Billeter  <j@bitron.ch>
787         * vapi/atk.vala, vapi/cairo.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala,
788           vapi/pango.vala: switch to new construction syntax
790 2007-03-03  Jürg Billeter  <j@bitron.ch>
792         * vala/parser.y: remove support of old construction syntax
794 2007-03-03  Jürg Billeter  <j@bitron.ch>
796         * Switch to new construction syntax
798 2007-03-03  Jürg Billeter  <j@bitron.ch>
800         * vala/parser.y: support new construction syntax
801         * vala/valainterfacewriter.vala: write interface with new construction
802           syntax
804 2007-03-01  Jürg Billeter  <j@bitron.ch>
806         * vala/valatypereference.vala: improve equality check
807         * vala/valatypeparameter.vala: add type parameter equality check
808         * vala/valasemanticanalyzer.vala: add symbol dependencies for
809           interfaces, support overriding methods of interfaces with
810           prerequisites
812 2007-02-28  Jürg Billeter  <j@bitron.ch>
814         * configure.ac: Post-release version bump
816 2007-02-28  Jürg Billeter  <j@bitron.ch>
818         * NEWS: update for 0.0.6 release
819         * tests/Makefile.am: correctly distribute test sources
821 2007-02-28  Jürg Billeter  <j@bitron.ch>
823         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
824           updates and fixes
826 2007-02-28  Jürg Billeter  <j@bitron.ch>
828         * tests/test-022.vala, tests/test-022.out: test Array.resize method and
829           Array.length field
830         * vala/valacodegenerator.vala: update length when resizing arrays
832 2007-02-27  Jürg Billeter  <j@bitron.ch>
834         * vala/valacodenode.vala: mark source_reference as construction property
835           to allow access in Array constructor
836         * vala/valaarraylengthfield.vala: the Array.length field
837         * vala/valaarrayresizemethod.vala: the Array.resize method
838         * vala/valaarray.vala: support arrays of generic type parameters, add
839           length field, add resize method
840         * vala/valatypereference.vala: make source reference optional
841         * vala/valatypeparameter.vala, vala/valasymbolresolver.vala,
842           vala/valasemanticanalyzer.vala: support arrays of generic type
843           parameters
844         * vala/valadatatype.vala, vala/valacodegenerator.vala: support
845           Array.length field and Array.resize method
846         * vala/Makefile.am: update
848 2007-02-27  Jürg Billeter  <j@bitron.ch>
850         * vala/parser.y: accept interfaces with base types
852 2007-02-26  Jürg Billeter  <j@bitron.ch>
854         * vala/valasymbolresolver.vala: fix error handling with unknown
855           namespaces
857 2007-02-26  Jürg Billeter  <j@bitron.ch>
859         * tests/test-028.vala, tests/test-028.out: test enums
860         * tests/Makefile.am: update
862 2007-02-26  Jürg Billeter  <j@bitron.ch>
864         * tests/test-027.vala, tests/test-027.out: test postfix and prefix
865           expressions
866         * tests/Makefile.am: update
867         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
868           prefix and postfix expressions for properties and parenthesized
869           expressions
871 2007-02-25  Jürg Billeter  <j@bitron.ch>
873         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: improve
874           subtyping suport for structs
876 2007-02-25  Jürg Billeter  <j@bitron.ch>
878         * tests/test-026.vala, tests/test-026.out: test hidden base method
879           access
880         * tests/Makefile.am: update
881         * vala/valasemanticanalyzer.vala: correct symbol_reference for base
882           access, add current_struct field
884 2007-02-25  Jürg Billeter  <j@bitron.ch>
886         * tests/test-010.vala, tests/test-010.out: enhance assignment test
887         * vala/valasemanticanalyzer.vala: correct bracketing in compound
888           assignments
890 2007-02-25  Jürg Billeter  <j@bitron.ch>
892         * vala/valacodenode.vala: add to_string method
894 2007-02-25  Jürg Billeter  <j@bitron.ch>
896         * vapi/glib-2.0.vala: improve GSource support
898 2007-02-22  Raffaele Sandrini  <rasa@gmx.ch>
900         * vala/valacodegenerator.vala: don't allow NULL terminated arrays of
901           value-type structs and remove the check on such arrays in a freach
902           statement
904 2007-02-21  Jürg Billeter  <j@bitron.ch>
906         * vala/valacallback.vala: support using instance methods as static
907           callbacks
909 2007-02-19  Jürg Billeter  <j@bitron.ch>
911         * vapi/glib-2.0.vala: more string functions (patch by Cayle Graumann)
913 2007-02-18  Raffaele Sandrini  <rasa@gmx.ch>
915         * vala/valainterfacewriter.vala: fix indentation for class definitions
917 2007-02-04  Jürg Billeter  <j@bitron.ch>
919         * vapi/glib-2.0.vala: add GLib.Queue
921 2007-02-04  Jürg Billeter  <j@bitron.ch>
923         * vala/valaconstant.vala: fix global constants
924         * vapi/glib-2.0.vala: add NoArrayLength attribute to Process functions
926 2007-02-04  Jürg Billeter  <j@bitron.ch>
928         * vala/valacodegenerator.vala: use correct type cname in array creation
929           expression, don't assume that all string arrays own their content
931 2007-02-04  Jürg Billeter  <j@bitron.ch>
933         * vala/parser.y: fix crash when parsing array creation expression
935 2006-12-23  Jürg Billeter  <j@bitron.ch>
937         * vala/valaattribute.vala: add get_bool method for boolean values
938         * compiler/valacompiler.vala: print message when detecting option errors
940 2006-12-10  Jürg Billeter  <j@bitron.ch>
942         * vapi/glib-2.0.vala: add message logging functions
943         * vala/valasemanticanalyzer.vala: support enum to int conversions and
944           diagnostic methods
945         * vala/valacodegenerator.vala: support do statements
947 2006-11-24  Jürg Billeter  <j@bitron.ch>
949         * vala/valacodegenerator.vala: fix generating switch statements
951 2006-11-23  Jürg Billeter  <j@bitron.ch>
953         * vala/valacodegenerator.vala: allow main methods without parameters and
954           main methods returning void, check complete signature of main method
956 2006-11-22  Jürg Billeter  <j@bitron.ch>
958         * vala/parser.y, vala/valacodegenerator.vala: support enum members with
959           values
961 2006-11-22  Jürg Billeter  <j@bitron.ch>
963         * vapi/glib-2.0.vala: add direct_hash and direct_equal
964         * tests/Makefile.am: distribute reference output
966 2006-11-21  Jürg Billeter  <j@bitron.ch>
968         * vala/valaclass.vala, vala/valaenum.vala, vala/valafield.vala,
969           vala/valainterface.vala, vala/valanamespace.vala,
970           vala/valastruct.vala: use new attribute functionality
972 2006-11-21  Jürg Billeter  <j@bitron.ch>
974         * vala/valaattribute.vala: add has_argument, get_string, and get_integer
975           methods
976         * vala/valacodenode.vala: add get_attribute method
977         * vala/valamethod.vala: use new attribute functionality
979 2006-11-21  Jürg Billeter  <j@bitron.ch>
981         * vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala: don't
982           require GLib namespace at runtime in symbol resolver and semantic
983           analyzer
985 2006-11-21  Jürg Billeter  <j@bitron.ch>
987         * tests/testrunner.sh: add test script
988         * tests/*.out: add reference output for test cases
989         * tests/Makefile.am: add test environment
991 2006-11-20  Jürg Billeter  <j@bitron.ch>
993         * vala/valacodegenerator.vala: fix code generation for structs
995 2006-11-11  Jürg Billeter  <j@bitron.ch>
997         * configure.ac: remove AM_MAINTAINER_MODE to always rebuild scanner and
998           parser if changed
1000 2006-11-09  Raffaele Sandrini  <rasa@gmx.ch>
1002         * vapi/glib-2.0.vala: add GArray and GTree structures
1003         * vala/valainterfacewriter.vala: write header files attributes for
1004           classes
1006 2006-11-09  Jürg Billeter  <j@bitron.ch>
1008         * vapi/libxml-2.0.vala: some fixes and additions
1010 2006-11-08  Jürg Billeter  <j@bitron.ch>
1012         * vala/valacodegenerator.vala: support interfaces in header cycles
1013         * vala/valanamespace.vala: add get_interfaces method
1015 2006-11-06  Jürg Billeter  <j@bitron.ch>
1017         * vala/parser.y: support unary ~ operator
1019 2006-11-06  Jürg Billeter  <j@bitron.ch>
1021         * vala/valacodegenerator.vala: use g_value_set_object for interfaces
1022         * vala/valainterface.vala: implement get_type_id
1024 2006-11-02  Jürg Billeter  <j@bitron.ch>
1026         * configure.ac: Post-release version bump
1028 2006-11-02  Jürg Billeter  <j@bitron.ch>
1030         * NEWS: update for 0.0.5 release
1032 2006-11-02  Jürg Billeter  <j@bitron.ch>
1034         * vala/valainterfacewriter.vala: write CCode.cname attribute for methods
1035         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1036           use CCode.cname attribute
1038 2006-11-02  Raffaele Sandrini  <rasa@gmx.ch>
1040         * vala/valacodegenerator.vala: fix memory leak caused when container
1041           expression transfers ownership to the foreach statement
1043 2006-11-02  Jürg Billeter  <j@bitron.ch>
1045         * vala/valainterfacewriter.vala: don't use weak for value types
1046         * vala/valamethod.vala: make set_cname public
1047         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1048           add Gtk.Allocation, don't use weak for value types
1050 2006-10-31  Jürg Billeter  <j@bitron.ch>
1052         * vala/valacodegenerator.vala: don't add NULL to end of variable
1053           argument list for printf-style functions to reduce the number of
1054           warnings during C compilation
1055         * vala/valamethod.vala: support PrintfFormat attribute
1056         * vala/vala.h: include valareport.h
1057         * vapi/glib-2.0.vala: use PrintfFormat attribute
1059 2006-10-27  Jürg Billeter  <j@bitron.ch>
1061         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1062           miscellaneous fixes
1064 2006-10-26  Raffaele Sandrini  <rasa@gmx.ch>
1066         * vala/valasemanticanalyzer.vala: make foreach iterator only visible to
1067           the foreach body.
1068         * INSTALL: update
1070 2006-10-26  Jürg Billeter  <j@bitron.ch>
1072         * vala/valacodegenerator.vala: don't create empty dispose functions,
1073           support virtual methods with non-void return type
1074         * vapi/glib-2.0.vala: include glib/gstdio.h for GLib file functions
1076 2006-10-26  Jürg Billeter  <j@bitron.ch>
1078         * vala/valacodegenerator.vala: explicitly cast callbacks to reduce the
1079           number of warnings during C compilation
1081 2006-10-26  Jürg Billeter  <j@bitron.ch>
1083         * vala/valacodegenerator.vala: convert integer to pointer for generic
1084           parameters to reduce the number of warnings during C compilation
1086 2006-10-26  Jürg Billeter  <j@bitron.ch>
1088         * vala/valacodegenerator.vala: cast object instances in return
1089           statements to reduce the number of warnings during C compilation
1091 2006-10-25  Jürg Billeter  <j@bitron.ch>
1093         * vala/valacodegenerator.vala: cast object instances in comparisons to
1094           reduce the number of warnings during C compilation
1096 2006-10-25  Jürg Billeter  <j@bitron.ch>
1098         * vala/valacodegenerator.vala, vala/valaarray.vala,
1099           vala/valacallback.vala, vala/valaclass.vala, vala/valadatatype.vala,
1100           vala/valaenum.vala, vala/valaflags.vala, vala/valainterface.vala,
1101           vala/valastruct.vala, vala/valatypereference.vala, vapi/glib-2.0.vala:
1102           start to use const specifier for strings to reduce number of warnings
1103           during C compilation
1105 2006-10-25  Jürg Billeter  <j@bitron.ch>
1107         * vala/parser.y, vala/valacodevisitor.vala,
1108           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
1109           vala/valabaseaccess.vala: support base access
1110         * vala/vala.h, vala/Makefile.am: update
1111         * tests/test-025.vala: test base access
1112         * tests/Makefile.am: update
1114 2006-10-25  Jürg Billeter  <j@bitron.ch>
1116         * configure.ac: Post-release version bump
1117         * compiler/valacompiler.vala: --version support
1118         * compiler/Makefile.am: always include config.h to keep compatibility
1119         * vapi/config.vala: add binding for config.h
1120         * vapi/Makefile.am: update
1122 2006-10-25  Jürg Billeter  <j@bitron.ch>
1124         * vala/valasourcefile.vala: support dependencies on constants
1126 2006-10-24  Jürg Billeter  <j@bitron.ch>
1128         * vala/valasemanticanalyzer.vala: don't crash when comparing value type
1129           with null
1131 2006-10-24  Jürg Billeter  <j@bitron.ch>
1133         * vala/valasymbolresolver.vala: don't crash on already resolved type
1134           references
1135         * vala/valasemanticanalyzer.vala: support typeof expression
1136         * vala/valacodegenerator.vala: improve support for null-terminated
1137           arrays
1138         * vala/valainterfacewriter.vala: don't write type arguments for arrays
1140 2006-10-08  Jürg Billeter  <j@bitron.ch>
1142         * vala/parser.y: support enum values
1144 2006-10-06  Jürg Billeter  <j@bitron.ch>
1146         * NEWS: update for 0.0.4 release
1148 2006-10-06  Raffaele Sandrini  <rasa@gmx.ch>
1150         * vapi/glib-2.0.vala, vala/valaflags.vala, vala/valaenum.vala,
1151           vala/valadatatype.vala, vala/valaarray.vala, vala/valaclass.vala,
1152           vala/valastruct.vala: add get and set value support
1153         * vala/valacodegenerator.vala: add user (arbitrary) signal support
1154         * vala/valadatatype.vala, vala/valamemorymanager.vala,
1155           vala/valastruct.vala: correctly honor ref types in type arguments
1156         * ccode/valaccodedeclaration.vala, ccode/valaccodemodifiers.vala:
1157           support register local variables
1158         * ccode/valaccodememberaccess.vala: make one line creation possible
1159         * vapi/glib-2.0.vala: fix return type of Glib.List.nth_data
1160         * tests/test-024.vala: add user signal test
1161         * tests/Makefile.am: update
1163 2006-10-05  Jürg Billeter  <j@bitron.ch>
1165         * vala/parser.y, vala/valasemanticanalyzer.vala: complete support for
1166           prefix increment and decrement operator
1168 2006-10-05  Jürg Billeter  <j@bitron.ch>
1170         * vala/valasemanticanalyzer.vala: transform compund assignments into
1171           simple assignments
1172         * vala/valabinaryexpression.vala: add default argument to construction
1173           method
1174         * tests/test-021.vala: test string += assignment
1176 2006-10-04  Jürg Billeter  <j@bitron.ch>
1178         * vala/valasymbolresolver.vala: correct takes_ownership in arrays
1179         * vala/valacodegenerator.vala: add limited support for array length
1180           fields, store array length from array creation expression, copy array
1181           length in array assignments
1182         * vala/valafield.vala: support NoArrayLength attribute
1183         * compiler/valacompiler.vala: add NoArrayLength attribute to option
1184           arrays
1186 2006-10-04  Jürg Billeter  <j@bitron.ch>
1188         * vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala: specify
1189           array element type as type argument
1190         * vala/valacodegenerator.vala: create declarations for array length
1191           variables, iterate over arrays by index if it has known length
1192         * vala/valacharacterliteral.vala: correct return type of get_char
1193         * vala/valanamespace.vala: process enums and flags first
1194         * vala/valavariabledeclarator.vala: set parent_node of initializer, add
1195           replace method
1196         * tests/test-023.vala: test list construction
1197         * tests/Makefile.am: update
1199 2006-10-03  Jürg Billeter  <j@bitron.ch>
1201         * vala/valacodegenerator.vala: don't use InstanceCast for callbacks
1203 2006-09-28  Raffaele Sandrini <rasa@gmx.ch>
1205         * vala/valacodegenerator.vala, vala/valasemanticanalyzer.vala,
1206           vala/valamemorymanager.vala: add one dimensional array assignment
1207           support
1208         * tests/test-022.vala: testcase for array creation/assignment
1209         * tests/Makefile.am: update
1211 2006-09-28  Jürg Billeter  <j@bitron.ch>
1213         * vapi/glib-2.0.vala: add and improve various types
1215 2006-09-28  Jürg Billeter  <j@bitron.ch>
1217         * vala/parser.y: set attributes also for non-readable properties
1218         * vala/valacodegenerator.vala: support interface signals
1219         * vala/valainvocationexpression.vala,
1220           vala/valaobjectcreationexpression.vala: fix problem when children
1221           change while iterating over them
1223 2006-09-27  Jürg Billeter  <j@bitron.ch>
1225         * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
1226           vala/valamethod.vala: support InstanceByReference attribute
1227         * vapi/glib-2.0.vala: add Filename struct, fix Process methods
1228         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1229           fix static methods without parameters, add InstanceByReference
1230           attributes
1232 2006-09-27  Jürg Billeter  <j@bitron.ch>
1234         * vala/valainterface.vala: visit interface signals
1235         * vala/valainterfacewriter.vala: obey lock keyword
1236         * vapi/atk.vala, vapi/gtk+-2.0.vala: add interface signals
1238 2006-09-27  Raffaele Sandrini  <rasa@gmx.ch>
1240         * vapi/glib-2.0.vala: add threading and assorted structures
1241         * vala/valamember.vala: add an additional abstraction for all members
1242           of a class
1243         * vala/valalockstatement.vala, vala/valacodegenerator.vala,
1244           vala/scanner.l, vala/valasemanticanalyzer.vala,
1245           vala/valalockable.vala, vala/parser.y, vala/valacodevisitor.vala:
1246           add lock feature to vala
1247         * vala/valamethod.vala, vala/valafield.vala, vala/valaconstant.vala,
1248           vala/valasignal.vala, vala/valaproperty.vala: make those members
1249           lockable
1250         * vala/valacodegenerator.vala: use member abstraction to simlify field
1251           initialisation and destruction
1252         * vala/valacodegenerator.vala: introduce new C macros VALA_FREE_CHECKED
1253           and VALA_FREE_UNCHECKED to make safe freeing code nicer
1254         * vala/vala.h: update and bring arraycreationexpression in order
1255         * vala/Makefile.am: update
1257 2006-09-27  Jürg Billeter  <j@bitron.ch>
1259         * vapi/glib-2.0.vala: add Process struct with spawn functions
1261 2006-09-27  Jürg Billeter  <j@bitron.ch>
1263         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1264           fix global methods
1266 2006-09-26  Jürg Billeter  <j@bitron.ch>
1268         * vapi/glib-2.0.vala: add string.reverse, Source.remove,
1269           Environment.get_variable, Environment.set_variable,
1270           Environment.get_current_dir, Path.is_absolute, Path.skip_root
1272 2006-09-26  Jürg Billeter  <j@bitron.ch>
1274         * vala/valaassignment.vala, vala/valabinaryexpression.vala,
1275           vala/valacastexpression.vala, vala/valadostatement.vala,
1276           vala/valaexpressionstatement.vala, vala/valaforeachstatement.vala,
1277           vala/valaforstatement.vala, vala/valaifstatement.vala,
1278           vala/valainvocationexpression.vala, vala/valamemberaccess.vala,
1279           vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
1280           vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
1281           vala/valawhilestatement.vala: add missing cast
1283 2006-09-03  Jürg Billeter  <j@bitron.ch>
1285         * vala/scanner.l: make character_literal stricter
1286         * vala/valacodegenerator.vala: support more method return types,
1287           support unicode character literals
1288         * vala/valacharacterliteral.vala: validate input, add get_char method
1290 2006-09-02  Jürg Billeter  <j@bitron.ch>
1292         * vala/parser.y, vala/valacodecontext.vala,
1293           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1294           vala/valacodegenerator.vala, vala/valaarraycreationexpression.vala,
1295           vala/valablock.vala, vala/valacallback.vala, vala/valaclass.vala,
1296           vala/valaelementaccess.vala, vala/valafield.vala,
1297           vala/valaformalparameter.vala, vala/valaforstatement.vala,
1298           vala/valainitializerlist.vala, vala/valainterface.vala,
1299           vala/valainvocationexpression.vala, vala/valainvokable.vala,
1300           vala/valalambdaexpression.vala,
1301           vala/valalocalvariabledeclaration.vala, vala/valamemberaccess.vala,
1302           vala/valamethod.vala, vala/valanamespace.vala,
1303           vala/valaobjectcreationexpression.vala, vala/valasignal.vala,
1304           vala/valasourcefile.vala, vala/valastruct.vala,
1305           vala/valaswitchsection.vala, vala/valaswitchstatement.vala,
1306           vala/valatypereference.vala, vala/valavariabledeclarator.vala,
1307           ccode/valaccodefragment.vala, vapi/glib-2.0.vala: always default type
1308           arguments to strong
1309         * vala/valacodevisitor.vala, vala/valacodegenerator.vala,
1310           vala/valaexpression.vala, vala/valareturnstatement.vala: avoid
1311           unnecessary ref/unref pair in return expression
1312         * vala/valatypereference.vala: copy type arguments in copy method, too
1313         * vala/valasemanticanalyzer.vala: set type arguments in type_reference
1314           of ObjectCreationExpression
1315         * vala/valadatatype.vala: fix warning
1317 2006-09-02  Jürg Billeter  <j@bitron.ch>
1319         * vala/valacodegenerator.vala: special case construction of GLib.List
1320           and GLib.SList (reported by Cayle Graumann)
1322 2006-09-02  Jürg Billeter  <j@bitron.ch>
1324         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
1325           vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
1326           vala/valamemberaccessibility.vala: prepare to support protected
1327           members
1329 2006-09-02  Jürg Billeter  <j@bitron.ch>
1331         * vala/parser.y: don't set parent_node in parser
1332         * vala/valasemanticanalyzer.vala: support string + operator
1333         * vala/valaassignment.vala, vala/valabinaryexpression.vala,
1334           vala/valacastexpression.vala, vala/valacodenode.vala,
1335           vala/valadostatement.vala, vala/valaexpressionstatement.vala,
1336           vala/valaforeachstatement.vala, vala/valaforstatement.vala,
1337           vala/valaifstatement.vala, vala/valainvocationexpression.vala,
1338           vala/valamemberaccess.vala, vala/valaobjectcreationexpression.vala,
1339           vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
1340           vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
1341           vala/valawhilestatement.vala: set parent_node of child nodes, add
1342           replace method
1343         * vala/valanullliteral.vala: add default argument to construction method
1344         * tests/test-021.vala: test string + operator
1345         * tests/Makefile.am: update
1347 2006-09-02  Jürg Billeter  <j@bitron.ch>
1349         * vala/scanner.l: support integer and floating point suffixes
1350         * vala/valasemanticanalyzer.vala: use correct type for integer and
1351           floating point literals
1352         * vala/valaintegerliteral.val, vala/valarealliteral.vala: add
1353           get_type_name method
1354         * vapi/glib-2.0.vala: add string to int64 conversion method
1356 2006-09-02  Jürg Billeter  <j@bitron.ch>
1358         * vala/valasemanticanalyzer.vala: use IntegerType, FloatingType, and
1359           rank attributes to analyze arithmetic operations
1360         * vala/valacodegenerator.vala: generate C casts for explicit value-type
1361           casts
1362         * vala/valastruct.vala: add is_integer_type, is_floating_type, and
1363           get_rank methods, add IntegerType and FloatingType attributes
1364         * vala/valasemanticanalyzer.vala, vala/valacastexpression.vala,
1365           vala/valainstancecast.vala, ccode/valaccodecastexpression.vala: fix
1366           typos
1367         * vapi/glib-2.0.vala: add int16, uint16, int32, uint32, use IntegerType
1368           and FloatingType attributes
1370 2006-09-02  Jürg Billeter  <j@bitron.ch>
1372         * vala/parser.y: set accessibility for constants
1373         * vala/valasemanticanalyzer.vala: set return type in property set
1374           accessors to void
1375         * vala/valacodegenerator.vala: move public constants to header file
1376         * vala/valaclass.vala: don't create fields for properties in VAPI files
1377         * vala/valaconstant.vala: add access member
1379 2006-09-02  Jürg Billeter  <j@bitron.ch>
1381         * vapi/cairo.vala: mark Matrix as reference type
1383 2006-08-24  Jürg Billeter  <j@bitron.ch>
1385         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
1386           mark virtual methods appropriately
1388 2006-08-24  Jürg Billeter  <j@bitron.ch>
1390         * vala/valaattributeprocessor.vala, vala/valacodegenerator.vala,
1391           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala: add
1392           possibility to change interface type struct cname, default to `Iface'
1393           suffix (reported by Dominique Würtz)
1395 2006-08-23  Jürg Billeter  <j@bitron.ch>
1397         * vala/valasemanticanalyzer.vala: support calling non-abstract interface
1398           methods
1399         * vala/valainterface.vala: add get_base_types method
1401 2006-08-20  Jürg Billeter  <j@bitron.ch>
1403         * configure.ac: Post-release version bump, fail if flex or bison not
1404           found
1406 2006-08-18  Jürg Billeter  <j@bitron.ch>
1408         * NEWS: update for 0.0.3 release
1410 2006-08-18  Jürg Billeter  <j@bitron.ch>
1412         * compiler/valacompiler.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala:
1413           use array length functionality
1415 2006-08-18  Jürg Billeter  <j@bitron.ch>
1417         * vala/valacodegenerator.vala: support implicit array length parameter
1418         * vala/valainterfacewriter.vala, vala/valaformalparameter.vala,
1419           vala/valamethod.vala: support NoArrayLength attribute
1420         * compiler/valacompiler.vala, vapi/atk.vala, vapi/cairo.vala,
1421           vapi/gdk-2.0.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala,
1422           vapi/pango.vala: add NoArrayLength attributes
1423         * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
1424           tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
1425           tests/test-007.vala, tests/test-008.vala, tests/test-009.vala,
1426           tests/test-010.vala, tests/test-011.vala, tests/test-012.vala,
1427           tests/test-013.vala, tests/test-014.vala, tests/test-015.vala,
1428           tests/test-016.vala, tests/test-017.vala, tests/test-018.vala,
1429           tests/test-019.vala, tests/test-020.vala: remove argc parameter
1431 2006-08-18  Jürg Billeter  <j@bitron.ch>
1433         * vala/parser.y: remove read/write tokens
1434         * compiler/valacompiler.vala: support package dependencies
1435         * vapi/gdk-2.0.deps
1436         * vapi/gtk+-2.0.deps
1437         * vapi/Makefile.am: update
1439 2006-08-18  Jürg Billeter  <j@bitron.ch>
1441         * vala/parser.y, vala/valastruct.vala: support base types for structs
1442         * vala/valainterfacewriter.vala: obey set keyword
1443         * vapi/glib-2.0.vala: add SignalInvocationHint, SignalEmissionHook,
1444           SignalFlags, ValueArray, Math, Timeout, and PtrArray
1445         * vapi/cairo.vala: initial cairo binding
1446         * vapi/pango.vala, vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala:
1447           bindings generated from Pango 1.13.5, ATK 1.12.1, and GTK+ 2.10.1
1448         * vapi/Makefile.am: update
1450 2006-08-11  Raffaele Sandrini  <rasa@gmx.ch>
1452         * vala/valasymbolresolver.vala, vala/valatypereference.vala,
1453           vala/valaelementaccess.vala, vala/valadatatype.vala, vala/parser.y,
1454           vala/valaarray.vala: make those classes ready to process
1455           multidimensional arrays.
1456         * vala/scanner.l: remove ARRAY_QUALIFIER token
1457         * vala/valasemanticanalyzer.vala, vala/parser.y,
1458           vala/valacodegenerator.vala, vala/valacodegenerator.vala,
1459           vala/valacodevisitor.vala: add multidimensional array support however
1460           only one dimensional arrays can be created yet
1461         * vala/Makefile.am, vala/vala.h: update
1462         * vala/valatypereference.vala: remove source reference parameter
1463           when creating from an expression
1464         * vala/valacodegenerator.vala: add support for uint, long and ulong
1465           properties
1467 2006-08-10  Jürg Billeter  <j@bitron.ch>
1469         * vala/scanner.l: support hexadecimal and octal integer literals,
1470           support hexadecimal escape sequences, support BASE and THIS
1471         * vala/parser.y: use BASE and THIS keywords
1472         * vala/valasemanticanalyzer.vala: don't use new base keyword as variable
1473           name
1474         * vala/valacodegenerator.vala: simplify code
1475         * vala/valainterfacewriter.vala: obey base keyword
1477 2006-08-10  Jürg Billeter  <j@bitron.ch>
1479         * vala/valacodegenerator.vala: fix memory management in switch
1480           statements
1481         * tests/test-020.vala: extend switch statement test
1483 2006-08-10  Jürg Billeter  <j@bitron.ch>
1485         * vala/valacodegenerator.vala: support switch statements
1486         * vala/valaswitchsection.vala: add has_default_label () and
1487           get_statements () methods
1488         * vala/valaswitchstatement.vala: add get_sections () method
1489         * ccode/valaccodedostatement.vala
1490         * ccode/Makefile.am: update
1491         * tests/test-020.vala: test switch statements
1492         * tests/Makefile.am: update
1494 2006-08-10  Jürg Billeter  <j@bitron.ch>
1496         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: use
1497           Invokable
1498         * vala/valainvokable.vala
1499         * vala/valafield.vala, vala/valaformalparameter.vala,
1500           vala/valamethod.vala, valasignal.vala,
1501           vala/valavariabledeclarator.vala: implement Invokable
1502         * vala/Makefile.am: update
1504 2006-08-10  Jürg Billeter  <j@bitron.ch>
1506         * vala/parser.y: support constants in namespaces and constants without
1507           initializer
1508         * vala/valasemanticanalyzer.vala: depend on implemented interfaces
1509         * vala/valacodegenerator.vala: always include glib-object.h for
1510           interfaces, append NULL to variable argument list calls
1511         * vala/valainterfacewriter.vala: support constants and ellipsis
1512           parameters
1513         * vala/valaconstant.vala: make initializer optional
1514         * vala/valainterface.vala: implement get_lower_case_cprefix ()
1515         * vala/valanamespace.vala: support constants
1517 2006-08-10  Jürg Billeter  <j@bitron.ch>
1519         * vala/scanner.l: accept real literals with trailing dot
1520         * vala/valasymbolresolver.vala: ignore non-type symbols
1521         * vala/valacodegenerator.vala: support float and double properties,
1522           adapt to Field changes, support compound assignments in properties
1523         * vala/valainterfacewriter.vala: support ReferenceType attribute
1524         * vala/valaclass.vala: implement get_lower_case_cprefix ()
1525         * vala/valadatatype.vala: add get_lower_case_cprefix () method
1526         * vala/valafield.vala: let get_cname return full C name
1527         * vala/valamethod.vala: use DataType.get_lower_case_cprefix ()
1528         * vala/valastruct.vala: implement get_lower_case_cprefix (), add
1529           set_is_reference_type () method
1531 2006-08-09  Jürg Billeter  <j@bitron.ch>
1533         * vala/parser.y: adapt to Vala.Signal change
1534         * vala/valaattributeprocessor.vala: process signal attributes
1535         * vala/valacodegenerator.vala: manage memory of element access
1536           expressions, mark get_property and set_property functions static,
1537           support signal emitter functions
1538         * vala/valacodecontext.vala: use get_cinclude_filename method
1539         * vala/valainterfacewriter.vala: use C header filename of namespace,
1540           support signals, support NoAccessorMethod attribute
1541         * vala/valadatatype.vala: add default arguments
1542         * vala/valaenum.vala: make set_cprefix method public
1543         * vala/valanamespace.vala: add get_cheader_filename and
1544           set_cheader_filename methods
1545         * vala/valasignal.vala: add has_emitter property, add process_attributes
1546           method
1547         * vala/valasourcefile.vala: add get_cinclude_filename method
1548         * compiler/valacompiler.vala: adapt to SourceFile changes
1550 2006-08-05  Jürg Billeter  <j@bitron.ch>
1552         * vala/valaparser.vala: only parse .vala source files
1553         * vala/valasymbolbuilder.vala, vala/valaproperty.vala: support disabling
1554           automatic property accessor generation
1555         * vala/valasemanticanalyzer.vala: fix typo
1556         * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
1557           vala/valacodecontext.vala: use correct includes for libraries
1558         * vala/valacodegenerator.vala: use get_canonical_cconstant method for
1559           signals
1560         * vala/valainterfacewriter.vala: support interfaces, non-null types,
1561           callbacks, and construction methods
1562         * vala/valasignal.vala: add get_canonical_cconstant method
1563         * vala/valaenum.vala, vala/valainterface.vala, vala/valanamespace.vala,
1564           vala/valastruct: add default arguments
1565         * vala/Makefile.am: install libvala.so and header files
1566         * ccode/Makefile.am: install header files
1567         * compiler/valacompiler.vala: set library name in code context
1568         * compiler/Makefile.am: adapt to build system changes
1569         * vapi/glib-2.0.vala: add skeletons for Callback, Closure, IOChannel,
1570           TimeVal, Scanner, SpawnFlags, OptionGroup, MarkupParser, and Quark
1571         * vapi/Makefile.am: add vala-1.0.vala
1572         * vala-1.0.pc.in
1573         * configure.ac: disable static library by default, add vala-1.0.pc
1574         * Makefile.am: add vala-1.0.pc
1576 2006-08-02  Jürg Billeter  <j@bitron.ch>
1578         * configure.ac: Post-release version bump.
1580 2006-08-02  Jürg Billeter  <j@bitron.ch>
1582         * NEWS: update for 0.0.2 release
1583         * vala/valasemanticanalyzer.vala: check for floating reference in
1584           construction methods
1585         * vala/valasourcefile.vala, vala/valacodegenerator.vala,
1586           ccode/valaccodeincludedirective.vala: differentiate between
1587           package-internal and external includes
1588         * vapi/gtk+-2.0.vala: port to construction methods
1590 2006-08-02  Jürg Billeter  <j@bitron.ch>
1592         * port to construction methods
1593         * vala/valaparenthesizedexpression.vala, vala/valareport.vala,
1594           vala/valareturnstatement.vala, vala/valasourcefilecycle.vala,
1595           vala/valasourcereference.vala, vala/valatypecheck.vala,
1596           vala/valatypeofexpression.vala, vala/valatypeparameter.vala: add
1597           interface documentation, use implicit namespace specification
1598         * vala/Makefile.am: sort source file list
1600 2006-08-02  Jürg Billeter  <j@bitron.ch>
1602         * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
1603           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
1604           vala/valainterfacewriter.vala, vala/valaclass.vala,
1605           vala/valaexpressionstatement.vala, vala/valamethod.vala,
1606           vala/valaobjectcreationexpression.vala, vala/valastatement.vala,
1607           vala/valastruct.vala: add support for construction methods
1608         * vala/valabooleanliteral.vala, vala/valaexpression.vala,
1609           vala/valaintegerliteral.vala, vala/valaliteral.vala,
1610           vala/valaliteralexpression.vala, vala/valamemberaccess.vala: add
1611           to_string method
1612         * vala/valamemberaccess.vala, vala/valatypereference.vala: support
1613           storing type arguments in MemberAccess
1614         * vala/valacodenode.vala: add parent_node property
1615         * vala/parser.y, vala/valaifstatement.vala: only allow blocks as
1616           embedded statements
1617         * vala/valaenum.vala: implement get_type_id method
1618         * vala/valainterfacewriter.vala: output default expressions of formal
1619           parameters
1620         * vala/valaformalparameter.vala: visit default expression
1621         * vala/valaobjectcreationexpression.vala, vala/valanullliteral.vala,
1622           vala/valaproperty.vala, vala/valapropertyaccessor.vala: add interface
1623           documentation, use implicit namespace specification
1624         * vala/vala.h: add valaelementaccess.h and valarealliteral.h
1625         * ccode/valaccodememberaccess.vala: don't mark is_pointer as construct
1626         * vapi/glib-2.0.vala: add GValue
1627         * vapi/gtk+-2.0.vala: small updates
1629 2006-07-31  Jürg Billeter  <j@bitron.ch>
1631         * vala/parser.y: support prefix increment and decrement, fix parsing
1632           opening parens
1633         * vala/valasemanticanalyzer.vala: fix some bugs in error handling,
1634           support prefix increment and decrement
1635         * vala/valacodegenerator.vala: support prefix increment and decrement
1636         * vala/valanamespace.vala: add interface documentation, use implicit
1637           namespace specification
1638         * vala/valaunaryexpression.vala: support prefix increment and decrement
1639         * ccode/valaccodeunaryexpression.vala: support prefix increment and
1640           decrement
1641         * vapi/glib-2.0.vala: add Environment struct
1643 2006-07-27  Jürg Billeter  <j@bitron.ch>
1645         * vala/scanner.l: support CASE, DEFAULT, DO, and SWITCH
1646         * vala/parser.y: support switch and do statements
1647         * vala/valacodevisitor.vala: add support for switch and do statements
1648         * vala/valadostatement.vala
1649         * vala/valaswitchlabel.vala
1650         * vala/valaswitchsection.vala
1651         * vala/valaswitchstatement.vala
1652         * vala/valastatement.vala, vala/valasymbol.vala,
1653           vala/valaunaryexpression.vala, vala/valavariabledeclarator.vala,
1654           vala/valawhilestatement.vala: add interface documentation, use
1655           implicit namespace specification
1656         * vala/vala.h, vala/Makefile.am: update
1657         * vapi/glib-2.0.vala: don't use default keyword
1659 2006-07-27  Jürg Billeter  <j@bitron.ch>
1661         * vala/parser.y: support for loops with local variable declaration in
1662           initializer
1664 2006-07-27  Jürg Billeter  <j@bitron.ch>
1666         * vala/parser.y: don't require developer to explicitly write static in
1667           namespace field declarations, support type parameters in interfaces
1668           and callbacks
1669         * vala/valasymbolresolver.vala: support interfaces and callbacks
1670         * vala/valasemanticanalyzer.vala: use is_subtype_of method, support
1671           callbacks in fields
1672         * vala/valamemorymanager.vala: support callbacks in fields
1673         * vala/valacodegenerator.vala: support callbacks in fields
1674         * vala/valacallback.vala: support type parameters
1675         * vala/valaclass.vala: add is_subtype_of method
1676         * vala/valadatatype.vala: add is_subtype_of method
1677         * vala/valainterface.vala: add is_subtype_of method
1679 2006-07-26  Jürg Billeter  <j@bitron.ch>
1681         * vala/scanner.l: support casting arrays
1682         * vala/parser.y: don't require developer to explicitly write static in
1683           namespace method declarations
1684         * vala/valaarray.vala: correct cname for arrays with value-type elements
1685         * vala/valacodenode.vala: save source line reference in ccodenode
1686         * ccode/valaccodelinedirective.vala
1687         * ccode/valaccodenode.vala: support source line reference
1688         * ccode/Makefile.am: update
1689         * vapi/glib-2.0.vala: add to_string methods to integer types, add size
1690           method to string, add u_sleep method to Thread, fix memory management
1691           in List and SList, add sort method to List
1693 2006-07-19  Jürg Billeter  <j@bitron.ch>
1695         * vala/valatypereference.vala: use more expressive property names, add
1696           stricter () method
1697         * vala/parser.y, vala/valasymbolbuilder.vala,
1698           vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala,
1699           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
1700           vala/valainterfacewriter.vala, vala/valasourcefile.vala,
1701           vala/valacallback.vala, vala/valaclassregisterfunction.vala,
1702           vala/valasignal.vala: adapt to changes in TypeReference
1703         * vala/valasourcefile.vala: replace public fields by properties /
1704           private fields
1705         * vala/valacodecontext.vala: adapt to changes in SourceFile
1706         * vala/valaparser.vala: correct handling of source files without header
1707           comments
1708         * vala/valasymbolbuilder.vala: don't generate code for VAPI files
1709         * vala/valasemanticanalyzer.vala: report error respectively warning if
1710           method return type misses ownership transfer
1711         * vala/valainterfacewriter.vala: correct property declaration output
1712         * vala/valaparser.vala, vala/valasourcefile.vala, vala/valaliteral.vala,
1713           vala/valamemberaccessibility.vala, vala/valanamedargument.vala,
1714           vala/valanamespacereference.vala, vala/valatypereference.vala: add
1715           interface documentation, use implicit namespace specification
1717 2006-07-18  Jürg Billeter  <j@bitron.ch>
1719         * vala/valasymbolresolver.vala: make sure that current_scope isn't null
1720         * vala/valamemorymanager.vala: start to support memory management with
1721           generics
1722         * vala/valacodegenerator.vala: support iteration over SList, properties
1723           without accessor methods
1724         * vapi/glib-2.0.vala: add string.hash (), Error fields and SList
1725         * vapi/gtk+-2.0.vala: add StatusIcon class
1726         * README: mention exceptions
1728 2006-07-16  Jürg Billeter  <j@bitron.ch>
1730         * configure.ac: Post-release version bump.
1731         * vala/parser.y: remove g_object_unref call to fix crash in parsing
1732           array declarations
1733         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
1734           creating structs
1735         * vapi/glib-2.0.vala: GString enhancements
1736         * vapi/Makefile.am: dist gtk+-2.0.vala and pango.vala
1738 2006-07-15  Jürg Billeter  <j@bitron.ch>
1740         * NEWS: update for 0.0.1 release
1741         * README: add introduction
1742         * COPYING: replace by LGPL
1743         * compiler/valacompiler.vala: add /usr/local/share/vala/vapi ad default
1744           vapi search dir
1745         * vapi/glib-2.0.vala: File and HashTable enhancements
1747 2006-07-14  Raffaele Sandrini  <rasa@gmx.ch>
1749         * vala/valacodegenerator.vala, vala/valasymbolresolver.vala,
1750           vala/scanner.l, vala/valatypereference.vala,
1751           vala/valasemanticanalyzer.vala, vala/valaelementaccess.vala,
1752           vala/valadatatype.vala, vala/parser.y, vala/valaarray.vala,
1753           vala/valacodevisitor.vala, ccode/valaccodeelementaccess.vala: add
1754           element access support
1755         * vala/valasemanticanalyzer.vala: add visit_postfix_expression
1756           implementation
1757         * tests/test-019.vala: add element access testcase
1758         * vala/Makefile.am, tests/Makefile.am, ccode/Makefile.am: update
1760 2006-07-14  Jürg Billeter  <j@bitron.ch>
1762         * vala/valacodecontext.vala: ignore file-internal dependencies
1763         * vala/valasemanticanalyzer.vala: mark string literals as non-null, add
1764           some implicit casts
1765         * vala/valamemorymanager.vala: only check for leaks with reference
1766           types, manage memory in field initializers
1767         * vala/valacodegenerator.vala: add non-null parameter typechecks for
1768           structs, simplify ref expression if expression is known to be non-null
1769         * vapi/glib-2.0.vala: unichar, string, String, and Path enhancements,
1770           add Base64 and Dir
1772 2006-07-10  Jürg Billeter  <j@bitron.ch>
1774         * vala/parser.y: adapt to changes in InvocationExpression,
1775           LocalVariableDeclaration, and InitializerList
1776         * vala/valasemanticanalyzer.vala: add some implicit casts, fix assigning
1777           callback to field, adapt to changes in InvocationExpression
1778         * vala/valamemorymanager.vala: adapt to change in InvocationExpression
1779         * vala/valacodegenerator.vala: fix signal handler without parameters,
1780           fix access to value-type struct members, adapt to changes in
1781           LocalVariableDeclaration, InitializerList, and InvocationExprssion
1782         * vala/valaclass.vala: don't let private static fields influence
1783           has_private_fields, correct marshaller type name
1784         * vala/valaifstatement.vala, vala/valainitializerlist.vala,
1785           vala/valainstancecast.vala, vala/valaintegerliteral.vala,
1786           vala/valainvocationexpression.vala, vala/valaliteralexpression.vala,
1787           vala/valalocalvariabledeclaration.vala: add interface documentation,
1788           use implicit namespace specification
1789         * compiler/valacompiler.vala: fix --vapidir handling
1790         * vapi/glib-2.0.vala: add MainLoop, MainContext, IdleSource, Source, and
1791           Thread
1793 2006-07-08  Jürg Billeter  <j@bitron.ch>
1795         * vala/valasemanticanalyzer.vala: don't allow write access to read-only
1796           properties
1797         * vala/valacodegenerator.vala: adapt to changes in CCodeFragment and
1798           CCommaExpression
1799         * vala/valapostfixexpression.vala, ccode/valaccodebinaryexpression.vala,
1800           ccode/valaccodeblock.vala, ccode/valaccodebreakstatement.vala,
1801           ccode/valaccodecasestatement.vala,
1802           ccode/valaccodecommaexpressoin.vala, ccode/valaccodecomment.vala,
1803           ccode/valaccodeconditionalexpression.vala,
1804           ccode/valaccodeconstant.vala, ccode/valaccodecontinuestatement.vala,
1805           ccode/valaccodedeclaration.vala, ccode/valaccodedeclarator.vala,
1806           ccode/valaccodeenum.vala, ccode/valaccodeemptystatement.vala,
1807           ccode/valaccodeexpressionstatement.vala,
1808           ccode/valaccodeformalparameter.vala, ccode/valaccodeforstatement.vala,
1809           ccode/valaccodefragment.vala, ccode/valaccodefunction.vala,
1810           ccode/valaccodefunctioncall.vala,
1811           ccode/valaccodefunctiondeclarator.vala,
1812           ccode/valaccodeidentifier.vala, ccode/valaccodeifstatement.vala,
1813           ccode/valaccodeincludedirective.vala,
1814           ccode/valaccodeinitializerlist.vala,
1815           ccode/valaccodemacroreplacement.vala,
1816           ccode/valaccodememberaccess.vala, ccode/valaccodemodifiers.vala,
1817           ccode/valaccodenewline.vala, ccode/valaccodeoncesection.vala,
1818           ccode/valaccodeparenthesizedexpression.vala,
1819           ccode/valaccodereturnstatement.vala, ccode/valaccodestatement.vala,
1820           ccode/valaccodestruct.vala, ccode/valaccodeswitchstatement.vala,
1821           ccode/valaccodeunaryexpression.vala,
1822           ccode/valaccodevariabledeclarator.vala,
1823           ccode/valaccodewhilestatement.vala, ccode/valaccodewriter.vala: add
1824           interface documentation, use implicit namespace specification
1826 2006-07-08  Jürg Billeter  <j@bitron.ch>
1828         * vala/valasemanticanalyzer.vala: don't allow access to private members
1830 2006-07-08  Jürg Billeter  <j@bitron.ch>
1832         * vala/valasemanticanalyzer.vala: check method signatures of overriding
1833           methods
1834         * vala/parser.y, vala/valaclassregisterfunction.vala,
1835           vala/valatyperegisterfunction.vala: support abstract classes
1836         * vala/valamethod.vala: add equals method
1837         * vala/valatypereference.vala: add equals method
1838         * corrects overriding methods to match signatures of overridden methods
1839           to fix build with current compiler
1841 2006-07-08  Jürg Billeter  <j@bitron.ch>
1843         * vala/parser.y, vala/valacodegenerator.vala: adapt to ForStatement API
1844           changes
1845         * vala/valaclass.vala: make {get,set}_lower_case_csuffix methods private
1846         * vala/valaenum.vala, vala/valaenumvalue.vala,
1847           vala/valaexpressionstatement.vala, vala/valafield.vala,
1848           vala/valaflags.vala, vala/valaflagsvalue.vala,
1849           vala/valaforeachstatement.vala, vala/valaforstatement.vala: add
1850           interface documentation, use implicit namespace specification
1852 2006-07-08  Jürg Billeter  <j@bitron.ch>
1854         * vala/parser.y: adapt to Method API changes
1855         * vala/valasemanticanalyzer.vala: support signals, mark private signal
1856           handlers as instance_last
1857         * vala/valamemorymanager.vala: support signals
1858         * vala/valacodegenerator.vala: support signals, methods with
1859           instance_last
1860         * vala/valaclass.vala: add get_type_id and get_marshaller_type_name
1861           methods
1862         * vala/valadatatype.vala: add get_marshaller_type_name method
1863         * vala/valastruct.vala: move type_id attribute to CCode, support
1864           marshaller_type_name attribute
1865         * vala/valainterfacewriter.vala, vala/valamethod.vala,
1866           vala/valastruct.vala, ccode/valaccodeexpression.vala,
1867           ccode/valaccodenode.vala: add interface documentation, use implicit
1868           namespace specification
1869         * vala/valacallback.vala, vala/valasignal.vala: improve documentation
1870         * ccode/valaccodecastexpression.vala: type cast in C code
1871         * ccode/Makefile.am: update
1872         * tests/test-018.vala: test signals
1873         * tests/Makefile.am: update
1874         * vapi/glib-2.0.vala: add type_id and marshaller_type_name attributes
1876 2006-07-07  Jürg Billeter  <j@bitron.ch>
1878         * vala/valacodegenerator.vala, vala/valaclassregisterfunction.vala:
1879           support interfaces
1880         * vala/parser.y, vala/valasemanticanalyzer.vala,
1881           vala/valalambdaexpression.vala: support lambda expressions with
1882           statement body
1883         * vala/valaclassregisterfunction.vala, vala/valaemptystatement.vala,
1884           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
1885           vala/valatyperegisterfunction.vala: add interface documentation, use
1886           implicit namespace specification
1887         * tests/test-015.vala: test lambda expressions with statement body
1888         * tests/test-017.vala: test interfaces
1889         * tests/Makefile.am: update
1891 2006-07-07  Jürg Billeter  <j@bitron.ch>
1893         * vala/valaconstructor.vala, vala/valacontinuestatement.vala,
1894           vala/valadeclarationstatement.vala, vala/valadestructor.vala: add
1895           interface documentation, use implicit namespace specification
1897 2006-07-07  Jürg Billeter  <j@bitron.ch>
1899         * vala/valacodecontext.vala: use continue statements to decrease
1900           indentation levels
1901         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
1902           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1903           vala/valacodegenerator.vala, vala/valaconditionalexpression.vala,
1904           vala/valaconstant.vala: add interface documentation, use implicit
1905           namespace specification
1906         * vala/valasemanticanalyzer.vala: check that if, while, for, and
1907           conditional expression conditions are boolean
1908         * vala/valaclass.vala: remove dummy accessor, breaks build with old
1909           vala compiler
1910         * compiler/valacompiler.vala: use implicit namespace specification
1911         * tests/test-016.vala: test conditional expressions
1912         * tests/Makefile.am: update
1914 2006-07-07  Jürg Billeter  <j@bitron.ch>
1916         * vala/valacodecontext.vala: add interface documentation, use implicit
1917           namespace specification
1918         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
1919           vala/valasemanticanalyzer.vala: adapt to change in CodeContext
1921 2006-07-06  Jürg Billeter  <j@bitron.ch>
1923         * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
1924           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1925           vala/valacodegenerator.vala, vala/valatypereference.vala, vala/vala.h,
1926           vala/Makefile.am: merge SimpleName into MemberAccess
1927         * vala/valasymbolresolver.vala, vala/valainterfacewriter.vala: adapt to
1928           change in Class
1929         * vala/valasemanticanalyzer.vala: support non-static lambda expressions
1930           and lambda expressions without return values
1931         * vala/valacodegenerator.vala: support conditional expressions, support
1932           lambda expressions as signal handlers, support read-only and
1933           write-only properties
1934         * vala/valacodevisitor.vala, vala/valamemorymanager.vala,
1935           vala/valaassignment.vala: visit at beginning and end
1936         * vala/valacallback.vala: add instance property
1937         * vala/valasignal.vala: add get_callback method
1938         * vala/valacastexpression.vala, vala/valacharacterliteral.vala,
1939           vala/valaclass.vala, vala/valamemberaccess.vala, vala/valasignal.vala:
1940           add interface documentation, use implicit namespace specification
1942 2006-07-05  Jürg Billeter  <j@bitron.ch>
1944         * vala/parser.y: don't pass parameter list to lambda expression
1945           contructor
1946         * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1947           vala/valacodegenerator.vala: support static lambda expressions and
1948           nested methods
1949         * vala/valainvocationexpression.vala: visit call node before visiting
1950           begin of invocation expression
1951         * vala/valaformalparameter.vala, vala/valalambdaexpression.vala: add
1952           interface documentation, use implicit namespace specification
1953         * vala/valamethod.vala: allow nested methods
1954         * tests/test-015.vala: test lambda expressions
1955         * tests/Makefile.am: update
1957 2006-07-04  Jürg Billeter  <j@bitron.ch>
1959         * vala/parser.y: support implicit namespace specification in callback
1960           declaration
1961         * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
1962           vala/valacodegenerator.vala: support callbacks
1963         * vala/valaassignment.vala, vala/valabinaryexpression.vala: improve
1964           documentation
1965         * vala/valabooleanliteral.vala, vala/valabreakstatement.vala,
1966           vala/valacallback.vala: add interface documentation, use implicit
1967           namespace specification
1968         * vala/valacallback.vala: add matches_method method, mark as
1969           non-reference type
1970         * ccode/valaccodetypedefinition.vala: replace typedef_name by
1971           declarator, add interface documentation, use implicit namespace
1972           specification
1973         * tests/test-013.vala: test break
1974         * tests/test-014.vala: test callback
1975         * tests/Makefile.am: update
1977 2006-07-04  Jürg Billeter  <j@bitron.ch>
1979         * vala/valablock.vala: add interface documentation, use implicit
1980           namespace specification
1981         * tests/test-011.vala: test binary expressions
1982         * tests/test-012.vala: test blocks
1983         * configure.ac, Makefile.am, tests/Makefile.am: distribute tests
1985 2006-07-04  Jürg Billeter  <j@bitron.ch>
1987         * vala/valacodevisitor.vala, vala/valaattributeprocessor.vala,
1988           vala/valabinaryexpression.vala: add interface documentation, use
1989           implicit namespace specification
1990         * vala/valaassignment.vala, vala/valaattribute.vala: documentation
1991           corrections
1993 2006-07-04  Jürg Billeter  <j@bitron.ch>
1995         * vala/valacodegenerator.vala: generate assignment with appropriate
1996           operator
1997         * vala/valaassignment.vala: use implicit namespace specification
1998         * ccode/valaccodeassignment.vala: support assignment operators , add
1999           interface documentation, use implicit namespace specification
2000         * tests/test-010.vala: test assignments
2002 2006-07-03  Jürg Billeter  <j@bitron.ch>
2004         * vala/parser.y: support implicit namespace specification in struct,
2005           interface, enum, and flags declaration
2006         * vala/valasymbolbuilder.vala: report error when declaring non-static
2007           namespace methods
2008         * vala/valasemanticanalyzer.vala: analyze return statements
2009         * vala/valacodegenerator.vala: correctly set GParamFlags for properties,
2010           initialize static variables, add preconditions to property accessors,
2011           support namespace methods
2012         * vala/valaassignment.vala, vala/valaattribute.vala: add interface
2013           documentation, use implicit namespace specification
2014         * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
2015           tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
2016           tests/test-007.vala, tests/test-008.vala, tests/test-009.vala:
2017           update test cases to print test values
2019 2006-06-30  Jürg Billeter  <j@bitron.ch>
2021         * vala/valacodenode.vala, vala/valadatatype.vala,
2022           vala/valaexpression.vala: use implicit namespace specification,
2023           reformat code
2025 2006-06-30  Jürg Billeter  <j@bitron.ch>
2027         * vala/parser.y: support implicit namespace specification in class
2028           declaration
2030 2006-06-29  Jürg Billeter  <j@bitron.ch>
2032         * vala/valacodegenerator.vala, vala/valaclass.vala,
2033           vala/valadatatype.vala, vala/valastruct.vala: distinguish between
2034           ref_function/unref_function and dup_function/free_function
2035         * vala/valadatatype.vala: add interface documentation
2036         * vapi/glib-2.0.vala: use dup_function attribute, keep ref_function for
2037           compatibility
2039 2006-06-29  Jürg Billeter  <j@bitron.ch>
2041         * vala/valacodenode.vala, vala/valaexpression.vala: add interface
2042           documentation
2044 2006-06-28  Jürg Billeter  <j@bitron.ch>
2046         * vala/valasymbolbuilder.vala: add private add_symbol helper method
2047         * vala/valasymbolresolver.vala: tiny refactoring of GObject lookup
2048         * vala/valasemanticanalyzer.vala: use get_parameters method of Callback
2049         * vala/valacallback.vala, vala/valaintegerliteral.vala,
2050           vala/valarealliteral.vala, vala/valastringliteral.vala: replace public
2051           fields by properties / private fields, don't mark properties as
2052           construct-only, use non-null types
2053         * vala/valaattribute.vala, vala/valacodenode.vala,
2054           vala/valaconstructor.vala, vala/valadatatype.vala,
2055           vala/valadestructor.vala, vala/valaenumvalue.vala,
2056           vala/valaexpression.vala, vala/valafield.vala,
2057           vala/valaflagsvalue.vala, vala/valaformalparameter.vala,
2058           vala/valaliteral.vala, vala/valalocalvariabledeclaration.vala,
2059           vala/valamethod.vala, vala/valanamedargument.vala,
2060           vala/valanamespace.vala, vala/valanamespacereference.vala,
2061           vala/valaproperty.vala, vala/valapropertyaccessor.vala,
2062           vala/valasignal.vala, vala/valastatement.vala,
2063           vala/valatypeparameter.vala, vala/valatypereference.vala,
2064           vala/valavariabledeclarator.vala: move source_reference to CodeNode
2066 2006-06-28  Jürg Billeter  <j@bitron.ch>
2068         * vala/valabooleanliteral.vala, vala/valacharacterliteral.vala,
2069           vala/valaintegerliteral.vala, vala/valaliteral.vala,
2070           vala/valanullliteral.vala, vala/valarealliteral.vala,
2071           vala/valastringliteral.vala: move source_reference to Vala.Literal,
2072           use non-null types, don't mark properties as construct-only
2074 2006-06-26  Jürg Billeter  <j@bitron.ch>
2076         * vala/parser.y: plug some memory leaks, adapt to Vala.Block changes
2077         * vala/valaattribute.vala, vala/valabinaryexpression.vala,
2078           vala/valablock.vala, vala/valabooleanexpression.vala,
2079           vala/valabreakstatement.vala, vala/valaliteral.vala,
2080           vala/valastatement.vala: replace public fields by properties / private
2081           fields, don't mark properties as construct-only, use non-null types
2082         * vala/valadatatype.vala: renamed from Vala.Type_ to Vala.DataType
2083         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
2084           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
2085           vala/valasourcefile.vala, vala/valacallback.vala, vala/valaclass.vala,
2086           vala/valaclassregisterfunction.vala, vala/valaconstant.vala,
2087           vala/valaenum.vala, vala/valaflags.vala, vala/valainstancecast.vala,
2088           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
2089           vala/valamethod.vala, vala/valastruct.vala,
2090           vala/valatypeparameter.vala, vala/valatypereference.vala,
2091           vala/valatypergisterfunction.vala: adapt to renaming of Vala.Type_ to
2092           Vala.DataType
2093         * vala/Makefile.am: update
2095 2006-06-22  Jürg Billeter  <j@bitron.ch>
2097         * vala/valaassignment.vala: don't mark properties as construct-only,
2098           use non-null types
2099         * vala/valacodenode.vala: use non-null type
2100         * vala/valaexpression.vala: replace public fields by properties
2102 2006-06-22  Jürg Billeter  <j@bitron.ch>
2104         * vala/parser.y: replace specialized interface member declarations by
2105           standard member declarations to allow non-abstract methods in
2106           interfaces
2107         * vala/valacodegenerator.vala: cast instance in property setter
2108           invocations
2110 2006-06-22  Jürg Billeter  <j@bitron.ch>
2112         * vala/scanner.l: support LAMBDA and CALLBACK
2113         * vala/parser.y: support callbacks and lambda expressions
2114         * vala/valacodevisitor.vala: add visit methods for callbacks and lambda
2115           expressions
2116         * vala/valasymbolbuilder.vala: use non-null parameter types, support
2117           callbacks
2118         * vala/valasemanticanalyzer.vala: partially support interface methods,
2119           support callback invocations
2120         * vala/valamemorymanager.vala: support callback invocations
2121         * vala/valacodegenerator.vala: partially support interface methods
2122         * vala/valacallback.vala: initial implementation
2123         * vala/valacodenode.vala: replace public fields by properties
2124         * vala/valaexpression.vala: add expected_type field
2125         * vala/valainvocationexpression.vala: also visit at beginning
2126         * vala/valalambdaexpression.vala
2127         * vala/valanamespace.vala: support callbacks
2128         * vala/vala.h: update
2129         * vala/Makefile.am: update
2131 2006-06-18  Jürg Billeter  <j@bitron.ch>
2133         * vala/scanner.l: support TYPEOF
2134         * vala/parser.y: support typeof expressions, out ref parameters, and
2135           enum attributes
2136         * vala/valacodevisitor.vala: add visit method for typeof expressions
2137         * vala/valaattributeprocessor.vala: use non-null parameter types,
2138           support enums and properties
2139         * vala/valasemanticanalyzer.vala: support floating references
2140         * vala/valamemorymanager.vala: ignore signal connections
2141         * vala/valacodegenerator.vala: reset temp variable id at beginning of
2142           each file, fix out parameters, support properties without accessor
2143           methods, support floating references, add typeof expression, support
2144           static signal handlers
2145         * vala/valaclass.vala: use default arguments
2146         * vala/valaenum.vala: support cname, cprefix, and cheader_filename
2147           attributes
2148         * vala/valaenumvalue.vala: use Enum.get_cprefix ()
2149         * vala/valamethod.vala: support FloatingReference attribute
2150         * vala/valanamespace.vala: use default arguments
2151         * vala/valaproperty.vala: support NoAccessorMethod attribute
2152         * vala/valastruct.vala: support type_id
2153         * vala/valatype.vala: add abstract get_type_id method
2154         * vala/valatypeofexpression.vala
2155         * vala/valatypereference.vala: add floating_reference property, correct
2156           to_string method signature
2157         * vala/vala.h: update
2158         * vala/Makefile.am: update
2159         * vapi/glib-2.0.vala: add GInitiallyUnowned
2160         * vapi/gtk+-2.0.vala: start of a GTK+ binding
2161         * vapi/pango.vala: start of a Pango binding
2163 2006-06-17  Jürg Billeter  <j@bitron.ch>
2165         * vala/scanner.l: don't leak comment texts, support generic types with
2166           weak arguments
2167         * vala/parser.y: plug most memory leaks
2168         * vala/valacodecontext.vala: work around memory management issues
2169         * vala/valasourcefile.vala: break reference cycles
2170         * vala/valasourcefilecycle.vala: break reference cycles
2171         * vala/valasymbolbuilder.vala: store `this` and `value` parameters in
2172           appropriate member node
2173         * vala/valasymbolresolver.vala: break reference cycle
2174         * vala/valasemanticanalyzer.vala: break reference cycle, promote local
2175           variables with ownership transferring initializer, store foreach
2176           variable declarator in statement object, assignments to properties
2177           don't take value ownership, make null type checks behave well on
2178           either side of a comparison
2179         * vala/valamemorymanager.vala: add support for named arguments,
2180           properties, and ellipsis parameter
2181         * vala/valacodegenerator.vala: add dispose function, register properties
2182           with static strings, don't leak strings when setting properties,
2183           support freeing string arrays, support freeing lists with allocated
2184           items, free local variables before return statements, free old value
2185           on assignments
2186         * vala/valainterfacewriter.vala: output more type reference information
2187         * vala/valaforeachstatement.vala: reference variable_declarator
2188         * vala/valaforstatement.vala: correct generic type arguments
2189         * vala/valamethod.vala: break reference cycle
2190         * vala/valaproperty.vala: reference this_parameter, add
2191           get_canoncial_cconstant method
2192         * vala/valapropertyaccessor.vala: reference value_parameter
2193         * vala/valasimplename.vala: remove unneeded type_argument_list
2194           parameter from constructor
2195         * vala/valasourcereference.vala: let to_string transfer ownership
2196         * vala/valastruct.vala: correct generic type argument
2197         * vala/valasymbol.vala: improve memory management
2198         * vala/valatype.vala: break reference cycles, let get_lower_case_cname
2199           transfer ownership
2200         * vala/valatypereference.vala: break reference cycle, use
2201           type_argument_list
2202         * vala/vala.h: add valaflags.h
2203         * ccode/valaccodefunction.vala: work around missing list deep copy
2204         * ccode/valaccodewriter.vala: don't manually free objects
2205         * compiler/valacompiler.vala: enable memory management by default,
2206           valac doesn't work anymore without memory management
2207         * vapi/glib-2.0.vala: add memory management information
2209 2006-06-15  Jürg Billeter  <j@bitron.ch>
2211         * vala/valasemanticanalyzer.vala: add local variables to block
2212         * vala/valamemorymanager.vala: analyze local variable initializers
2213         * vala/valacodegenerator.vala: free local variables at end of block,
2214           only free non-null variables, use some strong references due to memory
2215           manager deficiencies
2216         * vala/valablock.vala: use non-null parameter types, add local variable
2217           declarators
2218         * vala/valaenum.vala: let get_upper_case_cname transfer ownership
2219         * vala/valastruct.vala: add free_function attribute
2220         * ccode/valaccodewriter.vala: set freed values to null
2221         * vapi/glib-2.0.vala: add free functions
2223 2006-06-15  Raffaele Sandrini <rasa@gmx.ch>
2225         * vapi/libxml-2.0.vala: add basic libxml2 reader support
2226         * vapi/Makefile.am: add libxml-2.0.vala
2228 2006-06-14  Jürg Billeter  <j@bitron.ch>
2230         * vala/parser.y: set is_lvalue_ref in property declarations
2231         * vala/valacodecontext.vala: use non-null parameter types
2232         * vala/valasymbolresolver.vala: fix lookup in namespaces of using
2233           directives, reset is_lvalue_ref where appropriate
2234         * vala/valasemanticanalyzer.vala: use non-null parameter types,
2235           correctly set is_ref and is_lvalue_ref in variable declarators
2236         * vala/valamemorymanager.vala: support methods which transfer ownership
2237           of arguments and or return value, analyze assignments
2238         * vala/valacodegenerator.vala: add missing reference increment calls,
2239           small memory management improvements
2240         * vala/valaclass.vala: use non-null parameter types
2241         * vala/valaexpression.vala: add ref_missing
2242         * vala/valastruct.vala: support ref_function attribute, use non-null
2243           parameter types
2244         * vala/valatype.vala: let get_upper_case_cname return ref string
2245         * vala/valatypereference.vala: add copy method
2246         * ccode/valaccodeconditionalexpression.vala
2247         * ccode/valaccodefunctioncall.vala: use non-null parameter types
2248         * ccode/Makefile.am: update
2249         * compiler/valacompiler.vala: process attributes before resolving
2250           symbols to have reference_type information available in resolver
2251         * vapi/glib-2.0.vala: add ref_function attributes to string and List,
2252           use ref parameters in List and HashTable until the compiler can handle
2253           it correctly
2255 2006-06-14  Jürg Billeter  <j@bitron.ch>
2257         * vala/parser.y: set is_lvalue_ref for variables and fields
2258         * vala/valasemanticanalyzer.vala: variables and fields never transfer
2259           ownership as rvalue
2260         * vala/valamemorymanager.vala: use non-null parameter types, analyze
2261           return statements
2262         * vala/valacodegenerator.vala: use non-null parameter types, support
2263           memory management for temporary variables in variable initializers,
2264           initialize all uninitialized references to null
2265         * vala/valareturnstatement.vala: visit end of full expression
2266         * vala/valatypereference.vala: add is_lvalue_ref property
2267         * vala/valavariabledeclarator.vala: visit end of full expression
2269 2006-06-14  Jürg Billeter  <j@bitron.ch>
2271         * vala/valacodevisitor.vala: use non-null parameter types, add visit
2272           method for full expressions
2273         * vala/valasymbolresolver.vala: add some missing casts
2274         * vala/valasemanticanalyzer.vala: support memory management for
2275           temporary variables
2276         * vala/valamemorymanager.vala: visitor to detect leaked references
2277         * vala/valacodegenerator.vala: add automatic memory management for
2278           temporary variables, add some missing casts
2279         * vala/valaassignment.vala: move source_reference to Expression
2280         * vala/valabinaryexpression.vala: move source_reference to Expression
2281         * vala/valacastexpression.vala: move source_reference to Expression
2282         * vala/valaconditionalexpression.vala: move source_reference to
2283           Expression
2284         * vala/valaclass.vala: implement memory management methods
2285         * vala/valaexpression.vala: add source_reference, ref_leaked, and
2286           temp_vars
2287         * vala/valaforstatement.vala: visit end of full expression
2288         * vala/valaifstatement.vala: visit end of full expression
2289         * vala/valainitializerlist.vala: move source_reference to Expression
2290         * vala/valainvocationexpression.vala: move source_reference to
2291           Expression
2292         * vala/valaliteralexpression.vala: move source_reference to Expression
2293         * vala/valamemberaccess.vala: move source_reference to Expression
2294         * vala/valaobjectcreationexpression.vala: move source_reference to
2295           Expression
2296         * vala/valaparenthesizedexpression.vala: move source_reference to
2297           Expression
2298         * vala/valapostfixexpression.vala: move source_reference to Expression
2299         * vala/valasimplename.vala: move source_reference to Expression
2300         * vala/valastruct.vala: implement memory management methods
2301         * vala/valatype.vala: add abstract is_reference_counting,
2302           get_ref_function, and get_free_function methods
2303         * vala/valatypecheck.vala: move source_reference to Expression
2304         * vala/valaunaryexpression.vala: move source_reference to Expression
2305         * vala/valawhilestatement.vala: visit end of full expression
2306         * vala/Makefile.am: update
2307         * ccode/valaccodecommaexpression.vala
2308         * ccode/Makefile.am: update
2309         * compiler/valacompiler.vala: add enable-memory-management option
2310         * vapi/glib-2.0.vala: minor GType enhancements
2312 2006-06-07  Jürg Billeter  <j@bitron.ch>
2314         * vala/valacodegenerator.vala: fix cname of constants, casts of self
2316 2006-06-07  Jürg Billeter  <j@bitron.ch>
2318         * vala/valasemanticanalyzer.vala: add missing source dependencies
2319         * vala/valacodegenerator.vala: check parameter types at runtime
2321 2006-06-07  Jürg Billeter  <j@bitron.ch>
2323         * vala/scanner.l: support REAL_LITERAL, TILDE, SIGNAL
2324         * vala/parser.y: support flags, signals, constructors, destructors, real
2325           literals, assignment operators, and non-null types
2326         * vala/valacodevisitor.vala: add visit methods for signals,
2327           constructors, destructors, and real literals
2328         * vala/valasymbolbuilder.vala: support signals, constructors,
2329           destructors
2330         * vala/valasemanticanalyzer.vala: support constructors, real literals,
2331           and default arguments, fix lookup in namespaces of using directives
2332         * vala/valacodegenerator.vala: use default arguments and type register
2333           function classes, support constructors, interfaces, real literals,
2334           default arguments, casts, and signals, cast method arguments if
2335           necessary
2336         * vala/valasourcefile.vala: use default arguments
2337         * vala/valaassignment.vala: add operator
2338         * vala/valacallback.vala: skeleton for callbacks
2339         * vala/valaclass.vala: add signals, constructor, and destructor
2340         * vala/valaclassregisterfunction.vala: get_type function for classes
2341         * vala/valaconstant.vala: use default arguments
2342         * vala/valaconstructor.vala
2343         * vala/valadestructor.vala
2344         * vala/valaenum.vala: use default arguments
2345         * vala/valaflags.vala
2346         * vala/valaflagsvalue.vala: 
2347         * vala/valaformalparameter.vala: add default_expression
2348         * vala/valainstancecast.vala: dynamic instance cast
2349         * vala/valainterface.vala: add signals
2350         * vala/valainterfaceregisterfunction.vala: get_type function for
2351           interfaces
2352         * vala/valanamespace.vala: add flags, use default arguments
2353         * vala/valaproperty.vala: use default arguments
2354         * vala/valarealliteral.vala: 
2355         * vala/valasignal.vala
2356         * vala/valastruct.vala: use default arguments
2357         * vala/valastringliteral.vala: use default arguments
2358         * vala/valatypereference.vala: add is_weak property
2359         * vala/valatyperegisterfunction.vala
2360         * vala/vala.h: update
2361         * vala/Makefile.am: update
2362         * ccode/valaccodeblock.vala: add prepend_statement method
2363         * ccode/valaccodewriter.vala: correctly indent multi-line comments
2364         * vapi/glib-2.0.vala: add float and double, use default arguments,
2365           temporarily remove astring
2367 2006-05-31  Jürg Billeter  <j@bitron.ch>
2369         * vala/parser.y: support interfaces, adapt to Class/Struct/Type changes,
2370           improve error handling
2371         * vala/valacodevisitor.vala: support interfaces
2372         * vala/valasymbolbuilder.vala: improve error handling
2373         * vala/valasymbolresolver.vala: use operators to compare strings
2374         * vala/valasemanticanalyzer.vala: improve error handling, convert method
2375           argument and type mismatch warnings to errors, add skeleton for
2376           expressoin type checks, support string comparison operators
2377         * vala/valacodegenerator.vala: fix warning, create structs for
2378           interfaces, adapt to Class/Struct/Type changes, refactor and fix code
2379           in visit_simple_name and visit_member_access, use operators to compare
2380           strings
2381         * vala/valainterfacewriter.vala: use operators to compare strings
2382         * vala/valasourcefile.vala: fix warnings
2383         * vala/valaclass.vala: don't inherit from Struct
2384         * vala/valacodenode.vala: add error flag
2385         * vala/valaconstant.vala: add get_cname method
2386         * vala/valaenum.vala: override get_upper_case_cname method
2387         * vala/valaenumvalue.vala: adapt to Class/Struct/Type changes
2388         * vala/valafield.vala: use operators to compare strings
2389         * vala/valainterface.vala
2390         * vala/valainvocationexpression.vala: add add_argument method
2391         * vala/valamethod.vala: adapt to Class/Struct/Type changes, use
2392           operators to compare strings
2393         * vala/valanamespace.vala: support interfaces, use operators to compare
2394           strings
2395         * vala/valastringliteral.vala: fix warning
2396         * vala/valastruct.vala: inline visit_children method, use operators to
2397           compare strings
2398         * vala/valatype.vala: add abstract get_lower_case_cname method
2399         * vala/valatypereference.vala: add to_string method
2400         * vala/vala.h: update
2401         * vala/Makefile.am: update
2402         * vapi/glib-2.0.vala: small fixes
2404 2006-05-26  Jürg Billeter  <j@bitron.ch>
2406         * vala/valasemanticanalyzer.vala: fix member access to namespaces
2407         * vala/valacodegenerator.vala: adapt to CCodeWriter changes
2408         * ccode/valaccodewriter.vala: don't touch file if nothing has changed,
2409           required to get incremental builds working
2410         * vapi/glib-2.0.vala: extend file functions
2411         
2412         * ccode/Makefile.am,vala/Makefile.am,compiler/Makefile.am: support
2413           incremental builds
2415 2006-05-25  Jürg Billeter  <j@bitron.ch>
2417         * vala/scanner.l: support ELLIPSIS, use g_strdup instead of strdup
2418         * vala/parser.y: support variable argument lists, type access modifiers
2419         * vala/valareport.vala: class to handle error reporting
2420         * vala/valasymbolbuilder.vala: switch to new error reporting scheme
2421         * vala/valasymbolresolver.vala: switch to new error reporting scheme
2422         * vala/valasemanticanalyzer.vala: process Constant and EnumValue symbol
2423           dependencies, check method argument types, find types of unary and
2424           binary expressions, remove dummy field, switch to new error reporting
2425           scheme
2426         * vala/valacodegenerator.vala: support calling functions with variable
2427           argument lists, support break and continue statements, remove dummy fields,
2428           switch to new error reporting scheme
2429         * vala/valainterfacewriter.vala: visitor to write public vala api in one
2430           file
2431         * vala/valasourcefile.vala: support field and property symbol
2432           dependencies, remove dummy field
2433         * vala/valaclass.vala: add is_abstract field
2434         * vala/valaenumvalue.vala: remove dummy field
2435         * vala/valaformalparameter.vala: add ellipsis property
2436         * vala/valamemberaccessibility.vala: add INTERNAL
2437         * vala/valamethod.vala: make parameters public, remove dummy field
2438         * vala/valaproperty.vala: remove dummy field
2439         * vala/valasymbol.vala: add name field and get_full_name method
2440         * vala/valatype.vala: add access field
2441         * vala/valatypereference.vala: switch to new error reporting scheme
2442         * ccode/valaccodeblock.vala: improve formatting
2443         * ccode/valaccodeifstatement.vala: improve formatting
2444         * ccode/valaccodewriter.vala: improve formatting
2445         * compiler/valacompiler.vala: add error handling, support multiple vapi
2446           directories, add --library option to generate public vala api
2447         * vapi/glib-2.0.vala: moved from bindings, add static GLib.stdout field,
2448           correctly mark functions with variable argument lists, add File.test
2449           method
2451         * configure.ac,Makefile.am,ccode/Makefile.am,vala/Makefile.am,
2452           vapi/Makefile.am,compiler/Makefile.am: add build system
2453         
2454         * remove valac subdirectory: Bootstrap compiler is now obsolete.
2455         
2456 2006-05-24  Jürg Billeter  <j@bitron.ch>
2457         
2458         Compiler is now self-hosting.
2460         * vala/parser.y: support type checks, field attributes, and virtual and
2461           override method modifiers
2462         * vala/valacodevisitor.vala: support type checks
2463         * vala/valasymbolbuilder.vala: correct generated property accessors
2464         * vala/valaattributeprocessor.vala: process field attributes
2465         * vala/valasemanticanalyzer.vala: support virtual methods and type
2466           checks
2467         * vala/valacodegenerator.vala: support properties, private fields,
2468           static fields, virtual methods, field initializers, while statements,
2469           foreach statements, instance last methods, postfix expressions, type
2470           checks
2471         * vala/valaclass.vala: correct source reference, add get_properties
2472           method
2473         * vala/valafield.vala: visit initializer, support cname attribute
2474         * vala/valamethod.vala: support ReturnsModifiedPointer and InstanceLast
2475           attributes, add is_virtual, is_override, and base_method fields, add
2476           get_real_cname method
2477         * vala/valaproperty.vala: add get_upper_case_cname method
2478         * vala/valastruct.vala: add has_private_fields attribute, add
2479           get_methods method
2480         * vala/valatypecheck.vala
2481         * vala/vala.h: update
2482         * ccode/valaccodebreakstatement.vala
2483         * ccode/valaccodecasestatement.vala
2484         * ccode/valaccodecontinuestatement.vala
2485         * ccode/valaccodedeclaration.vala: renamed from
2486           CCodeDeclarationStatement, support function declarators
2487         * ccode/valaccodedeclarator.vala: abstract base class for variable and
2488           function declarators
2489         * ccode/valaccodefunctiondeclarator.vala: 
2490         * ccode/valaccodestruct.vala: support function declarations by adding
2491           add_declaration method
2492         * ccode/valaccodeswitchstatement.vala
2493         * ccode/valaccodeunaryexpression.vala: add postfix increment and
2494           decrement operators
2495         * ccode/valaccodevariabledeclarator.vala: inherit from CCodeDeclarator
2496         * ccode/valaccodewhilestatement.vala
2498 2006-05-23  Jürg Billeter  <j@bitron.ch>
2500         * vala/valacodevisitor.vala: support initializer lists
2501         * vala/valacodegenerator.vala: support constant arrays and initializer
2502           lists
2503         * vala/valaconstant.vala: visit initializer
2504         * vala/valainitializerlist.vala: add accept method
2505         * vala/valastruct.vala: visit constants later than fields due to
2506           constant initialization
2507         * vala/valatypereference.vala: add get_const_cname method
2508         * ccode/valaccodeinitializerlist.vala
2510 2006-05-22  Jürg Billeter  <j@bitron.ch>
2512         * vala/parser.y: support abstract methods and static fields
2513         * vala/valasourcefile.vala: support parameter symbol dependencies
2514         * vala/valasymbolbuilder.vala: insert default body for get accessors
2515         * vala/valasemanticanalyzer.vala: add property type dependency
2516         * vala/valacodegenerator.vala: add constants, private static fields,
2517           main function, property accessors, this, casting for member access
2518         * vala/valablock.vala: add add_statement method
2519         * vala/valafield.vala: add instance field
2520         * vala/valamethod.vala: add is_abstract field
2521         * valac/generator.c: mark generated properties as writable
2523 2006-05-22  Jürg Billeter  <j@bitron.ch>
2525         * vala/valacodegenerator.c: add class instance private struct, type
2526           register function, class init function, instance init function;
2527           support access to private members
2528         * ccode/valaccodedeclarationstatement.vala: support static modifier
2530 2006-05-21  Jürg Billeter  <j@bitron.ch>
2532         * vala/scanner.l: support file comments, BREAK, CONTINUE
2533         * vala/parser.y: support break and continue, add more comments
2534         * vala/valacodecontext.vala: find cyclic header dependencies
2535         * vala/valasourcefile.vala: add get_namespaces method, add dependency
2536           information, add add_symbol_dependency method, add
2537           SourceFileDependencyType enum
2538         * vala/valasourcefilecycle.vala
2539         * vala/valacodevisitor.vala: support break and continue statements
2540         * vala/valaparser.vala: support file comments
2541         * vala/valasemanticanalyzer.vala: record dependency information
2542         * vala/valacodegenerator.vala: add include directives, type forward
2543           declarations, once section, enum values, method return types, and more
2544           comments
2545         * vala/valablock.vala, vala/valadeclarationstatement.vala,
2546           vala/valaemptystatement.vala, vala/valaexpressionstatement.vala,
2547           vala/valaforeachstatement.vala, vala/valaforstatement.vala,
2548           vala/valaifstatement.vala, vala/valareturnstatement.vala,
2549           vala/valastatement.vala, vala/valawhilestatement.vala: move
2550           source_reference property to Statement class
2551         * vala/valaclass.vala, vala/valaenum.vala, vala/valastruct.vala,
2552           vala/valatype.vala: move name, source_reference, namespace, and
2553           get_cheader_filenames to Type class
2554         * vala/valabreakstatement.vala
2555         * vala/valacontinuestatement.vala
2556         * vala/valaenum.vala: fix cname, add get_upper_case_cname method
2557         * vala/valaenumvalue.vala: add get_cname method
2558         * vala/valafield.vala: add access field
2559         * vala/valanamespace.vala: add get_structs, get_classes, and
2560           get_cheader_filenames methods, support cheader_filename attribute
2561         * vala/valastruct.vala: support cheader_filename attribute
2562         * vala/valatypereference.vala: support void cname
2563         * vala/vala.h: update
2564         * ccode/valaccodeblock.vala: support comments before statements
2565         * ccode/valaccodeenum.vala: optionally use typedef
2566         * ccode/valaccodefunction.vala: add copy method
2567         * ccode/valaccodenewline.vala
2568         * ccode/valaccodeoncesection.vala
2569         * ccode/valaccodewriter.vala: use whole line for comments
2570         * bindings/glib-2.0.vala: add cheader_filename attributes, extend string
2571           types
2572         * valac/generator.c: fix private field access, include string.h
2574 2006-05-19  Jürg Billeter  <j@bitron.ch>
2576         * vala/valacodegenerator.vala: include header file in corresponding
2577           source file, generate class macros and typedefs
2578         * ccode/valaccodeincludedirective.vala
2579         * ccode/valaccodemacroreplacement.vala: c macro definition
2580         * ccode/valaccodetypedefinition.vala: c typedef
2581         * bindings/glib-2.0.vala: correct comment
2583 2006-05-18  Jürg Billeter  <j@bitron.ch>
2585         * vala/valacodecontext.vala: add get_source_files method
2586         * vala/valasourcefile.vala: add pkg flag
2587         * vala/valasymbolresolver.vala: use GLib.Object as default base class
2588         * vala/valacodegenerator.vala: ignore package bindings, fix names of
2589           class structs
2590         * bindings/glib-2.0.vala: renamed from GLib.vala, add g_build_filename
2591         * compiler/valacompiler.vala: add pkg and pkgdir options
2593 2006-05-18  Jürg Billeter  <j@bitron.ch>
2595         * vala/valacodegenerator.vala: add method parameters, public instance
2596           field access, invocation arguments
2597         * vala/valamethod.vala: add get_parameters method
2598         * ccode/valaccodeformalparameter.vala
2599         * ccode/valaccodefunction.vala: use CCodeFormalParameter
2600         * ccode/valaccodememberaccess.vala
2601         * valac/scanner.l: support ASSIGN_BITWISE_OR, BITWISE_OR
2602         * valac/parser.y: support bitwise or
2603         * valac/context.h: support bitwise or
2604         * valac/generator.c: support bitwise or
2606 2006-05-18  Jürg Billeter  <j@bitron.ch>
2608         * vala/parser.y: support member and access modifiers, static methods
2609         * vala/valaattributeprocessor.vala: process method attributes
2610         * vala/valaclass.vala: don't set parent_type member of children
2611         * vala/valaconstant.vala: remove unnecessary parent_type member
2612         * vala/valafield.vala: remove unnecessary parent_type member
2613         * vala/valamethod.vala: support cname attribute
2614         * vala/valanamespace.vala: add methods
2615         * vala/valaproperty.vala: remove unnecessary parent_type member
2616         * vala/valastruct.vala: don't set parent_type member of children
2618 2006-05-18  Jürg Billeter  <j@bitron.ch>
2620         * vala/parser.y: adapt to BinaryOperator enum changes
2621         * vala/valacodegenerator.vala: add operators to unary and binary
2622           expressions
2623         * vala/valabinaryexpression.vala: correct enum value names
2624         * ccode/valaccodebinaryexpression.vala: add operator
2625         * ccode/valaccodeunaryexpression.vala
2627 2006-05-18  Jürg Billeter  <j@bitron.ch>
2629         * vala/parser.y: support namespace attributes
2630         * vala/valaattributeprocessor.vala: process namespace and class
2631           attributes
2632         * vala/valacodegenerator.vala: use correct symbol names
2633         * vala/valamethod.vala: add cname
2634         * vala/valanamespace.vala: add cprefix, support cprefix attribute
2635         * vala/valastruct.vala: prefix cname with namespace cprefix
2636         * bindings/GLib.vala: add tolower to unichar
2637         * valac/parser.y: rename namespace attribute cname to lower_case_cprefix
2639 2006-05-18  Jürg Billeter  <j@bitron.ch>
2641         * update reference and property annotations
2642         * switch string struct to utf-8
2643         * valac/context.c: set source file in root namespace
2644         * valac/generator.c: don't include bindings stub header
2646 2006-05-17  Jürg Billeter  <j@bitron.ch>
2648         * vala/valanamespace.vala: implement camel_case_to_lower_case method
2649         * bindings/GLib.vala: extend string types
2650         * valac/generator.c: support access to struct fields
2652 2006-05-17  Jürg Billeter  <j@bitron.ch>
2654         * vala/parser.y: support variable declarators, subtyping, constants,
2655           properties, and enums
2656         * vala/valacodevisitor.vala: support formal parameters, property
2657           accessors, named arguments, and parenthesized expressions
2658         * vala/valasymbolbuilder.vala: visit enum values, constants, formal
2659           parameters, properties, and blocks
2660         * vala/valasymbolresolver.vala: save base class, accept void type,
2661           support type references with namespace name
2662         * vala/valasemanticanalyzer.vala: visitor to find static types of
2663           expressions
2664         * vala/valacodegenerator.vala: support parenthesized expressions
2665         * vala/valablock.vala: add begin and end visit events
2666         * vala/valaclass.vala: support base types and properties
2667         * vala/valaenum.vala: add values
2668         * vala/valaenumvalue.vala
2669         * vala/valaexpression.vala: add generic symbol reference
2670         * vala/valaforeachstatement.vala: add begin and end visit events
2671         * vala/valaformalparameter.vala: add visit event
2672         * vala/valaliteral.vala: mark class as abstract
2673         * vala/valamethod.vala: add return_type
2674         * vala/valanamedargument.vala: add accept method
2675         * vala/valanamespace.vala: visit fields
2676         * vala/valaobjectcreationexpression.vala: visit arguments
2677         * vala/valaparenthesizedexpression.vala: add visit event
2678         * vala/valaproperty.vala: add accessors
2679         * vala/valapropertyaccessor.vala
2680         * vala/valasimplename.vala: code style update
2681         * vala/valastruct.vala: add constants
2682         * vala/valavariabledeclarator.vala: add type reference
2683         * vala/vala.h: update
2684         * compiler/valacompiler.vala: invoke SemanticAnalyzer
2685         * ccode/valaccodefragment.vala: code style update
2686         * ccode/valaccodeparenthesizedexpression.vala: 
2687         * valac/parser.y: support replacement of readonly fields
2688         * valac/context.c: resolve types in operation expressions
2690 2006-05-16  Jürg Billeter  <j@bitron.ch>
2692         * vala/scanner.l: fix multi-line comments
2693         * vala/valacodegenerator.vala: basic statement and expression handling
2694         * vala/valacodevisitor.vala: support variable declaration
2695         * vala/valasymbolbuilder.vala: adapt to visitor changes
2696         * vala/valaclass.vala: remove members already available in Struct
2697         * vala/valacodenode.vala: add ccodenode field
2698         * vala/valadeclarationstatement.vala: visit declaration
2699         * vala/valaexpressionstatement.vala: visit code containers after child
2700           elements
2701         * vala/valalocalvariabledeclaration.vala: add accept method
2702         * vala/valamethod.vala: add begin and end visit events
2703         * vala/valanamespace.vala: add lower_case_cprefix
2704         * vala/valastruct.vala: define get_upper_case_cname method
2705         * vala/valatype.vala: declare get_upper_case_cname method
2706         * vala/valatypereference.vala: add get_upper_case_cname method
2707         * vala/valavariabledeclarator.vala: add accept method
2708         * ccode/valaccodewriter.vala: formatting fixes
2709         * ccode/valaccodeassignment.vala
2710         * ccode/valaccodebinaryexpression.vala
2711         * ccode/valaccodeblock.vala: use CCodeStatement
2712         * ccode/valaccodeconstant.vala
2713         * ccode/valaccodedeclarationstatement.vala
2714         * ccode/valaccodeemptystatement.vala
2715         * ccode/valaccodeexpression.vala
2716         * ccode/valaccodeexpressionstatement.vala
2717         * ccode/valaccodeforstatement.vala
2718         * ccode/valaccodefunction.vala: formatting fixes
2719         * ccode/valaccodefunctioncall.vala
2720         * ccode/valaccodeidentifier.vala
2721         * ccode/valaccodeifstatement.vala
2722         * ccode/valaccodereturnstatement.vala
2723         * ccode/valaccodestatement.vala
2724         * ccode/valaccodestruct.vala: formatting fixes
2725         * ccode/valaccodevariabledeclarator.vala
2726         * bindings/GLib.vala: extend string types
2727         * valac/context.c: resolve types in named argument list in object
2728           creation expression
2730 2006-05-16  Jürg Billeter  <j@bitron.ch>
2732         * vala/parser.y: fix unary expressions
2733         * vala/valacodegenerator.vala: add visit_block method
2734         * vala/valacodevisitor.vala: add visit methods for statements,
2735           expressions, and literals
2736         * vala/valaassignment.vala: add accept method
2737         * vala/valabinaryexpression.vala: add accept method
2738         * vala/valablock.vala: add accept method
2739         * vala/valabooleanliteral.vala: add accept method
2740         * vala/valacastexpression.vala: add accept method
2741         * vala/valacharacterliteral.vala: add accept method
2742         * vala/valaconditionalexpression.vala: add accept method
2743         * vala/valaconstant.vala: visit code containers after child elements
2744         * vala/valadeclarationstatement.vala: add accept method
2745         * vala/valaemptystatement.vala: add accept method
2746         * vala/valaexpressionstatement.vala: add accept method
2747         * vala/valafield.vala: visit code containers after child elements
2748         * vala/valaforeachstatement.vala: add accept method
2749         * vala/valaformalparameter.vala: add accept method
2750         * vala/valaforstatement.vala: add accept method
2751         * vala/valaifstatement.vala: add accept method
2752         * vala/valaintegerliteral.vala: add accept method
2753         * vala/valainvocationexpression.vala: add accept method
2754         * vala/valaliteralexpression.vala: add accept method
2755         * vala/valamemberaccess.vala: add accept method
2756         * vala/valamethod.vala: add accept method
2757         * vala/valanullliteral.vala: add accept method
2758         * vala/valaobjectcreationexpression.vala: add accept method
2759         * vala/valaparenthesizedexpression.vala: add accept method
2760         * vala/valapostfixexpression.vala: add accept method
2761         * vala/valareturnstatement.vala: add accept method
2762         * vala/valasimplename.vala: add accept method
2763         * vala/valastringliteral.vala: add accept method
2764         * vala/valaunaryexpression.vala: fix constructor, add accept method
2765         * vala/valawhilestatement.vala: add accept method
2766         * ccode/valaccodefunction.vala: renamed from CCodeMethod
2768 2006-05-16  Jürg Billeter  <j@bitron.ch>
2770         * vala/parser.y: support logical AND and OR expressions, conditional
2771           expressions, assignments, constants, method parameters, and properties
2772         * vala/valacodevisitor.vala: add constant and property visits
2773         * vala/valaassignment.vala
2774         * vala/valabinaryexpression.vala: add bitwise xor, AND, and OR
2775         * vala/valaconditionalexpression.vala
2776         * vala/valaconstant.vala
2777         * vala/valaformalparameter.vala
2778         * vala/valainitializerlist.vala
2779         * vala/valamemberaccess.vala: add source_reference
2780         * vala/valamethod.vala: add parameters
2781         * vala/valaproperty.vala
2782         * vala/vala.h: update
2784 2006-05-16  Jürg Billeter  <j@bitron.ch>
2786         * vala/parser.y: support member access, multiplicative, additive, shift,
2787           equality, relational, and bitwise expressions
2788         * vala/valabinaryexpression.vala
2789         * vala/valamemberaccess.vala: add constructor
2790         * vala/vala.h: update
2792 2006-05-15  Jürg Billeter  <j@bitron.ch>
2794         * vala/scanner.l: support assign operators
2795         * vala/parser.y: support assign operators and attributes
2796         * vala/valaattributeprocessor.vala: visitor to process compiler
2797           attributes
2798         * vala/valacodegenerator.vala: support structs, enums, and methods
2799         * vala/valacodenode.vala: support attributes
2800         * vala/valaattribute.vala
2801         * vala/valamemberaccessibility.vala
2802         * vala/valamethod.vala
2803         * vala/valastruct.vala: support CCode (cname) attribute
2804         * vala/vala.h: update
2805         * compiler/valacompiler.vala: invoke AttributeProcessor
2806         * ccode/valaccodeblock.vala
2807         * ccode/valaccodeenum.vala
2808         * ccode/valaccodemethod.vala
2809         * ccode/valaccodemodifiers.vala
2810         * bindings/GLib.vala: add string cmp method
2811         * valac/scanner.l: support BITWISE_AND
2812         * valac/parser.y: support bitwise and
2813         * valac/context.h: add bitwise and
2814         * valac/generator.c: support enum dependencies and bitwise and
2816 2006-05-14  Jürg Billeter  <j@bitron.ch>
2818         * vala/scanner.l: support OPEN_CAST_PARENS, IS, WHILE
2819         * vala/parser.y: support structs, enums, and fields, cast, postfix,
2820           while, ref types, and generic type parameters; fix comments
2821         * vala/valacodecontext.vala: add root symbol
2822         * vala/valasourcefile.vala: add using directives, c filenames
2823         * vala/valacodevisitor.vala: add begin and end visits for some container
2824           types, add struct, enum, field, type parameter, namespace reference,
2825           and type reference visits
2826         * vala/valaparser.vala: adapt to visitor changes
2827         * vala/valasymbolbiulder.vala: visitor to fill symbol table
2828         * vala/valasymbolresolver.vala: visitor to resolve symbol references
2829         * vala/valacodegenerator.vala: add beginning of code generation
2830         * vala/valacodenode.vala: add symbol reference
2831         * vala/valacastexpression.vala
2832         * vala/valaclass.vala: derive from struct
2833         * vala/valaenum.vala
2834         * vala/valaexpression.vala: add static_type, field_reference, and
2835           method_reference fields
2836         * vala/valafield.vala
2837         * vala/valamemberaccess.vala
2838         * vala/valanamespace.vala: add structs, enums, and fields
2839         * vala/valanamespacereference.vala
2840         * vala/valapostfixexpression.vala
2841         * vala/valasourcereference.vala: adapt to comment changes
2842         * vala/valastringliteral.vala: add eval method
2843         * vala/valastruct.vala
2844         * vala/valasymbol.vala
2845         * vala/valatype.vala
2846         * vala/valatypeparameter.vala: 
2847         * vala/valatypereference.vala: add type, type_parameter, is_ref, and
2848           is_out fields, add get_cname method
2849         * vala/valavariabledeclarator.vala: add name and initializer fields
2850         * vala/valawhilestatement.vala: 
2851         * vala/vala.h: update
2852         * compiler/valacompiler.vala: run SymbolBuilder and SymbolResolver
2853         * ccode/valaccodewriter.vala
2854         * ccode/valaccodecomment.vala
2855         * ccode/valaccodefragment.vala
2856         * ccode/valaccodenode.vala
2857         * ccode/valaccodestruct.vala
2858         * bindings/GLib.vala: add/extend ustring, Path, Object, File, HashTable
2859         * valac/scanner.l: support OPEN_CAST_PARENS, OP_AND, OP_OR, IS, WHILE
2860         * valac/parser.y: support cast, while, include_filename ccode attribute,
2861           AND and OR expressions, IS type checks, unary minus
2862         * valac/context.h: add while statements, cast and IS expressions, and
2863           AND and OR operators
2864         * valac/context.c: support cast, IS, while; fix if
2865         * valac/generator.c: support cast, IS, pointer arithmetic, namespace
2866           methods, imported include files
2867         * valac/driver.c: add symbol alias
2869 2006-05-07  Jürg Billeter  <j@bitron.ch>
2871         * vala/scanner.l: tokenizer for new vala compiler
2872         * vala/parser.y: parser vor new vala compiler
2873         * vala/valablock.vala
2874         * vala/valabooleanliteral.vala
2875         * vala/valacharacterliteral.vala
2876         * vala/valaclass.vala: add methods
2877         * vala/valadeclarationstatement.vala
2878         * vala/valaemptystatement.vala
2879         * vala/valaexpression.vala
2880         * vala/valaexpressionstatement.vala
2881         * vala/valaforeachstatement.vala
2882         * vala/valaforstatement.vala
2883         * vala/valaifstatement.vala
2884         * vala/valaintegerliteral.vala
2885         * vala/valainvocationexpression.vala
2886         * vala/valaliteral.vala
2887         * vala/valaliteralexpression.vala
2888         * vala/valalocalvariabledeclaration.vala
2889         * vala/valamethod.vala
2890         * vala/valanamedargument.vala
2891         * vala/valanullliteral.vala
2892         * vala/valaobjectcreationexpression.vala
2893         * vala/valaparenthesizedexpression.vala
2894         * vala/valareturnstatement.vala
2895         * vala/valasimplename.vala
2896         * vala/valastatement.vala
2897         * vala/valastringliteral.vala
2898         * vala/valatypereference.vala
2899         * vala/valaunaryexpression.vala
2900         * vala/valavariabledeclarator.vala
2901         * vala/valacodevisitor.vala: add visit_method skeleton
2902         * vala/valacodegenerator.vala: do.
2903         * vala/vala.h: include generated header files
2904         * valac/generator.c: support bool and enum properties, support enums
2906 2006-05-06  Jürg Billeter  <j@bitron.ch>
2908         * vala/valacodecontext.vala
2909         * vala/valasourcefile.vala
2910         * vala/valasourcereference.vala: filename, line, and comment container
2911         * vala/valacodenode.vala: abstract code node
2912         * vala/valanamespace.vala: namespace node
2913         * vala/valaclass.vala: class node
2914         * vala/valacodevisitor.vala: abstract syntax tree visitor
2915         * vala/valaparser.vala: vala parser
2916         * vala/valacodegenerator.vala: code generator skeleton
2917         * compiler/valacompiler.vala: compiler driver
2918         * bindings/GLib.vala: add bindings for GList and GOptionContext
2919         * valac/scanner.l: support multi-line comments, ABSTRACT, INTERFACE,
2920           READONLY
2921         * valac/parser.y: replace AT by HASH, support readonly fields
2922         * valac/context.h: small fixes
2923         * valac/context.c: small fixes
2924         * valac/generator.c: fix override methods, basic support for properties
2926 2006-05-03  Jürg Billeter  <j@bitron.ch>
2928         * valac/scanner.l: support OP_NEG, CONSTRUCT, FOREACH, IN
2929         * valac/parser.y: add foreach, construct properties; merge modifiers to
2930           resolve parser conflicts
2931         * valac/context.h: merge modifiers
2932         * valac/context.c: support namespace fields, resolve types in
2933           assignments, invocations, and if, for, and foreach statements
2934         * valac/generator.c: support negation operator, inherited fields in
2935           object variables, foreach statements for arrays and GList, fix
2936           circular dependencies
2938 2006-05-02  Raffaele Sandrini  <rasa@gmx.ch>
2940         * tests/test-008.vala: add tests for base fields
2941         * valac/generator.c: remove klass local variable, add support for
2942           base fields.
2944 2006-05-01  Jürg Billeter  <j@bitron.ch>
2946         * valac/scanner.l: support ENUM, FLAGS, STRUCT
2947         * valac/parser.y: add structs, generic types, enums, flags, attributes,
2948           ref and out parameters
2949         * valac/context.h: add ValaFlags, ValaFlagsValue, and ValaAnnotation
2950           structs
2951         * valac/context.c: support bool, uint, pointer, generic types
2952         * valac/generator.h: save pointer to current struct
2953         * valac/generator.c: support structs, ReturnsModifiedPointer, include
2954           files
2956 2006-04-30  Jürg Billeter  <j@bitron.ch>
2958         * valac/scanner.l: support AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF,
2959           THIS, VALA_TRUE, USING, VAR, LITERAL_CHARACTER
2960         * valac/parser.y: add character, boolean, and null literals, using
2961           directive, @ type qualifier, constants, ref and out variables,
2962           array element access, this access, struct and array initializer,
2963           var type
2964         * valac/context.h: add ValaEnum, ValaConstant, and ValaEnumValue structs
2965         * valac/context.c: support constants, struct members, enums, var type,
2966           using directives
2967         * valac/generator.h: save pointer to current class
2968         * valac/generator.c: support constants, boolean and null literals,
2969           array element access, using directives, this access, enums, private
2970           static fields, ref and out variables, struct and array initializer,
2971           boolean, character, and null literal, var type
2973 2006-04-27  Raffaele Sandrini  <rasa@gmx.ch>
2975         * tests/test-008.vala:
2976         * tests/test-009.vala: add
2977         * valac/parser.y:
2978         * valac/scanner.l:
2979         * valac/context.c:
2980         * valac/generator.c:
2981         * valac/context.h: add field and property support (property parse only
2982           yet)
2983         * AUTHORS: add myself
2985 2006-04-26  Jürg Billeter  <j@bitron.ch>
2987         * valac/scanner.l: support OVERRIDE, VIRTUAL
2988         * valac/parser.y: add virtual methods
2989         * valac/context.h: support virtual methods, improve init and class_init
2990         * valac/context.c: set symbol in ValaMethod struct
2991         * valac/generator.c: support virtual methods
2992         * tests/test-007.vala: test virtual method declaration and invocation
2994 2006-04-26  Jürg Billeter  <j@bitron.ch>
2996         * valac/scanner.l: support OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC,
2997           OP_EQ, OP_NE, OP_LE, OP_GE, OP_LT, OP_GT, MINUS, STAR, DIV, ELSE, FOR,
2998           IF
2999         * valac/parser.y: add array type references, equality expressions,
3000           relational expressions, multiplicative expressions, postfix
3001           operations, object creation, if conditionals, for loops
3002         * valac/context.h: add ValaNamedArgument struct, support if and for
3003           statements
3004         * valac/context.c: resolve types in object creation expressions of
3005           variable initializers
3006         * valac/generator.c: support array type references, init and class_init
3007           methods, more operations, object creation, for loops, if conditionals,
3008           call g_type_init in main
3009         * tests/test-006.vala: test instance method invocation, object creation,
3010           for loop, if conditional, multiplicative expression
3012 2006-04-25  Jürg Billeter  <j@bitron.ch>
3014         * valac/parser.y: save cname in class, save location of statements and
3015           expressions
3016         * valac/context.h: add ValaStruct struct
3017         * valac/context.c: support symbols from methods and structs, add int
3018           and string fundamental types, resolve types in local variable
3019           declarations
3020         * valac/generator.h: save pointer to current method block
3021         * valac/generator.c: add special handling for main method, basic support
3022           for method invocations, literals, member access, simple names,
3023           additive expressions, return statments, blocks
3024         * tests/test-005.vala: test static method invocation, literal integer,
3025           simple name, additive expression, return statement, block, main method
3027 2006-04-24  Jürg Billeter  <j@bitron.ch>
3029         * valac/scanner.l: support single-line comments, ASSIGN, PLUS, RETURN,
3030           LITERAL_INTEGER, LITERAL_STRING
3031         * valac/parser.y: add basic statements and expressions
3032         * valac/context.h: add ValaStatement, ValaVariableDeclaration,
3033           ValaVariableDeclarator, and ValaExpression structs
3034         * valac/context.c: remove unreachable line
3036 2006-04-24  Jürg Billeter  <j@bitron.ch>
3038         * valac/scanner.l: set token location, support OPEN_PARENS,
3039           CLOSE_PARENS, SEMICOLON, PUBLIC, STATIC
3040         * valac/parser.y: save symbol location, output exact error location,
3041           support method declarations
3042         * valac/context.h: add ValaLocation, ValaMethod, and ValaFormalParameter
3043           structs, add location to ValaClass and ValaTypeReference structs
3044         * valac/context.c: output error location, support method declarations
3045         * valac/generator.c: support method declarations
3046         * valac/driver.c: add comment
3047         * tests/test-004.vala: test method declaration
3049 2006-04-22  Jürg Billeter  <j@bitron.ch>
3051         * valac/scanner.l: support DOT, COLON, and COMMA
3052         * valac/parser.y: save lower and upper case cnames in namespace and
3053           class objects, support base classes
3054         * valac/context.h: add ValaSymbol and ValaTypeReference structs, add
3055           cnames to ValaNamespace and ValaClass structs
3056         * valac/context.c: add symbol handling, type resolving, set cnames in
3057           root namespace
3058         * valac/generator.c: remove cname generation, support base classes
3059         * valac/driver.c: add symbols and resolve types
3060         * tests/test-003.vala: test base class