update for 0.0.4 release
[vala-lang.git] / vala / ChangeLog
blobb5463e50a351b21c1dc188917be7c890d9779c76
1 2006-10-06  Jürg Billeter  <j@bitron.ch>
3         * NEWS: update for 0.0.4 release
5 2006-10-06  Raffaele Sandrini  <rasa@gmx.ch>
7         * vapi/glib-2.0.vala, vala/valaflags.vala, vala/valaenum.vala,
8           vala/valadatatype.vala, vala/valaarray.vala, vala/valaclass.vala,
9           vala/valastruct.vala: add get and set value support
10         * vala/valacodegenerator.vala: add user (arbitrary) signal support
11         * vala/valadatatype.vala, vala/valamemorymanager.vala,
12           vala/valastruct.vala: correctly honor ref types in type arguments
13         * ccode/valaccodedeclaration.vala, ccode/valaccodemodifiers.vala:
14           support register local variables
15         * ccode/valaccodememberaccess.vala: make one line creation possible
16         * vapi/glib-2.0.vala: fix return type of Glib.List.nth_data
17         * tests/test-024.vala: add user signal test
18         * tests/Makefile.am: update
20 2006-10-05  Jürg Billeter  <j@bitron.ch>
22         * vala/parser.y, vala/valasemanticanalyzer.vala: complete support for
23           prefix increment and decrement operator
25 2006-10-05  Jürg Billeter  <j@bitron.ch>
27         * vala/valasemanticanalyzer.vala: transform compund assignments into
28           simple assignments
29         * vala/valabinaryexpression.vala: add default argument to construction
30           method
31         * tests/test-021.vala: test string += assignment
33 2006-10-04  Jürg Billeter  <j@bitron.ch>
35         * vala/valasymbolresolver.vala: correct takes_ownership in arrays
36         * vala/valacodegenerator.vala: add limited support for array length
37           fields, store array length from array creation expression, copy array
38           length in array assignments
39         * vala/valafield.vala: support NoArrayLength attribute
40         * compiler/valacompiler.vala: add NoArrayLength attribute to option
41           arrays
43 2006-10-04  Jürg Billeter  <j@bitron.ch>
45         * vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala: specify
46           array element type as type argument
47         * vala/valacodegenerator.vala: create declarations for array length
48           variables, iterate over arrays by index if it has known length
49         * vala/valacharacterliteral.vala: correct return type of get_char
50         * vala/valanamespace.vala: process enums and flags first
51         * vala/valavariabledeclarator.vala: set parent_node of initializer, add
52           replace method
53         * tests/test-023.vala: test list construction
54         * tests/Makefile.am: update
56 2006-10-03  Jürg Billeter  <j@bitron.ch>
58         * vala/valacodegenerator.vala: don't use InstanceCast for callbacks
60 2006-09-28  Raffaele Sandrini <rasa@gmx.ch>
62         * vala/valacodegenerator.vala, vala/valasemanticanalyzer.vala,
63           vala/valamemorymanager.vala: add one dimensional array assignment
64           support
65         * tests/test-022.vala: testcase for array creation/assignment
66         * tests/Makefile.am: update
68 2006-09-28  Jürg Billeter  <j@bitron.ch>
70         * vapi/glib-2.0.vala: add and improve various types
72 2006-09-28  Jürg Billeter  <j@bitron.ch>
74         * vala/parser.y: set attributes also for non-readable properties
75         * vala/valacodegenerator.vala: support interface signals
76         * vala/valainvocationexpression.vala,
77           vala/valaobjectcreationexpression.vala: fix problem when children
78           change while iterating over them
80 2006-09-27  Jürg Billeter  <j@bitron.ch>
82         * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
83           vala/valamethod.vala: support InstanceByReference attribute
84         * vapi/glib-2.0.vala: add Filename struct, fix Process methods
85         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
86           fix static methods without parameters, add InstanceByReference
87           attributes
89 2006-09-27  Jürg Billeter  <j@bitron.ch>
91         * vala/valainterface.vala: visit interface signals
92         * vala/valainterfacewriter.vala: obey lock keyword
93         * vapi/atk.vala, vapi/gtk+-2.0.vala: add interface signals
95 2006-09-27  Raffaele Sandrini  <rasa@gmx.ch>
97         * vapi/glib-2.0.vala: add threading and assorted structures
98         * vala/valamember.vala: add an additional abstraction for all members
99           of a class
100         * vala/valalockstatement.vala, vala/valacodegenerator.vala,
101           vala/scanner.l, vala/valasemanticanalyzer.vala,
102           vala/valalockable.vala, vala/parser.y, vala/valacodevisitor.vala:
103           add lock feature to vala
104         * vala/valamethod.vala, vala/valafield.vala, vala/valaconstant.vala,
105           vala/valasignal.vala, vala/valaproperty.vala: make those members
106           lockable
107         * vala/valacodegenerator.vala: use member abstraction to simlify field
108           initialisation and destruction
109         * vala/valacodegenerator.vala: introduce new C macros VALA_FREE_CHECKED
110           and VALA_FREE_UNCHECKED to make safe freeing code nicer
111         * vala/vala.h: update and bring arraycreationexpression in order
112         * vala/Makefile.am: update
114 2006-09-27  Jürg Billeter  <j@bitron.ch>
116         * vapi/glib-2.0.vala: add Process struct with spawn functions
118 2006-09-27  Jürg Billeter  <j@bitron.ch>
120         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
121           fix global methods
123 2006-09-26  Jürg Billeter  <j@bitron.ch>
125         * vapi/glib-2.0.vala: add string.reverse, Source.remove,
126           Environment.get_variable, Environment.set_variable,
127           Environment.get_current_dir, Path.is_absolute, Path.skip_root
129 2006-09-26  Jürg Billeter  <j@bitron.ch>
131         * vala/valaassignment.vala, vala/valabinaryexpression.vala,
132           vala/valacastexpression.vala, vala/valadostatement.vala,
133           vala/valaexpressionstatement.vala, vala/valaforeachstatement.vala,
134           vala/valaforstatement.vala, vala/valaifstatement.vala,
135           vala/valainvocationexpression.vala, vala/valamemberaccess.vala,
136           vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
137           vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
138           vala/valawhilestatement.vala: add missing cast
140 2006-09-03  Jürg Billeter  <j@bitron.ch>
142         * vala/scanner.l: make character_literal stricter
143         * vala/valacodegenerator.vala: support more method return types,
144           support unicode character literals
145         * vala/valacharacterliteral.vala: validate input, add get_char method
147 2006-09-02  Jürg Billeter  <j@bitron.ch>
149         * vala/parser.y, vala/valacodecontext.vala,
150           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
151           vala/valacodegenerator.vala, vala/valaarraycreationexpression.vala,
152           vala/valablock.vala, vala/valacallback.vala, vala/valaclass.vala,
153           vala/valaelementaccess.vala, vala/valafield.vala,
154           vala/valaformalparameter.vala, vala/valaforstatement.vala,
155           vala/valainitializerlist.vala, vala/valainterface.vala,
156           vala/valainvocationexpression.vala, vala/valainvokable.vala,
157           vala/valalambdaexpression.vala,
158           vala/valalocalvariabledeclaration.vala, vala/valamemberaccess.vala,
159           vala/valamethod.vala, vala/valanamespace.vala,
160           vala/valaobjectcreationexpression.vala, vala/valasignal.vala,
161           vala/valasourcefile.vala, vala/valastruct.vala,
162           vala/valaswitchsection.vala, vala/valaswitchstatement.vala,
163           vala/valatypereference.vala, vala/valavariabledeclarator.vala,
164           ccode/valaccodefragment.vala, vapi/glib-2.0.vala: always default type
165           arguments to strong
166         * vala/valacodevisitor.vala, vala/valacodegenerator.vala,
167           vala/valaexpression.vala, vala/valareturnstatement.vala: avoid
168           unnecessary ref/unref pair in return expression
169         * vala/valatypereference.vala: copy type arguments in copy method, too
170         * vala/valasemanticanalyzer.vala: set type arguments in type_reference
171           of ObjectCreationExpression
172         * vala/valadatatype.vala: fix warning
174 2006-09-02  Jürg Billeter  <j@bitron.ch>
176         * vala/valacodegenerator.vala: special case construction of GLib.List
177           and GLib.SList (reported by Cayle Graumann)
179 2006-09-02  Jürg Billeter  <j@bitron.ch>
181         * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
182           vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
183           vala/valamemberaccessibility.vala: prepare to support protected
184           members
186 2006-09-02  Jürg Billeter  <j@bitron.ch>
188         * vala/parser.y: don't set parent_node in parser
189         * vala/valasemanticanalyzer.vala: support string + operator
190         * vala/valaassignment.vala, vala/valabinaryexpression.vala,
191           vala/valacastexpression.vala, vala/valacodenode.vala,
192           vala/valadostatement.vala, vala/valaexpressionstatement.vala,
193           vala/valaforeachstatement.vala, vala/valaforstatement.vala,
194           vala/valaifstatement.vala, vala/valainvocationexpression.vala,
195           vala/valamemberaccess.vala, vala/valaobjectcreationexpression.vala,
196           vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
197           vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
198           vala/valawhilestatement.vala: set parent_node of child nodes, add
199           replace method
200         * vala/valanullliteral.vala: add default argument to construction method
201         * tests/test-021.vala: test string + operator
202         * tests/Makefile.am: update
204 2006-09-02  Jürg Billeter  <j@bitron.ch>
206         * vala/scanner.l: support integer and floating point suffixes
207         * vala/valasemanticanalyzer.vala: use correct type for integer and
208           floating point literals
209         * vala/valaintegerliteral.val, vala/valarealliteral.vala: add
210           get_type_name method
211         * vapi/glib-2.0.vala: add string to int64 conversion method
213 2006-09-02  Jürg Billeter  <j@bitron.ch>
215         * vala/valasemanticanalyzer.vala: use IntegerType, FloatingType, and
216           rank attributes to analyze arithmetic operations
217         * vala/valacodegenerator.vala: generate C casts for explicit value-type
218           casts
219         * vala/valastruct.vala: add is_integer_type, is_floating_type, and
220           get_rank methods, add IntegerType and FloatingType attributes
221         * vala/valasemanticanalyzer.vala, vala/valacastexpression.vala,
222           vala/valainstancecast.vala, ccode/valaccodecastexpression.vala: fix
223           typos
224         * vapi/glib-2.0.vala: add int16, uint16, int32, uint32, use IntegerType
225           and FloatingType attributes
227 2006-09-02  Jürg Billeter  <j@bitron.ch>
229         * vala/parser.y: set accessibility for constants
230         * vala/valasemanticanalyzer.vala: set return type in property set
231           accessors to void
232         * vala/valacodegenerator.vala: move public constants to header file
233         * vala/valaclass.vala: don't create fields for properties in VAPI files
234         * vala/valaconstant.vala: add access member
236 2006-09-02  Jürg Billeter  <j@bitron.ch>
238         * vapi/cairo.vala: mark Matrix as reference type
240 2006-08-24  Jürg Billeter  <j@bitron.ch>
242         * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
243           mark virtual methods appropriately
245 2006-08-24  Jürg Billeter  <j@bitron.ch>
247         * vala/valaattributeprocessor.vala, vala/valacodegenerator.vala,
248           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala: add
249           possibility to change interface type struct cname, default to `Iface'
250           suffix (reported by Dominique Würtz)
252 2006-08-23  Jürg Billeter  <j@bitron.ch>
254         * vala/valasemanticanalyzer.vala: support calling non-abstract interface
255           methods
256         * vala/valainterface.vala: add get_base_types method
258 2006-08-20  Jürg Billeter  <j@bitron.ch>
260         * configure.ac: Post-release version bump, fail if flex or bison not
261           found
263 2006-08-18  Jürg Billeter  <j@bitron.ch>
265         * NEWS: update for 0.0.3 release
267 2006-08-18  Jürg Billeter  <j@bitron.ch>
269         * compiler/valacompiler.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala:
270           use array length functionality
272 2006-08-18  Jürg Billeter  <j@bitron.ch>
274         * vala/valacodegenerator.vala: support implicit array length parameter
275         * vala/valainterfacewriter.vala, vala/valaformalparameter.vala,
276           vala/valamethod.vala: support NoArrayLength attribute
277         * compiler/valacompiler.vala, vapi/atk.vala, vapi/cairo.vala,
278           vapi/gdk-2.0.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala,
279           vapi/pango.vala: add NoArrayLength attributes
280         * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
281           tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
282           tests/test-007.vala, tests/test-008.vala, tests/test-009.vala,
283           tests/test-010.vala, tests/test-011.vala, tests/test-012.vala,
284           tests/test-013.vala, tests/test-014.vala, tests/test-015.vala,
285           tests/test-016.vala, tests/test-017.vala, tests/test-018.vala,
286           tests/test-019.vala, tests/test-020.vala: remove argc parameter
288 2006-08-18  Jürg Billeter  <j@bitron.ch>
290         * vala/parser.y: remove read/write tokens
291         * compiler/valacompiler.vala: support package dependencies
292         * vapi/gdk-2.0.deps
293         * vapi/gtk+-2.0.deps
294         * vapi/Makefile.am: update
296 2006-08-18  Jürg Billeter  <j@bitron.ch>
298         * vala/parser.y, vala/valastruct.vala: support base types for structs
299         * vala/valainterfacewriter.vala: obey set keyword
300         * vapi/glib-2.0.vala: add SignalInvocationHint, SignalEmissionHook,
301           SignalFlags, ValueArray, Math, Timeout, and PtrArray
302         * vapi/cairo.vala: initial cairo binding
303         * vapi/pango.vala, vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala:
304           bindings generated from Pango 1.13.5, ATK 1.12.1, and GTK+ 2.10.1
305         * vapi/Makefile.am: update
307 2006-08-11  Raffaele Sandrini  <rasa@gmx.ch>
309         * vala/valasymbolresolver.vala, vala/valatypereference.vala,
310           vala/valaelementaccess.vala, vala/valadatatype.vala, vala/parser.y,
311           vala/valaarray.vala: make those classes ready to process
312           multidimensional arrays.
313         * vala/scanner.l: remove ARRAY_QUALIFIER token
314         * vala/valasemanticanalyzer.vala, vala/parser.y,
315           vala/valacodegenerator.vala, vala/valacodegenerator.vala,
316           vala/valacodevisitor.vala: add multidimensional array support however
317           only one dimensional arrays can be created yet
318         * vala/Makefile.am, vala/vala.h: update
319         * vala/valatypereference.vala: remove source reference parameter
320           when creating from an expression
321         * vala/valacodegenerator.vala: add support for uint, long and ulong
322           properties
324 2006-08-10  Jürg Billeter  <j@bitron.ch>
326         * vala/scanner.l: support hexadecimal and octal integer literals,
327           support hexadecimal escape sequences, support BASE and THIS
328         * vala/parser.y: use BASE and THIS keywords
329         * vala/valasemanticanalyzer.vala: don't use new base keyword as variable
330           name
331         * vala/valacodegenerator.vala: simplify code
332         * vala/valainterfacewriter.vala: obey base keyword
334 2006-08-10  Jürg Billeter  <j@bitron.ch>
336         * vala/valacodegenerator.vala: fix memory management in switch
337           statements
338         * tests/test-020.vala: extend switch statement test
340 2006-08-10  Jürg Billeter  <j@bitron.ch>
342         * vala/valacodegenerator.vala: support switch statements
343         * vala/valaswitchsection.vala: add has_default_label () and
344           get_statements () methods
345         * vala/valaswitchstatement.vala: add get_sections () method
346         * ccode/valaccodedostatement.vala
347         * ccode/Makefile.am: update
348         * tests/test-020.vala: test switch statements
349         * tests/Makefile.am: update
351 2006-08-10  Jürg Billeter  <j@bitron.ch>
353         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: use
354           Invokable
355         * vala/valainvokable.vala
356         * vala/valafield.vala, vala/valaformalparameter.vala,
357           vala/valamethod.vala, valasignal.vala,
358           vala/valavariabledeclarator.vala: implement Invokable
359         * vala/Makefile.am: update
361 2006-08-10  Jürg Billeter  <j@bitron.ch>
363         * vala/parser.y: support constants in namespaces and constants without
364           initializer
365         * vala/valasemanticanalyzer.vala: depend on implemented interfaces
366         * vala/valacodegenerator.vala: always include glib-object.h for
367           interfaces, append NULL to variable argument list calls
368         * vala/valainterfacewriter.vala: support constants and ellipsis
369           parameters
370         * vala/valaconstant.vala: make initializer optional
371         * vala/valainterface.vala: implement get_lower_case_cprefix ()
372         * vala/valanamespace.vala: support constants
374 2006-08-10  Jürg Billeter  <j@bitron.ch>
376         * vala/scanner.l: accept real literals with trailing dot
377         * vala/valasymbolresolver.vala: ignore non-type symbols
378         * vala/valacodegenerator.vala: support float and double properties,
379           adapt to Field changes, support compound assignments in properties
380         * vala/valainterfacewriter.vala: support ReferenceType attribute
381         * vala/valaclass.vala: implement get_lower_case_cprefix ()
382         * vala/valadatatype.vala: add get_lower_case_cprefix () method
383         * vala/valafield.vala: let get_cname return full C name
384         * vala/valamethod.vala: use DataType.get_lower_case_cprefix ()
385         * vala/valastruct.vala: implement get_lower_case_cprefix (), add
386           set_is_reference_type () method
388 2006-08-09  Jürg Billeter  <j@bitron.ch>
390         * vala/parser.y: adapt to Vala.Signal change
391         * vala/valaattributeprocessor.vala: process signal attributes
392         * vala/valacodegenerator.vala: manage memory of element access
393           expressions, mark get_property and set_property functions static,
394           support signal emitter functions
395         * vala/valacodecontext.vala: use get_cinclude_filename method
396         * vala/valainterfacewriter.vala: use C header filename of namespace,
397           support signals, support NoAccessorMethod attribute
398         * vala/valadatatype.vala: add default arguments
399         * vala/valaenum.vala: make set_cprefix method public
400         * vala/valanamespace.vala: add get_cheader_filename and
401           set_cheader_filename methods
402         * vala/valasignal.vala: add has_emitter property, add process_attributes
403           method
404         * vala/valasourcefile.vala: add get_cinclude_filename method
405         * compiler/valacompiler.vala: adapt to SourceFile changes
407 2006-08-05  Jürg Billeter  <j@bitron.ch>
409         * vala/valaparser.vala: only parse .vala source files
410         * vala/valasymbolbuilder.vala, vala/valaproperty.vala: support disabling
411           automatic property accessor generation
412         * vala/valasemanticanalyzer.vala: fix typo
413         * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
414           vala/valacodecontext.vala: use correct includes for libraries
415         * vala/valacodegenerator.vala: use get_canonical_cconstant method for
416           signals
417         * vala/valainterfacewriter.vala: support interfaces, non-null types,
418           callbacks, and construction methods
419         * vala/valasignal.vala: add get_canonical_cconstant method
420         * vala/valaenum.vala, vala/valainterface.vala, vala/valanamespace.vala,
421           vala/valastruct: add default arguments
422         * vala/Makefile.am: install libvala.so and header files
423         * ccode/Makefile.am: install header files
424         * compiler/valacompiler.vala: set library name in code context
425         * compiler/Makefile.am: adapt to build system changes
426         * vapi/glib-2.0.vala: add skeletons for Callback, Closure, IOChannel,
427           TimeVal, Scanner, SpawnFlags, OptionGroup, MarkupParser, and Quark
428         * vapi/Makefile.am: add vala-1.0.vala
429         * vala-1.0.pc.in
430         * configure.ac: disable static library by default, add vala-1.0.pc
431         * Makefile.am: add vala-1.0.pc
433 2006-08-02  Jürg Billeter  <j@bitron.ch>
435         * configure.ac: Post-release version bump.
437 2006-08-02  Jürg Billeter  <j@bitron.ch>
439         * NEWS: update for 0.0.2 release
440         * vala/valasemanticanalyzer.vala: check for floating reference in
441           construction methods
442         * vala/valasourcefile.vala, vala/valacodegenerator.vala,
443           ccode/valaccodeincludedirective.vala: differentiate between
444           package-internal and external includes
445         * vapi/gtk+-2.0.vala: port to construction methods
447 2006-08-02  Jürg Billeter  <j@bitron.ch>
449         * port to construction methods
450         * vala/valaparenthesizedexpression.vala, vala/valareport.vala,
451           vala/valareturnstatement.vala, vala/valasourcefilecycle.vala,
452           vala/valasourcereference.vala, vala/valatypecheck.vala,
453           vala/valatypeofexpression.vala, vala/valatypeparameter.vala: add
454           interface documentation, use implicit namespace specification
455         * vala/Makefile.am: sort source file list
457 2006-08-02  Jürg Billeter  <j@bitron.ch>
459         * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
460           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
461           vala/valainterfacewriter.vala, vala/valaclass.vala,
462           vala/valaexpressionstatement.vala, vala/valamethod.vala,
463           vala/valaobjectcreationexpression.vala, vala/valastatement.vala,
464           vala/valastruct.vala: add support for construction methods
465         * vala/valabooleanliteral.vala, vala/valaexpression.vala,
466           vala/valaintegerliteral.vala, vala/valaliteral.vala,
467           vala/valaliteralexpression.vala, vala/valamemberaccess.vala: add
468           to_string method
469         * vala/valamemberaccess.vala, vala/valatypereference.vala: support
470           storing type arguments in MemberAccess
471         * vala/valacodenode.vala: add parent_node property
472         * vala/parser.y, vala/valaifstatement.vala: only allow blocks as
473           embedded statements
474         * vala/valaenum.vala: implement get_type_id method
475         * vala/valainterfacewriter.vala: output default expressions of formal
476           parameters
477         * vala/valaformalparameter.vala: visit default expression
478         * vala/valaobjectcreationexpression.vala, vala/valanullliteral.vala,
479           vala/valaproperty.vala, vala/valapropertyaccessor.vala: add interface
480           documentation, use implicit namespace specification
481         * vala/vala.h: add valaelementaccess.h and valarealliteral.h
482         * ccode/valaccodememberaccess.vala: don't mark is_pointer as construct
483         * vapi/glib-2.0.vala: add GValue
484         * vapi/gtk+-2.0.vala: small updates
486 2006-07-31  Jürg Billeter  <j@bitron.ch>
488         * vala/parser.y: support prefix increment and decrement, fix parsing
489           opening parens
490         * vala/valasemanticanalyzer.vala: fix some bugs in error handling,
491           support prefix increment and decrement
492         * vala/valacodegenerator.vala: support prefix increment and decrement
493         * vala/valanamespace.vala: add interface documentation, use implicit
494           namespace specification
495         * vala/valaunaryexpression.vala: support prefix increment and decrement
496         * ccode/valaccodeunaryexpression.vala: support prefix increment and
497           decrement
498         * vapi/glib-2.0.vala: add Environment struct
500 2006-07-27  Jürg Billeter  <j@bitron.ch>
502         * vala/scanner.l: support CASE, DEFAULT, DO, and SWITCH
503         * vala/parser.y: support switch and do statements
504         * vala/valacodevisitor.vala: add support for switch and do statements
505         * vala/valadostatement.vala
506         * vala/valaswitchlabel.vala
507         * vala/valaswitchsection.vala
508         * vala/valaswitchstatement.vala
509         * vala/valastatement.vala, vala/valasymbol.vala,
510           vala/valaunaryexpression.vala, vala/valavariabledeclarator.vala,
511           vala/valawhilestatement.vala: add interface documentation, use
512           implicit namespace specification
513         * vala/vala.h, vala/Makefile.am: update
514         * vapi/glib-2.0.vala: don't use default keyword
516 2006-07-27  Jürg Billeter  <j@bitron.ch>
518         * vala/parser.y: support for loops with local variable declaration in
519           initializer
521 2006-07-27  Jürg Billeter  <j@bitron.ch>
523         * vala/parser.y: don't require developer to explicitly write static in
524           namespace field declarations, support type parameters in interfaces
525           and callbacks
526         * vala/valasymbolresolver.vala: support interfaces and callbacks
527         * vala/valasemanticanalyzer.vala: use is_subtype_of method, support
528           callbacks in fields
529         * vala/valamemorymanager.vala: support callbacks in fields
530         * vala/valacodegenerator.vala: support callbacks in fields
531         * vala/valacallback.vala: support type parameters
532         * vala/valaclass.vala: add is_subtype_of method
533         * vala/valadatatype.vala: add is_subtype_of method
534         * vala/valainterface.vala: add is_subtype_of method
536 2006-07-26  Jürg Billeter  <j@bitron.ch>
538         * vala/scanner.l: support casting arrays
539         * vala/parser.y: don't require developer to explicitly write static in
540           namespace method declarations
541         * vala/valaarray.vala: correct cname for arrays with value-type elements
542         * vala/valacodenode.vala: save source line reference in ccodenode
543         * ccode/valaccodelinedirective.vala
544         * ccode/valaccodenode.vala: support source line reference
545         * ccode/Makefile.am: update
546         * vapi/glib-2.0.vala: add to_string methods to integer types, add size
547           method to string, add u_sleep method to Thread, fix memory management
548           in List and SList, add sort method to List
550 2006-07-19  Jürg Billeter  <j@bitron.ch>
552         * vala/valatypereference.vala: use more expressive property names, add
553           stricter () method
554         * vala/parser.y, vala/valasymbolbuilder.vala,
555           vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala,
556           vala/valamemorymanager.vala, vala/valacodegenerator.vala,
557           vala/valainterfacewriter.vala, vala/valasourcefile.vala,
558           vala/valacallback.vala, vala/valaclassregisterfunction.vala,
559           vala/valasignal.vala: adapt to changes in TypeReference
560         * vala/valasourcefile.vala: replace public fields by properties /
561           private fields
562         * vala/valacodecontext.vala: adapt to changes in SourceFile
563         * vala/valaparser.vala: correct handling of source files without header
564           comments
565         * vala/valasymbolbuilder.vala: don't generate code for VAPI files
566         * vala/valasemanticanalyzer.vala: report error respectively warning if
567           method return type misses ownership transfer
568         * vala/valainterfacewriter.vala: correct property declaration output
569         * vala/valaparser.vala, vala/valasourcefile.vala, vala/valaliteral.vala,
570           vala/valamemberaccessibility.vala, vala/valanamedargument.vala,
571           vala/valanamespacereference.vala, vala/valatypereference.vala: add
572           interface documentation, use implicit namespace specification
574 2006-07-18  Jürg Billeter  <j@bitron.ch>
576         * vala/valasymbolresolver.vala: make sure that current_scope isn't null
577         * vala/valamemorymanager.vala: start to support memory management with
578           generics
579         * vala/valacodegenerator.vala: support iteration over SList, properties
580           without accessor methods
581         * vapi/glib-2.0.vala: add string.hash (), Error fields and SList
582         * vapi/gtk+-2.0.vala: add StatusIcon class
583         * README: mention exceptions
585 2006-07-16  Jürg Billeter  <j@bitron.ch>
587         * configure.ac: Post-release version bump.
588         * vala/parser.y: remove g_object_unref call to fix crash in parsing
589           array declarations
590         * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
591           creating structs
592         * vapi/glib-2.0.vala: GString enhancements
593         * vapi/Makefile.am: dist gtk+-2.0.vala and pango.vala
595 2006-07-15  Jürg Billeter  <j@bitron.ch>
597         * NEWS: update for 0.0.1 release
598         * README: add introduction
599         * COPYING: replace by LGPL
600         * compiler/valacompiler.vala: add /usr/local/share/vala/vapi ad default
601           vapi search dir
602         * vapi/glib-2.0.vala: File and HashTable enhancements
604 2006-07-14  Raffaele Sandrini  <rasa@gmx.ch>
606         * vala/valacodegenerator.vala, vala/valasymbolresolver.vala,
607           vala/scanner.l, vala/valatypereference.vala,
608           vala/valasemanticanalyzer.vala, vala/valaelementaccess.vala,
609           vala/valadatatype.vala, vala/parser.y, vala/valaarray.vala,
610           vala/valacodevisitor.vala, ccode/valaccodeelementaccess.vala: add
611           element access support
612         * vala/valasemanticanalyzer.vala: add visit_postfix_expression
613           implementation
614         * tests/test-019.vala: add element access testcase
615         * vala/Makefile.am, tests/Makefile.am, ccode/Makefile.am: update
617 2006-07-14  Jürg Billeter  <j@bitron.ch>
619         * vala/valacodecontext.vala: ignore file-internal dependencies
620         * vala/valasemanticanalyzer.vala: mark string literals as non-null, add
621           some implicit casts
622         * vala/valamemorymanager.vala: only check for leaks with reference
623           types, manage memory in field initializers
624         * vala/valacodegenerator.vala: add non-null parameter typechecks for
625           structs, simplify ref expression if expression is known to be non-null
626         * vapi/glib-2.0.vala: unichar, string, String, and Path enhancements,
627           add Base64 and Dir
629 2006-07-10  Jürg Billeter  <j@bitron.ch>
631         * vala/parser.y: adapt to changes in InvocationExpression,
632           LocalVariableDeclaration, and InitializerList
633         * vala/valasemanticanalyzer.vala: add some implicit casts, fix assigning
634           callback to field, adapt to changes in InvocationExpression
635         * vala/valamemorymanager.vala: adapt to change in InvocationExpression
636         * vala/valacodegenerator.vala: fix signal handler without parameters,
637           fix access to value-type struct members, adapt to changes in
638           LocalVariableDeclaration, InitializerList, and InvocationExprssion
639         * vala/valaclass.vala: don't let private static fields influence
640           has_private_fields, correct marshaller type name
641         * vala/valaifstatement.vala, vala/valainitializerlist.vala,
642           vala/valainstancecast.vala, vala/valaintegerliteral.vala,
643           vala/valainvocationexpression.vala, vala/valaliteralexpression.vala,
644           vala/valalocalvariabledeclaration.vala: add interface documentation,
645           use implicit namespace specification
646         * compiler/valacompiler.vala: fix --vapidir handling
647         * vapi/glib-2.0.vala: add MainLoop, MainContext, IdleSource, Source, and
648           Thread
650 2006-07-08  Jürg Billeter  <j@bitron.ch>
652         * vala/valasemanticanalyzer.vala: don't allow write access to read-only
653           properties
654         * vala/valacodegenerator.vala: adapt to changes in CCodeFragment and
655           CCommaExpression
656         * vala/valapostfixexpression.vala, ccode/valaccodebinaryexpression.vala,
657           ccode/valaccodeblock.vala, ccode/valaccodebreakstatement.vala,
658           ccode/valaccodecasestatement.vala,
659           ccode/valaccodecommaexpressoin.vala, ccode/valaccodecomment.vala,
660           ccode/valaccodeconditionalexpression.vala,
661           ccode/valaccodeconstant.vala, ccode/valaccodecontinuestatement.vala,
662           ccode/valaccodedeclaration.vala, ccode/valaccodedeclarator.vala,
663           ccode/valaccodeenum.vala, ccode/valaccodeemptystatement.vala,
664           ccode/valaccodeexpressionstatement.vala,
665           ccode/valaccodeformalparameter.vala, ccode/valaccodeforstatement.vala,
666           ccode/valaccodefragment.vala, ccode/valaccodefunction.vala,
667           ccode/valaccodefunctioncall.vala,
668           ccode/valaccodefunctiondeclarator.vala,
669           ccode/valaccodeidentifier.vala, ccode/valaccodeifstatement.vala,
670           ccode/valaccodeincludedirective.vala,
671           ccode/valaccodeinitializerlist.vala,
672           ccode/valaccodemacroreplacement.vala,
673           ccode/valaccodememberaccess.vala, ccode/valaccodemodifiers.vala,
674           ccode/valaccodenewline.vala, ccode/valaccodeoncesection.vala,
675           ccode/valaccodeparenthesizedexpression.vala,
676           ccode/valaccodereturnstatement.vala, ccode/valaccodestatement.vala,
677           ccode/valaccodestruct.vala, ccode/valaccodeswitchstatement.vala,
678           ccode/valaccodeunaryexpression.vala,
679           ccode/valaccodevariabledeclarator.vala,
680           ccode/valaccodewhilestatement.vala, ccode/valaccodewriter.vala: add
681           interface documentation, use implicit namespace specification
683 2006-07-08  Jürg Billeter  <j@bitron.ch>
685         * vala/valasemanticanalyzer.vala: don't allow access to private members
687 2006-07-08  Jürg Billeter  <j@bitron.ch>
689         * vala/valasemanticanalyzer.vala: check method signatures of overriding
690           methods
691         * vala/parser.y, vala/valaclassregisterfunction.vala,
692           vala/valatyperegisterfunction.vala: support abstract classes
693         * vala/valamethod.vala: add equals method
694         * vala/valatypereference.vala: add equals method
695         * corrects overriding methods to match signatures of overridden methods
696           to fix build with current compiler
698 2006-07-08  Jürg Billeter  <j@bitron.ch>
700         * vala/parser.y, vala/valacodegenerator.vala: adapt to ForStatement API
701           changes
702         * vala/valaclass.vala: make {get,set}_lower_case_csuffix methods private
703         * vala/valaenum.vala, vala/valaenumvalue.vala,
704           vala/valaexpressionstatement.vala, vala/valafield.vala,
705           vala/valaflags.vala, vala/valaflagsvalue.vala,
706           vala/valaforeachstatement.vala, vala/valaforstatement.vala: add
707           interface documentation, use implicit namespace specification
709 2006-07-08  Jürg Billeter  <j@bitron.ch>
711         * vala/parser.y: adapt to Method API changes
712         * vala/valasemanticanalyzer.vala: support signals, mark private signal
713           handlers as instance_last
714         * vala/valamemorymanager.vala: support signals
715         * vala/valacodegenerator.vala: support signals, methods with
716           instance_last
717         * vala/valaclass.vala: add get_type_id and get_marshaller_type_name
718           methods
719         * vala/valadatatype.vala: add get_marshaller_type_name method
720         * vala/valastruct.vala: move type_id attribute to CCode, support
721           marshaller_type_name attribute
722         * vala/valainterfacewriter.vala, vala/valamethod.vala,
723           vala/valastruct.vala, ccode/valaccodeexpression.vala,
724           ccode/valaccodenode.vala: add interface documentation, use implicit
725           namespace specification
726         * vala/valacallback.vala, vala/valasignal.vala: improve documentation
727         * ccode/valaccodecastexpression.vala: type cast in C code
728         * ccode/Makefile.am: update
729         * tests/test-018.vala: test signals
730         * tests/Makefile.am: update
731         * vapi/glib-2.0.vala: add type_id and marshaller_type_name attributes
733 2006-07-07  Jürg Billeter  <j@bitron.ch>
735         * vala/valacodegenerator.vala, vala/valaclassregisterfunction.vala:
736           support interfaces
737         * vala/parser.y, vala/valasemanticanalyzer.vala,
738           vala/valalambdaexpression.vala: support lambda expressions with
739           statement body
740         * vala/valaclassregisterfunction.vala, vala/valaemptystatement.vala,
741           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
742           vala/valatyperegisterfunction.vala: add interface documentation, use
743           implicit namespace specification
744         * tests/test-015.vala: test lambda expressions with statement body
745         * tests/test-017.vala: test interfaces
746         * tests/Makefile.am: update
748 2006-07-07  Jürg Billeter  <j@bitron.ch>
750         * vala/valaconstructor.vala, vala/valacontinuestatement.vala,
751           vala/valadeclarationstatement.vala, vala/valadestructor.vala: add
752           interface documentation, use implicit namespace specification
754 2006-07-07  Jürg Billeter  <j@bitron.ch>
756         * vala/valacodecontext.vala: use continue statements to decrease
757           indentation levels
758         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
759           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
760           vala/valacodegenerator.vala, vala/valaconditionalexpression.vala,
761           vala/valaconstant.vala: add interface documentation, use implicit
762           namespace specification
763         * vala/valasemanticanalyzer.vala: check that if, while, for, and
764           conditional expression conditions are boolean
765         * vala/valaclass.vala: remove dummy accessor, breaks build with old
766           vala compiler
767         * compiler/valacompiler.vala: use implicit namespace specification
768         * tests/test-016.vala: test conditional expressions
769         * tests/Makefile.am: update
771 2006-07-07  Jürg Billeter  <j@bitron.ch>
773         * vala/valacodecontext.vala: add interface documentation, use implicit
774           namespace specification
775         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
776           vala/valasemanticanalyzer.vala: adapt to change in CodeContext
778 2006-07-06  Jürg Billeter  <j@bitron.ch>
780         * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
781           vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
782           vala/valacodegenerator.vala, vala/valatypereference.vala, vala/vala.h,
783           vala/Makefile.am: merge SimpleName into MemberAccess
784         * vala/valasymbolresolver.vala, vala/valainterfacewriter.vala: adapt to
785           change in Class
786         * vala/valasemanticanalyzer.vala: support non-static lambda expressions
787           and lambda expressions without return values
788         * vala/valacodegenerator.vala: support conditional expressions, support
789           lambda expressions as signal handlers, support read-only and
790           write-only properties
791         * vala/valacodevisitor.vala, vala/valamemorymanager.vala,
792           vala/valaassignment.vala: visit at beginning and end
793         * vala/valacallback.vala: add instance property
794         * vala/valasignal.vala: add get_callback method
795         * vala/valacastexpression.vala, vala/valacharacterliteral.vala,
796           vala/valaclass.vala, vala/valamemberaccess.vala, vala/valasignal.vala:
797           add interface documentation, use implicit namespace specification
799 2006-07-05  Jürg Billeter  <j@bitron.ch>
801         * vala/parser.y: don't pass parameter list to lambda expression
802           contructor
803         * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
804           vala/valacodegenerator.vala: support static lambda expressions and
805           nested methods
806         * vala/valainvocationexpression.vala: visit call node before visiting
807           begin of invocation expression
808         * vala/valaformalparameter.vala, vala/valalambdaexpression.vala: add
809           interface documentation, use implicit namespace specification
810         * vala/valamethod.vala: allow nested methods
811         * tests/test-015.vala: test lambda expressions
812         * tests/Makefile.am: update
814 2006-07-04  Jürg Billeter  <j@bitron.ch>
816         * vala/parser.y: support implicit namespace specification in callback
817           declaration
818         * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
819           vala/valacodegenerator.vala: support callbacks
820         * vala/valaassignment.vala, vala/valabinaryexpression.vala: improve
821           documentation
822         * vala/valabooleanliteral.vala, vala/valabreakstatement.vala,
823           vala/valacallback.vala: add interface documentation, use implicit
824           namespace specification
825         * vala/valacallback.vala: add matches_method method, mark as
826           non-reference type
827         * ccode/valaccodetypedefinition.vala: replace typedef_name by
828           declarator, add interface documentation, use implicit namespace
829           specification
830         * tests/test-013.vala: test break
831         * tests/test-014.vala: test callback
832         * tests/Makefile.am: update
834 2006-07-04  Jürg Billeter  <j@bitron.ch>
836         * vala/valablock.vala: add interface documentation, use implicit
837           namespace specification
838         * tests/test-011.vala: test binary expressions
839         * tests/test-012.vala: test blocks
840         * configure.ac, Makefile.am, tests/Makefile.am: distribute tests
842 2006-07-04  Jürg Billeter  <j@bitron.ch>
844         * vala/valacodevisitor.vala, vala/valaattributeprocessor.vala,
845           vala/valabinaryexpression.vala: add interface documentation, use
846           implicit namespace specification
847         * vala/valaassignment.vala, vala/valaattribute.vala: documentation
848           corrections
850 2006-07-04  Jürg Billeter  <j@bitron.ch>
852         * vala/valacodegenerator.vala: generate assignment with appropriate
853           operator
854         * vala/valaassignment.vala: use implicit namespace specification
855         * ccode/valaccodeassignment.vala: support assignment operators , add
856           interface documentation, use implicit namespace specification
857         * tests/test-010.vala: test assignments
859 2006-07-03  Jürg Billeter  <j@bitron.ch>
861         * vala/parser.y: support implicit namespace specification in struct,
862           interface, enum, and flags declaration
863         * vala/valasymbolbuilder.vala: report error when declaring non-static
864           namespace methods
865         * vala/valasemanticanalyzer.vala: analyze return statements
866         * vala/valacodegenerator.vala: correctly set GParamFlags for properties,
867           initialize static variables, add preconditions to property accessors,
868           support namespace methods
869         * vala/valaassignment.vala, vala/valaattribute.vala: add interface
870           documentation, use implicit namespace specification
871         * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
872           tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
873           tests/test-007.vala, tests/test-008.vala, tests/test-009.vala:
874           update test cases to print test values
876 2006-06-30  Jürg Billeter  <j@bitron.ch>
878         * vala/valacodenode.vala, vala/valadatatype.vala,
879           vala/valaexpression.vala: use implicit namespace specification,
880           reformat code
882 2006-06-30  Jürg Billeter  <j@bitron.ch>
884         * vala/parser.y: support implicit namespace specification in class
885           declaration
887 2006-06-29  Jürg Billeter  <j@bitron.ch>
889         * vala/valacodegenerator.vala, vala/valaclass.vala,
890           vala/valadatatype.vala, vala/valastruct.vala: distinguish between
891           ref_function/unref_function and dup_function/free_function
892         * vala/valadatatype.vala: add interface documentation
893         * vapi/glib-2.0.vala: use dup_function attribute, keep ref_function for
894           compatibility
896 2006-06-29  Jürg Billeter  <j@bitron.ch>
898         * vala/valacodenode.vala, vala/valaexpression.vala: add interface
899           documentation
901 2006-06-28  Jürg Billeter  <j@bitron.ch>
903         * vala/valasymbolbuilder.vala: add private add_symbol helper method
904         * vala/valasymbolresolver.vala: tiny refactoring of GObject lookup
905         * vala/valasemanticanalyzer.vala: use get_parameters method of Callback
906         * vala/valacallback.vala, vala/valaintegerliteral.vala,
907           vala/valarealliteral.vala, vala/valastringliteral.vala: replace public
908           fields by properties / private fields, don't mark properties as
909           construct-only, use non-null types
910         * vala/valaattribute.vala, vala/valacodenode.vala,
911           vala/valaconstructor.vala, vala/valadatatype.vala,
912           vala/valadestructor.vala, vala/valaenumvalue.vala,
913           vala/valaexpression.vala, vala/valafield.vala,
914           vala/valaflagsvalue.vala, vala/valaformalparameter.vala,
915           vala/valaliteral.vala, vala/valalocalvariabledeclaration.vala,
916           vala/valamethod.vala, vala/valanamedargument.vala,
917           vala/valanamespace.vala, vala/valanamespacereference.vala,
918           vala/valaproperty.vala, vala/valapropertyaccessor.vala,
919           vala/valasignal.vala, vala/valastatement.vala,
920           vala/valatypeparameter.vala, vala/valatypereference.vala,
921           vala/valavariabledeclarator.vala: move source_reference to CodeNode
923 2006-06-28  Jürg Billeter  <j@bitron.ch>
925         * vala/valabooleanliteral.vala, vala/valacharacterliteral.vala,
926           vala/valaintegerliteral.vala, vala/valaliteral.vala,
927           vala/valanullliteral.vala, vala/valarealliteral.vala,
928           vala/valastringliteral.vala: move source_reference to Vala.Literal,
929           use non-null types, don't mark properties as construct-only
931 2006-06-26  Jürg Billeter  <j@bitron.ch>
933         * vala/parser.y: plug some memory leaks, adapt to Vala.Block changes
934         * vala/valaattribute.vala, vala/valabinaryexpression.vala,
935           vala/valablock.vala, vala/valabooleanexpression.vala,
936           vala/valabreakstatement.vala, vala/valaliteral.vala,
937           vala/valastatement.vala: replace public fields by properties / private
938           fields, don't mark properties as construct-only, use non-null types
939         * vala/valadatatype.vala: renamed from Vala.Type_ to Vala.DataType
940         * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
941           vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
942           vala/valasourcefile.vala, vala/valacallback.vala, vala/valaclass.vala,
943           vala/valaclassregisterfunction.vala, vala/valaconstant.vala,
944           vala/valaenum.vala, vala/valaflags.vala, vala/valainstancecast.vala,
945           vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
946           vala/valamethod.vala, vala/valastruct.vala,
947           vala/valatypeparameter.vala, vala/valatypereference.vala,
948           vala/valatypergisterfunction.vala: adapt to renaming of Vala.Type_ to
949           Vala.DataType
950         * vala/Makefile.am: update
952 2006-06-22  Jürg Billeter  <j@bitron.ch>
954         * vala/valaassignment.vala: don't mark properties as construct-only,
955           use non-null types
956         * vala/valacodenode.vala: use non-null type
957         * vala/valaexpression.vala: replace public fields by properties
959 2006-06-22  Jürg Billeter  <j@bitron.ch>
961         * vala/parser.y: replace specialized interface member declarations by
962           standard member declarations to allow non-abstract methods in
963           interfaces
964         * vala/valacodegenerator.vala: cast instance in property setter
965           invocations
967 2006-06-22  Jürg Billeter  <j@bitron.ch>
969         * vala/scanner.l: support LAMBDA and CALLBACK
970         * vala/parser.y: support callbacks and lambda expressions
971         * vala/valacodevisitor.vala: add visit methods for callbacks and lambda
972           expressions
973         * vala/valasymbolbuilder.vala: use non-null parameter types, support
974           callbacks
975         * vala/valasemanticanalyzer.vala: partially support interface methods,
976           support callback invocations
977         * vala/valamemorymanager.vala: support callback invocations
978         * vala/valacodegenerator.vala: partially support interface methods
979         * vala/valacallback.vala: initial implementation
980         * vala/valacodenode.vala: replace public fields by properties
981         * vala/valaexpression.vala: add expected_type field
982         * vala/valainvocationexpression.vala: also visit at beginning
983         * vala/valalambdaexpression.vala
984         * vala/valanamespace.vala: support callbacks
985         * vala/vala.h: update
986         * vala/Makefile.am: update
988 2006-06-18  Jürg Billeter  <j@bitron.ch>
990         * vala/scanner.l: support TYPEOF
991         * vala/parser.y: support typeof expressions, out ref parameters, and
992           enum attributes
993         * vala/valacodevisitor.vala: add visit method for typeof expressions
994         * vala/valaattributeprocessor.vala: use non-null parameter types,
995           support enums and properties
996         * vala/valasemanticanalyzer.vala: support floating references
997         * vala/valamemorymanager.vala: ignore signal connections
998         * vala/valacodegenerator.vala: reset temp variable id at beginning of
999           each file, fix out parameters, support properties without accessor
1000           methods, support floating references, add typeof expression, support
1001           static signal handlers
1002         * vala/valaclass.vala: use default arguments
1003         * vala/valaenum.vala: support cname, cprefix, and cheader_filename
1004           attributes
1005         * vala/valaenumvalue.vala: use Enum.get_cprefix ()
1006         * vala/valamethod.vala: support FloatingReference attribute
1007         * vala/valanamespace.vala: use default arguments
1008         * vala/valaproperty.vala: support NoAccessorMethod attribute
1009         * vala/valastruct.vala: support type_id
1010         * vala/valatype.vala: add abstract get_type_id method
1011         * vala/valatypeofexpression.vala
1012         * vala/valatypereference.vala: add floating_reference property, correct
1013           to_string method signature
1014         * vala/vala.h: update
1015         * vala/Makefile.am: update
1016         * vapi/glib-2.0.vala: add GInitiallyUnowned
1017         * vapi/gtk+-2.0.vala: start of a GTK+ binding
1018         * vapi/pango.vala: start of a Pango binding
1020 2006-06-17  Jürg Billeter  <j@bitron.ch>
1022         * vala/scanner.l: don't leak comment texts, support generic types with
1023           weak arguments
1024         * vala/parser.y: plug most memory leaks
1025         * vala/valacodecontext.vala: work around memory management issues
1026         * vala/valasourcefile.vala: break reference cycles
1027         * vala/valasourcefilecycle.vala: break reference cycles
1028         * vala/valasymbolbuilder.vala: store `this` and `value` parameters in
1029           appropriate member node
1030         * vala/valasymbolresolver.vala: break reference cycle
1031         * vala/valasemanticanalyzer.vala: break reference cycle, promote local
1032           variables with ownership transferring initializer, store foreach
1033           variable declarator in statement object, assignments to properties
1034           don't take value ownership, make null type checks behave well on
1035           either side of a comparison
1036         * vala/valamemorymanager.vala: add support for named arguments,
1037           properties, and ellipsis parameter
1038         * vala/valacodegenerator.vala: add dispose function, register properties
1039           with static strings, don't leak strings when setting properties,
1040           support freeing string arrays, support freeing lists with allocated
1041           items, free local variables before return statements, free old value
1042           on assignments
1043         * vala/valainterfacewriter.vala: output more type reference information
1044         * vala/valaforeachstatement.vala: reference variable_declarator
1045         * vala/valaforstatement.vala: correct generic type arguments
1046         * vala/valamethod.vala: break reference cycle
1047         * vala/valaproperty.vala: reference this_parameter, add
1048           get_canoncial_cconstant method
1049         * vala/valapropertyaccessor.vala: reference value_parameter
1050         * vala/valasimplename.vala: remove unneeded type_argument_list
1051           parameter from constructor
1052         * vala/valasourcereference.vala: let to_string transfer ownership
1053         * vala/valastruct.vala: correct generic type argument
1054         * vala/valasymbol.vala: improve memory management
1055         * vala/valatype.vala: break reference cycles, let get_lower_case_cname
1056           transfer ownership
1057         * vala/valatypereference.vala: break reference cycle, use
1058           type_argument_list
1059         * vala/vala.h: add valaflags.h
1060         * ccode/valaccodefunction.vala: work around missing list deep copy
1061         * ccode/valaccodewriter.vala: don't manually free objects
1062         * compiler/valacompiler.vala: enable memory management by default,
1063           valac doesn't work anymore without memory management
1064         * vapi/glib-2.0.vala: add memory management information
1066 2006-06-15  Jürg Billeter  <j@bitron.ch>
1068         * vala/valasemanticanalyzer.vala: add local variables to block
1069         * vala/valamemorymanager.vala: analyze local variable initializers
1070         * vala/valacodegenerator.vala: free local variables at end of block,
1071           only free non-null variables, use some strong references due to memory
1072           manager deficiencies
1073         * vala/valablock.vala: use non-null parameter types, add local variable
1074           declarators
1075         * vala/valaenum.vala: let get_upper_case_cname transfer ownership
1076         * vala/valastruct.vala: add free_function attribute
1077         * ccode/valaccodewriter.vala: set freed values to null
1078         * vapi/glib-2.0.vala: add free functions
1080 2006-06-15  Raffaele Sandrini <rasa@gmx.ch>
1082         * vapi/libxml-2.0.vala: add basic libxml2 reader support
1083         * vapi/Makefile.am: add libxml-2.0.vala
1085 2006-06-14  Jürg Billeter  <j@bitron.ch>
1087         * vala/parser.y: set is_lvalue_ref in property declarations
1088         * vala/valacodecontext.vala: use non-null parameter types
1089         * vala/valasymbolresolver.vala: fix lookup in namespaces of using
1090           directives, reset is_lvalue_ref where appropriate
1091         * vala/valasemanticanalyzer.vala: use non-null parameter types,
1092           correctly set is_ref and is_lvalue_ref in variable declarators
1093         * vala/valamemorymanager.vala: support methods which transfer ownership
1094           of arguments and or return value, analyze assignments
1095         * vala/valacodegenerator.vala: add missing reference increment calls,
1096           small memory management improvements
1097         * vala/valaclass.vala: use non-null parameter types
1098         * vala/valaexpression.vala: add ref_missing
1099         * vala/valastruct.vala: support ref_function attribute, use non-null
1100           parameter types
1101         * vala/valatype.vala: let get_upper_case_cname return ref string
1102         * vala/valatypereference.vala: add copy method
1103         * ccode/valaccodeconditionalexpression.vala
1104         * ccode/valaccodefunctioncall.vala: use non-null parameter types
1105         * ccode/Makefile.am: update
1106         * compiler/valacompiler.vala: process attributes before resolving
1107           symbols to have reference_type information available in resolver
1108         * vapi/glib-2.0.vala: add ref_function attributes to string and List,
1109           use ref parameters in List and HashTable until the compiler can handle
1110           it correctly
1112 2006-06-14  Jürg Billeter  <j@bitron.ch>
1114         * vala/parser.y: set is_lvalue_ref for variables and fields
1115         * vala/valasemanticanalyzer.vala: variables and fields never transfer
1116           ownership as rvalue
1117         * vala/valamemorymanager.vala: use non-null parameter types, analyze
1118           return statements
1119         * vala/valacodegenerator.vala: use non-null parameter types, support
1120           memory management for temporary variables in variable initializers,
1121           initialize all uninitialized references to null
1122         * vala/valareturnstatement.vala: visit end of full expression
1123         * vala/valatypereference.vala: add is_lvalue_ref property
1124         * vala/valavariabledeclarator.vala: visit end of full expression
1126 2006-06-14  Jürg Billeter  <j@bitron.ch>
1128         * vala/valacodevisitor.vala: use non-null parameter types, add visit
1129           method for full expressions
1130         * vala/valasymbolresolver.vala: add some missing casts
1131         * vala/valasemanticanalyzer.vala: support memory management for
1132           temporary variables
1133         * vala/valamemorymanager.vala: visitor to detect leaked references
1134         * vala/valacodegenerator.vala: add automatic memory management for
1135           temporary variables, add some missing casts
1136         * vala/valaassignment.vala: move source_reference to Expression
1137         * vala/valabinaryexpression.vala: move source_reference to Expression
1138         * vala/valacastexpression.vala: move source_reference to Expression
1139         * vala/valaconditionalexpression.vala: move source_reference to
1140           Expression
1141         * vala/valaclass.vala: implement memory management methods
1142         * vala/valaexpression.vala: add source_reference, ref_leaked, and
1143           temp_vars
1144         * vala/valaforstatement.vala: visit end of full expression
1145         * vala/valaifstatement.vala: visit end of full expression
1146         * vala/valainitializerlist.vala: move source_reference to Expression
1147         * vala/valainvocationexpression.vala: move source_reference to
1148           Expression
1149         * vala/valaliteralexpression.vala: move source_reference to Expression
1150         * vala/valamemberaccess.vala: move source_reference to Expression
1151         * vala/valaobjectcreationexpression.vala: move source_reference to
1152           Expression
1153         * vala/valaparenthesizedexpression.vala: move source_reference to
1154           Expression
1155         * vala/valapostfixexpression.vala: move source_reference to Expression
1156         * vala/valasimplename.vala: move source_reference to Expression
1157         * vala/valastruct.vala: implement memory management methods
1158         * vala/valatype.vala: add abstract is_reference_counting,
1159           get_ref_function, and get_free_function methods
1160         * vala/valatypecheck.vala: move source_reference to Expression
1161         * vala/valaunaryexpression.vala: move source_reference to Expression
1162         * vala/valawhilestatement.vala: visit end of full expression
1163         * vala/Makefile.am: update
1164         * ccode/valaccodecommaexpression.vala
1165         * ccode/Makefile.am: update
1166         * compiler/valacompiler.vala: add enable-memory-management option
1167         * vapi/glib-2.0.vala: minor GType enhancements
1169 2006-06-07  Jürg Billeter  <j@bitron.ch>
1171         * vala/valacodegenerator.vala: fix cname of constants, casts of self
1173 2006-06-07  Jürg Billeter  <j@bitron.ch>
1175         * vala/valasemanticanalyzer.vala: add missing source dependencies
1176         * vala/valacodegenerator.vala: check parameter types at runtime
1178 2006-06-07  Jürg Billeter  <j@bitron.ch>
1180         * vala/scanner.l: support REAL_LITERAL, TILDE, SIGNAL
1181         * vala/parser.y: support flags, signals, constructors, destructors, real
1182           literals, assignment operators, and non-null types
1183         * vala/valacodevisitor.vala: add visit methods for signals,
1184           constructors, destructors, and real literals
1185         * vala/valasymbolbuilder.vala: support signals, constructors,
1186           destructors
1187         * vala/valasemanticanalyzer.vala: support constructors, real literals,
1188           and default arguments, fix lookup in namespaces of using directives
1189         * vala/valacodegenerator.vala: use default arguments and type register
1190           function classes, support constructors, interfaces, real literals,
1191           default arguments, casts, and signals, cast method arguments if
1192           necessary
1193         * vala/valasourcefile.vala: use default arguments
1194         * vala/valaassignment.vala: add operator
1195         * vala/valacallback.vala: skeleton for callbacks
1196         * vala/valaclass.vala: add signals, constructor, and destructor
1197         * vala/valaclassregisterfunction.vala: get_type function for classes
1198         * vala/valaconstant.vala: use default arguments
1199         * vala/valaconstructor.vala
1200         * vala/valadestructor.vala
1201         * vala/valaenum.vala: use default arguments
1202         * vala/valaflags.vala
1203         * vala/valaflagsvalue.vala: 
1204         * vala/valaformalparameter.vala: add default_expression
1205         * vala/valainstancecast.vala: dynamic instance cast
1206         * vala/valainterface.vala: add signals
1207         * vala/valainterfaceregisterfunction.vala: get_type function for
1208           interfaces
1209         * vala/valanamespace.vala: add flags, use default arguments
1210         * vala/valaproperty.vala: use default arguments
1211         * vala/valarealliteral.vala: 
1212         * vala/valasignal.vala
1213         * vala/valastruct.vala: use default arguments
1214         * vala/valastringliteral.vala: use default arguments
1215         * vala/valatypereference.vala: add is_weak property
1216         * vala/valatyperegisterfunction.vala
1217         * vala/vala.h: update
1218         * vala/Makefile.am: update
1219         * ccode/valaccodeblock.vala: add prepend_statement method
1220         * ccode/valaccodewriter.vala: correctly indent multi-line comments
1221         * vapi/glib-2.0.vala: add float and double, use default arguments,
1222           temporarily remove astring
1224 2006-05-31  Jürg Billeter  <j@bitron.ch>
1226         * vala/parser.y: support interfaces, adapt to Class/Struct/Type changes,
1227           improve error handling
1228         * vala/valacodevisitor.vala: support interfaces
1229         * vala/valasymbolbuilder.vala: improve error handling
1230         * vala/valasymbolresolver.vala: use operators to compare strings
1231         * vala/valasemanticanalyzer.vala: improve error handling, convert method
1232           argument and type mismatch warnings to errors, add skeleton for
1233           expressoin type checks, support string comparison operators
1234         * vala/valacodegenerator.vala: fix warning, create structs for
1235           interfaces, adapt to Class/Struct/Type changes, refactor and fix code
1236           in visit_simple_name and visit_member_access, use operators to compare
1237           strings
1238         * vala/valainterfacewriter.vala: use operators to compare strings
1239         * vala/valasourcefile.vala: fix warnings
1240         * vala/valaclass.vala: don't inherit from Struct
1241         * vala/valacodenode.vala: add error flag
1242         * vala/valaconstant.vala: add get_cname method
1243         * vala/valaenum.vala: override get_upper_case_cname method
1244         * vala/valaenumvalue.vala: adapt to Class/Struct/Type changes
1245         * vala/valafield.vala: use operators to compare strings
1246         * vala/valainterface.vala
1247         * vala/valainvocationexpression.vala: add add_argument method
1248         * vala/valamethod.vala: adapt to Class/Struct/Type changes, use
1249           operators to compare strings
1250         * vala/valanamespace.vala: support interfaces, use operators to compare
1251           strings
1252         * vala/valastringliteral.vala: fix warning
1253         * vala/valastruct.vala: inline visit_children method, use operators to
1254           compare strings
1255         * vala/valatype.vala: add abstract get_lower_case_cname method
1256         * vala/valatypereference.vala: add to_string method
1257         * vala/vala.h: update
1258         * vala/Makefile.am: update
1259         * vapi/glib-2.0.vala: small fixes
1261 2006-05-26  Jürg Billeter  <j@bitron.ch>
1263         * vala/valasemanticanalyzer.vala: fix member access to namespaces
1264         * vala/valacodegenerator.vala: adapt to CCodeWriter changes
1265         * ccode/valaccodewriter.vala: don't touch file if nothing has changed,
1266           required to get incremental builds working
1267         * vapi/glib-2.0.vala: extend file functions
1268         
1269         * ccode/Makefile.am,vala/Makefile.am,compiler/Makefile.am: support
1270           incremental builds
1272 2006-05-25  Jürg Billeter  <j@bitron.ch>
1274         * vala/scanner.l: support ELLIPSIS, use g_strdup instead of strdup
1275         * vala/parser.y: support variable argument lists, type access modifiers
1276         * vala/valareport.vala: class to handle error reporting
1277         * vala/valasymbolbuilder.vala: switch to new error reporting scheme
1278         * vala/valasymbolresolver.vala: switch to new error reporting scheme
1279         * vala/valasemanticanalyzer.vala: process Constant and EnumValue symbol
1280           dependencies, check method argument types, find types of unary and
1281           binary expressions, remove dummy field, switch to new error reporting
1282           scheme
1283         * vala/valacodegenerator.vala: support calling functions with variable
1284           argument lists, support break and continue statements, remove dummy fields,
1285           switch to new error reporting scheme
1286         * vala/valainterfacewriter.vala: visitor to write public vala api in one
1287           file
1288         * vala/valasourcefile.vala: support field and property symbol
1289           dependencies, remove dummy field
1290         * vala/valaclass.vala: add is_abstract field
1291         * vala/valaenumvalue.vala: remove dummy field
1292         * vala/valaformalparameter.vala: add ellipsis property
1293         * vala/valamemberaccessibility.vala: add INTERNAL
1294         * vala/valamethod.vala: make parameters public, remove dummy field
1295         * vala/valaproperty.vala: remove dummy field
1296         * vala/valasymbol.vala: add name field and get_full_name method
1297         * vala/valatype.vala: add access field
1298         * vala/valatypereference.vala: switch to new error reporting scheme
1299         * ccode/valaccodeblock.vala: improve formatting
1300         * ccode/valaccodeifstatement.vala: improve formatting
1301         * ccode/valaccodewriter.vala: improve formatting
1302         * compiler/valacompiler.vala: add error handling, support multiple vapi
1303           directories, add --library option to generate public vala api
1304         * vapi/glib-2.0.vala: moved from bindings, add static GLib.stdout field,
1305           correctly mark functions with variable argument lists, add File.test
1306           method
1308         * configure.ac,Makefile.am,ccode/Makefile.am,vala/Makefile.am,
1309           vapi/Makefile.am,compiler/Makefile.am: add build system
1310         
1311         * remove valac subdirectory: Bootstrap compiler is now obsolete.
1312         
1313 2006-05-24  Jürg Billeter  <j@bitron.ch>
1314         
1315         Compiler is now self-hosting.
1317         * vala/parser.y: support type checks, field attributes, and virtual and
1318           override method modifiers
1319         * vala/valacodevisitor.vala: support type checks
1320         * vala/valasymbolbuilder.vala: correct generated property accessors
1321         * vala/valaattributeprocessor.vala: process field attributes
1322         * vala/valasemanticanalyzer.vala: support virtual methods and type
1323           checks
1324         * vala/valacodegenerator.vala: support properties, private fields,
1325           static fields, virtual methods, field initializers, while statements,
1326           foreach statements, instance last methods, postfix expressions, type
1327           checks
1328         * vala/valaclass.vala: correct source reference, add get_properties
1329           method
1330         * vala/valafield.vala: visit initializer, support cname attribute
1331         * vala/valamethod.vala: support ReturnsModifiedPointer and InstanceLast
1332           attributes, add is_virtual, is_override, and base_method fields, add
1333           get_real_cname method
1334         * vala/valaproperty.vala: add get_upper_case_cname method
1335         * vala/valastruct.vala: add has_private_fields attribute, add
1336           get_methods method
1337         * vala/valatypecheck.vala
1338         * vala/vala.h: update
1339         * ccode/valaccodebreakstatement.vala
1340         * ccode/valaccodecasestatement.vala
1341         * ccode/valaccodecontinuestatement.vala
1342         * ccode/valaccodedeclaration.vala: renamed from
1343           CCodeDeclarationStatement, support function declarators
1344         * ccode/valaccodedeclarator.vala: abstract base class for variable and
1345           function declarators
1346         * ccode/valaccodefunctiondeclarator.vala: 
1347         * ccode/valaccodestruct.vala: support function declarations by adding
1348           add_declaration method
1349         * ccode/valaccodeswitchstatement.vala
1350         * ccode/valaccodeunaryexpression.vala: add postfix increment and
1351           decrement operators
1352         * ccode/valaccodevariabledeclarator.vala: inherit from CCodeDeclarator
1353         * ccode/valaccodewhilestatement.vala
1355 2006-05-23  Jürg Billeter  <j@bitron.ch>
1357         * vala/valacodevisitor.vala: support initializer lists
1358         * vala/valacodegenerator.vala: support constant arrays and initializer
1359           lists
1360         * vala/valaconstant.vala: visit initializer
1361         * vala/valainitializerlist.vala: add accept method
1362         * vala/valastruct.vala: visit constants later than fields due to
1363           constant initialization
1364         * vala/valatypereference.vala: add get_const_cname method
1365         * ccode/valaccodeinitializerlist.vala
1367 2006-05-22  Jürg Billeter  <j@bitron.ch>
1369         * vala/parser.y: support abstract methods and static fields
1370         * vala/valasourcefile.vala: support parameter symbol dependencies
1371         * vala/valasymbolbuilder.vala: insert default body for get accessors
1372         * vala/valasemanticanalyzer.vala: add property type dependency
1373         * vala/valacodegenerator.vala: add constants, private static fields,
1374           main function, property accessors, this, casting for member access
1375         * vala/valablock.vala: add add_statement method
1376         * vala/valafield.vala: add instance field
1377         * vala/valamethod.vala: add is_abstract field
1378         * valac/generator.c: mark generated properties as writable
1380 2006-05-22  Jürg Billeter  <j@bitron.ch>
1382         * vala/valacodegenerator.c: add class instance private struct, type
1383           register function, class init function, instance init function;
1384           support access to private members
1385         * ccode/valaccodedeclarationstatement.vala: support static modifier
1387 2006-05-21  Jürg Billeter  <j@bitron.ch>
1389         * vala/scanner.l: support file comments, BREAK, CONTINUE
1390         * vala/parser.y: support break and continue, add more comments
1391         * vala/valacodecontext.vala: find cyclic header dependencies
1392         * vala/valasourcefile.vala: add get_namespaces method, add dependency
1393           information, add add_symbol_dependency method, add
1394           SourceFileDependencyType enum
1395         * vala/valasourcefilecycle.vala
1396         * vala/valacodevisitor.vala: support break and continue statements
1397         * vala/valaparser.vala: support file comments
1398         * vala/valasemanticanalyzer.vala: record dependency information
1399         * vala/valacodegenerator.vala: add include directives, type forward
1400           declarations, once section, enum values, method return types, and more
1401           comments
1402         * vala/valablock.vala, vala/valadeclarationstatement.vala,
1403           vala/valaemptystatement.vala, vala/valaexpressionstatement.vala,
1404           vala/valaforeachstatement.vala, vala/valaforstatement.vala,
1405           vala/valaifstatement.vala, vala/valareturnstatement.vala,
1406           vala/valastatement.vala, vala/valawhilestatement.vala: move
1407           source_reference property to Statement class
1408         * vala/valaclass.vala, vala/valaenum.vala, vala/valastruct.vala,
1409           vala/valatype.vala: move name, source_reference, namespace, and
1410           get_cheader_filenames to Type class
1411         * vala/valabreakstatement.vala
1412         * vala/valacontinuestatement.vala
1413         * vala/valaenum.vala: fix cname, add get_upper_case_cname method
1414         * vala/valaenumvalue.vala: add get_cname method
1415         * vala/valafield.vala: add access field
1416         * vala/valanamespace.vala: add get_structs, get_classes, and
1417           get_cheader_filenames methods, support cheader_filename attribute
1418         * vala/valastruct.vala: support cheader_filename attribute
1419         * vala/valatypereference.vala: support void cname
1420         * vala/vala.h: update
1421         * ccode/valaccodeblock.vala: support comments before statements
1422         * ccode/valaccodeenum.vala: optionally use typedef
1423         * ccode/valaccodefunction.vala: add copy method
1424         * ccode/valaccodenewline.vala
1425         * ccode/valaccodeoncesection.vala
1426         * ccode/valaccodewriter.vala: use whole line for comments
1427         * bindings/glib-2.0.vala: add cheader_filename attributes, extend string
1428           types
1429         * valac/generator.c: fix private field access, include string.h
1431 2006-05-19  Jürg Billeter  <j@bitron.ch>
1433         * vala/valacodegenerator.vala: include header file in corresponding
1434           source file, generate class macros and typedefs
1435         * ccode/valaccodeincludedirective.vala
1436         * ccode/valaccodemacroreplacement.vala: c macro definition
1437         * ccode/valaccodetypedefinition.vala: c typedef
1438         * bindings/glib-2.0.vala: correct comment
1440 2006-05-18  Jürg Billeter  <j@bitron.ch>
1442         * vala/valacodecontext.vala: add get_source_files method
1443         * vala/valasourcefile.vala: add pkg flag
1444         * vala/valasymbolresolver.vala: use GLib.Object as default base class
1445         * vala/valacodegenerator.vala: ignore package bindings, fix names of
1446           class structs
1447         * bindings/glib-2.0.vala: renamed from GLib.vala, add g_build_filename
1448         * compiler/valacompiler.vala: add pkg and pkgdir options
1450 2006-05-18  Jürg Billeter  <j@bitron.ch>
1452         * vala/valacodegenerator.vala: add method parameters, public instance
1453           field access, invocation arguments
1454         * vala/valamethod.vala: add get_parameters method
1455         * ccode/valaccodeformalparameter.vala
1456         * ccode/valaccodefunction.vala: use CCodeFormalParameter
1457         * ccode/valaccodememberaccess.vala
1458         * valac/scanner.l: support ASSIGN_BITWISE_OR, BITWISE_OR
1459         * valac/parser.y: support bitwise or
1460         * valac/context.h: support bitwise or
1461         * valac/generator.c: support bitwise or
1463 2006-05-18  Jürg Billeter  <j@bitron.ch>
1465         * vala/parser.y: support member and access modifiers, static methods
1466         * vala/valaattributeprocessor.vala: process method attributes
1467         * vala/valaclass.vala: don't set parent_type member of children
1468         * vala/valaconstant.vala: remove unnecessary parent_type member
1469         * vala/valafield.vala: remove unnecessary parent_type member
1470         * vala/valamethod.vala: support cname attribute
1471         * vala/valanamespace.vala: add methods
1472         * vala/valaproperty.vala: remove unnecessary parent_type member
1473         * vala/valastruct.vala: don't set parent_type member of children
1475 2006-05-18  Jürg Billeter  <j@bitron.ch>
1477         * vala/parser.y: adapt to BinaryOperator enum changes
1478         * vala/valacodegenerator.vala: add operators to unary and binary
1479           expressions
1480         * vala/valabinaryexpression.vala: correct enum value names
1481         * ccode/valaccodebinaryexpression.vala: add operator
1482         * ccode/valaccodeunaryexpression.vala
1484 2006-05-18  Jürg Billeter  <j@bitron.ch>
1486         * vala/parser.y: support namespace attributes
1487         * vala/valaattributeprocessor.vala: process namespace and class
1488           attributes
1489         * vala/valacodegenerator.vala: use correct symbol names
1490         * vala/valamethod.vala: add cname
1491         * vala/valanamespace.vala: add cprefix, support cprefix attribute
1492         * vala/valastruct.vala: prefix cname with namespace cprefix
1493         * bindings/GLib.vala: add tolower to unichar
1494         * valac/parser.y: rename namespace attribute cname to lower_case_cprefix
1496 2006-05-18  Jürg Billeter  <j@bitron.ch>
1498         * update reference and property annotations
1499         * switch string struct to utf-8
1500         * valac/context.c: set source file in root namespace
1501         * valac/generator.c: don't include bindings stub header
1503 2006-05-17  Jürg Billeter  <j@bitron.ch>
1505         * vala/valanamespace.vala: implement camel_case_to_lower_case method
1506         * bindings/GLib.vala: extend string types
1507         * valac/generator.c: support access to struct fields
1509 2006-05-17  Jürg Billeter  <j@bitron.ch>
1511         * vala/parser.y: support variable declarators, subtyping, constants,
1512           properties, and enums
1513         * vala/valacodevisitor.vala: support formal parameters, property
1514           accessors, named arguments, and parenthesized expressions
1515         * vala/valasymbolbuilder.vala: visit enum values, constants, formal
1516           parameters, properties, and blocks
1517         * vala/valasymbolresolver.vala: save base class, accept void type,
1518           support type references with namespace name
1519         * vala/valasemanticanalyzer.vala: visitor to find static types of
1520           expressions
1521         * vala/valacodegenerator.vala: support parenthesized expressions
1522         * vala/valablock.vala: add begin and end visit events
1523         * vala/valaclass.vala: support base types and properties
1524         * vala/valaenum.vala: add values
1525         * vala/valaenumvalue.vala
1526         * vala/valaexpression.vala: add generic symbol reference
1527         * vala/valaforeachstatement.vala: add begin and end visit events
1528         * vala/valaformalparameter.vala: add visit event
1529         * vala/valaliteral.vala: mark class as abstract
1530         * vala/valamethod.vala: add return_type
1531         * vala/valanamedargument.vala: add accept method
1532         * vala/valanamespace.vala: visit fields
1533         * vala/valaobjectcreationexpression.vala: visit arguments
1534         * vala/valaparenthesizedexpression.vala: add visit event
1535         * vala/valaproperty.vala: add accessors
1536         * vala/valapropertyaccessor.vala
1537         * vala/valasimplename.vala: code style update
1538         * vala/valastruct.vala: add constants
1539         * vala/valavariabledeclarator.vala: add type reference
1540         * vala/vala.h: update
1541         * compiler/valacompiler.vala: invoke SemanticAnalyzer
1542         * ccode/valaccodefragment.vala: code style update
1543         * ccode/valaccodeparenthesizedexpression.vala: 
1544         * valac/parser.y: support replacement of readonly fields
1545         * valac/context.c: resolve types in operation expressions
1547 2006-05-16  Jürg Billeter  <j@bitron.ch>
1549         * vala/scanner.l: fix multi-line comments
1550         * vala/valacodegenerator.vala: basic statement and expression handling
1551         * vala/valacodevisitor.vala: support variable declaration
1552         * vala/valasymbolbuilder.vala: adapt to visitor changes
1553         * vala/valaclass.vala: remove members already available in Struct
1554         * vala/valacodenode.vala: add ccodenode field
1555         * vala/valadeclarationstatement.vala: visit declaration
1556         * vala/valaexpressionstatement.vala: visit code containers after child
1557           elements
1558         * vala/valalocalvariabledeclaration.vala: add accept method
1559         * vala/valamethod.vala: add begin and end visit events
1560         * vala/valanamespace.vala: add lower_case_cprefix
1561         * vala/valastruct.vala: define get_upper_case_cname method
1562         * vala/valatype.vala: declare get_upper_case_cname method
1563         * vala/valatypereference.vala: add get_upper_case_cname method
1564         * vala/valavariabledeclarator.vala: add accept method
1565         * ccode/valaccodewriter.vala: formatting fixes
1566         * ccode/valaccodeassignment.vala
1567         * ccode/valaccodebinaryexpression.vala
1568         * ccode/valaccodeblock.vala: use CCodeStatement
1569         * ccode/valaccodeconstant.vala
1570         * ccode/valaccodedeclarationstatement.vala
1571         * ccode/valaccodeemptystatement.vala
1572         * ccode/valaccodeexpression.vala
1573         * ccode/valaccodeexpressionstatement.vala
1574         * ccode/valaccodeforstatement.vala
1575         * ccode/valaccodefunction.vala: formatting fixes
1576         * ccode/valaccodefunctioncall.vala
1577         * ccode/valaccodeidentifier.vala
1578         * ccode/valaccodeifstatement.vala
1579         * ccode/valaccodereturnstatement.vala
1580         * ccode/valaccodestatement.vala
1581         * ccode/valaccodestruct.vala: formatting fixes
1582         * ccode/valaccodevariabledeclarator.vala
1583         * bindings/GLib.vala: extend string types
1584         * valac/context.c: resolve types in named argument list in object
1585           creation expression
1587 2006-05-16  Jürg Billeter  <j@bitron.ch>
1589         * vala/parser.y: fix unary expressions
1590         * vala/valacodegenerator.vala: add visit_block method
1591         * vala/valacodevisitor.vala: add visit methods for statements,
1592           expressions, and literals
1593         * vala/valaassignment.vala: add accept method
1594         * vala/valabinaryexpression.vala: add accept method
1595         * vala/valablock.vala: add accept method
1596         * vala/valabooleanliteral.vala: add accept method
1597         * vala/valacastexpression.vala: add accept method
1598         * vala/valacharacterliteral.vala: add accept method
1599         * vala/valaconditionalexpression.vala: add accept method
1600         * vala/valaconstant.vala: visit code containers after child elements
1601         * vala/valadeclarationstatement.vala: add accept method
1602         * vala/valaemptystatement.vala: add accept method
1603         * vala/valaexpressionstatement.vala: add accept method
1604         * vala/valafield.vala: visit code containers after child elements
1605         * vala/valaforeachstatement.vala: add accept method
1606         * vala/valaformalparameter.vala: add accept method
1607         * vala/valaforstatement.vala: add accept method
1608         * vala/valaifstatement.vala: add accept method
1609         * vala/valaintegerliteral.vala: add accept method
1610         * vala/valainvocationexpression.vala: add accept method
1611         * vala/valaliteralexpression.vala: add accept method
1612         * vala/valamemberaccess.vala: add accept method
1613         * vala/valamethod.vala: add accept method
1614         * vala/valanullliteral.vala: add accept method
1615         * vala/valaobjectcreationexpression.vala: add accept method
1616         * vala/valaparenthesizedexpression.vala: add accept method
1617         * vala/valapostfixexpression.vala: add accept method
1618         * vala/valareturnstatement.vala: add accept method
1619         * vala/valasimplename.vala: add accept method
1620         * vala/valastringliteral.vala: add accept method
1621         * vala/valaunaryexpression.vala: fix constructor, add accept method
1622         * vala/valawhilestatement.vala: add accept method
1623         * ccode/valaccodefunction.vala: renamed from CCodeMethod
1625 2006-05-16  Jürg Billeter  <j@bitron.ch>
1627         * vala/parser.y: support logical AND and OR expressions, conditional
1628           expressions, assignments, constants, method parameters, and properties
1629         * vala/valacodevisitor.vala: add constant and property visits
1630         * vala/valaassignment.vala
1631         * vala/valabinaryexpression.vala: add bitwise xor, AND, and OR
1632         * vala/valaconditionalexpression.vala
1633         * vala/valaconstant.vala
1634         * vala/valaformalparameter.vala
1635         * vala/valainitializerlist.vala
1636         * vala/valamemberaccess.vala: add source_reference
1637         * vala/valamethod.vala: add parameters
1638         * vala/valaproperty.vala
1639         * vala/vala.h: update
1641 2006-05-16  Jürg Billeter  <j@bitron.ch>
1643         * vala/parser.y: support member access, multiplicative, additive, shift,
1644           equality, relational, and bitwise expressions
1645         * vala/valabinaryexpression.vala
1646         * vala/valamemberaccess.vala: add constructor
1647         * vala/vala.h: update
1649 2006-05-15  Jürg Billeter  <j@bitron.ch>
1651         * vala/scanner.l: support assign operators
1652         * vala/parser.y: support assign operators and attributes
1653         * vala/valaattributeprocessor.vala: visitor to process compiler
1654           attributes
1655         * vala/valacodegenerator.vala: support structs, enums, and methods
1656         * vala/valacodenode.vala: support attributes
1657         * vala/valaattribute.vala
1658         * vala/valamemberaccessibility.vala
1659         * vala/valamethod.vala
1660         * vala/valastruct.vala: support CCode (cname) attribute
1661         * vala/vala.h: update
1662         * compiler/valacompiler.vala: invoke AttributeProcessor
1663         * ccode/valaccodeblock.vala
1664         * ccode/valaccodeenum.vala
1665         * ccode/valaccodemethod.vala
1666         * ccode/valaccodemodifiers.vala
1667         * bindings/GLib.vala: add string cmp method
1668         * valac/scanner.l: support BITWISE_AND
1669         * valac/parser.y: support bitwise and
1670         * valac/context.h: add bitwise and
1671         * valac/generator.c: support enum dependencies and bitwise and
1673 2006-05-14  Jürg Billeter  <j@bitron.ch>
1675         * vala/scanner.l: support OPEN_CAST_PARENS, IS, WHILE
1676         * vala/parser.y: support structs, enums, and fields, cast, postfix,
1677           while, ref types, and generic type parameters; fix comments
1678         * vala/valacodecontext.vala: add root symbol
1679         * vala/valasourcefile.vala: add using directives, c filenames
1680         * vala/valacodevisitor.vala: add begin and end visits for some container
1681           types, add struct, enum, field, type parameter, namespace reference,
1682           and type reference visits
1683         * vala/valaparser.vala: adapt to visitor changes
1684         * vala/valasymbolbiulder.vala: visitor to fill symbol table
1685         * vala/valasymbolresolver.vala: visitor to resolve symbol references
1686         * vala/valacodegenerator.vala: add beginning of code generation
1687         * vala/valacodenode.vala: add symbol reference
1688         * vala/valacastexpression.vala
1689         * vala/valaclass.vala: derive from struct
1690         * vala/valaenum.vala
1691         * vala/valaexpression.vala: add static_type, field_reference, and
1692           method_reference fields
1693         * vala/valafield.vala
1694         * vala/valamemberaccess.vala
1695         * vala/valanamespace.vala: add structs, enums, and fields
1696         * vala/valanamespacereference.vala
1697         * vala/valapostfixexpression.vala
1698         * vala/valasourcereference.vala: adapt to comment changes
1699         * vala/valastringliteral.vala: add eval method
1700         * vala/valastruct.vala
1701         * vala/valasymbol.vala
1702         * vala/valatype.vala
1703         * vala/valatypeparameter.vala: 
1704         * vala/valatypereference.vala: add type, type_parameter, is_ref, and
1705           is_out fields, add get_cname method
1706         * vala/valavariabledeclarator.vala: add name and initializer fields
1707         * vala/valawhilestatement.vala: 
1708         * vala/vala.h: update
1709         * compiler/valacompiler.vala: run SymbolBuilder and SymbolResolver
1710         * ccode/valaccodewriter.vala
1711         * ccode/valaccodecomment.vala
1712         * ccode/valaccodefragment.vala
1713         * ccode/valaccodenode.vala
1714         * ccode/valaccodestruct.vala
1715         * bindings/GLib.vala: add/extend ustring, Path, Object, File, HashTable
1716         * valac/scanner.l: support OPEN_CAST_PARENS, OP_AND, OP_OR, IS, WHILE
1717         * valac/parser.y: support cast, while, include_filename ccode attribute,
1718           AND and OR expressions, IS type checks, unary minus
1719         * valac/context.h: add while statements, cast and IS expressions, and
1720           AND and OR operators
1721         * valac/context.c: support cast, IS, while; fix if
1722         * valac/generator.c: support cast, IS, pointer arithmetic, namespace
1723           methods, imported include files
1724         * valac/driver.c: add symbol alias
1726 2006-05-07  Jürg Billeter  <j@bitron.ch>
1728         * vala/scanner.l: tokenizer for new vala compiler
1729         * vala/parser.y: parser vor new vala compiler
1730         * vala/valablock.vala
1731         * vala/valabooleanliteral.vala
1732         * vala/valacharacterliteral.vala
1733         * vala/valaclass.vala: add methods
1734         * vala/valadeclarationstatement.vala
1735         * vala/valaemptystatement.vala
1736         * vala/valaexpression.vala
1737         * vala/valaexpressionstatement.vala
1738         * vala/valaforeachstatement.vala
1739         * vala/valaforstatement.vala
1740         * vala/valaifstatement.vala
1741         * vala/valaintegerliteral.vala
1742         * vala/valainvocationexpression.vala
1743         * vala/valaliteral.vala
1744         * vala/valaliteralexpression.vala
1745         * vala/valalocalvariabledeclaration.vala
1746         * vala/valamethod.vala
1747         * vala/valanamedargument.vala
1748         * vala/valanullliteral.vala
1749         * vala/valaobjectcreationexpression.vala
1750         * vala/valaparenthesizedexpression.vala
1751         * vala/valareturnstatement.vala
1752         * vala/valasimplename.vala
1753         * vala/valastatement.vala
1754         * vala/valastringliteral.vala
1755         * vala/valatypereference.vala
1756         * vala/valaunaryexpression.vala
1757         * vala/valavariabledeclarator.vala
1758         * vala/valacodevisitor.vala: add visit_method skeleton
1759         * vala/valacodegenerator.vala: do.
1760         * vala/vala.h: include generated header files
1761         * valac/generator.c: support bool and enum properties, support enums
1763 2006-05-06  Jürg Billeter  <j@bitron.ch>
1765         * vala/valacodecontext.vala
1766         * vala/valasourcefile.vala
1767         * vala/valasourcereference.vala: filename, line, and comment container
1768         * vala/valacodenode.vala: abstract code node
1769         * vala/valanamespace.vala: namespace node
1770         * vala/valaclass.vala: class node
1771         * vala/valacodevisitor.vala: abstract syntax tree visitor
1772         * vala/valaparser.vala: vala parser
1773         * vala/valacodegenerator.vala: code generator skeleton
1774         * compiler/valacompiler.vala: compiler driver
1775         * bindings/GLib.vala: add bindings for GList and GOptionContext
1776         * valac/scanner.l: support multi-line comments, ABSTRACT, INTERFACE,
1777           READONLY
1778         * valac/parser.y: replace AT by HASH, support readonly fields
1779         * valac/context.h: small fixes
1780         * valac/context.c: small fixes
1781         * valac/generator.c: fix override methods, basic support for properties
1783 2006-05-03  Jürg Billeter  <j@bitron.ch>
1785         * valac/scanner.l: support OP_NEG, CONSTRUCT, FOREACH, IN
1786         * valac/parser.y: add foreach, construct properties; merge modifiers to
1787           resolve parser conflicts
1788         * valac/context.h: merge modifiers
1789         * valac/context.c: support namespace fields, resolve types in
1790           assignments, invocations, and if, for, and foreach statements
1791         * valac/generator.c: support negation operator, inherited fields in
1792           object variables, foreach statements for arrays and GList, fix
1793           circular dependencies
1795 2006-05-02  Raffaele Sandrini  <rasa@gmx.ch>
1797         * tests/test-008.vala: add tests for base fields
1798         * valac/generator.c: remove klass local variable, add support for
1799           base fields.
1801 2006-05-01  Jürg Billeter  <j@bitron.ch>
1803         * valac/scanner.l: support ENUM, FLAGS, STRUCT
1804         * valac/parser.y: add structs, generic types, enums, flags, attributes,
1805           ref and out parameters
1806         * valac/context.h: add ValaFlags, ValaFlagsValue, and ValaAnnotation
1807           structs
1808         * valac/context.c: support bool, uint, pointer, generic types
1809         * valac/generator.h: save pointer to current struct
1810         * valac/generator.c: support structs, ReturnsModifiedPointer, include
1811           files
1813 2006-04-30  Jürg Billeter  <j@bitron.ch>
1815         * valac/scanner.l: support AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF,
1816           THIS, VALA_TRUE, USING, VAR, LITERAL_CHARACTER
1817         * valac/parser.y: add character, boolean, and null literals, using
1818           directive, @ type qualifier, constants, ref and out variables,
1819           array element access, this access, struct and array initializer,
1820           var type
1821         * valac/context.h: add ValaEnum, ValaConstant, and ValaEnumValue structs
1822         * valac/context.c: support constants, struct members, enums, var type,
1823           using directives
1824         * valac/generator.h: save pointer to current class
1825         * valac/generator.c: support constants, boolean and null literals,
1826           array element access, using directives, this access, enums, private
1827           static fields, ref and out variables, struct and array initializer,
1828           boolean, character, and null literal, var type
1830 2006-04-27  Raffaele Sandrini  <rasa@gmx.ch>
1832         * tests/test-008.vala:
1833         * tests/test-009.vala: add
1834         * valac/parser.y:
1835         * valac/scanner.l:
1836         * valac/context.c:
1837         * valac/generator.c:
1838         * valac/context.h: add field and property support (property parse only
1839           yet)
1840         * AUTHORS: add myself
1842 2006-04-26  Jürg Billeter  <j@bitron.ch>
1844         * valac/scanner.l: support OVERRIDE, VIRTUAL
1845         * valac/parser.y: add virtual methods
1846         * valac/context.h: support virtual methods, improve init and class_init
1847         * valac/context.c: set symbol in ValaMethod struct
1848         * valac/generator.c: support virtual methods
1849         * tests/test-007.vala: test virtual method declaration and invocation
1851 2006-04-26  Jürg Billeter  <j@bitron.ch>
1853         * valac/scanner.l: support OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC,
1854           OP_EQ, OP_NE, OP_LE, OP_GE, OP_LT, OP_GT, MINUS, STAR, DIV, ELSE, FOR,
1855           IF
1856         * valac/parser.y: add array type references, equality expressions,
1857           relational expressions, multiplicative expressions, postfix
1858           operations, object creation, if conditionals, for loops
1859         * valac/context.h: add ValaNamedArgument struct, support if and for
1860           statements
1861         * valac/context.c: resolve types in object creation expressions of
1862           variable initializers
1863         * valac/generator.c: support array type references, init and class_init
1864           methods, more operations, object creation, for loops, if conditionals,
1865           call g_type_init in main
1866         * tests/test-006.vala: test instance method invocation, object creation,
1867           for loop, if conditional, multiplicative expression
1869 2006-04-25  Jürg Billeter  <j@bitron.ch>
1871         * valac/parser.y: save cname in class, save location of statements and
1872           expressions
1873         * valac/context.h: add ValaStruct struct
1874         * valac/context.c: support symbols from methods and structs, add int
1875           and string fundamental types, resolve types in local variable
1876           declarations
1877         * valac/generator.h: save pointer to current method block
1878         * valac/generator.c: add special handling for main method, basic support
1879           for method invocations, literals, member access, simple names,
1880           additive expressions, return statments, blocks
1881         * tests/test-005.vala: test static method invocation, literal integer,
1882           simple name, additive expression, return statement, block, main method
1884 2006-04-24  Jürg Billeter  <j@bitron.ch>
1886         * valac/scanner.l: support single-line comments, ASSIGN, PLUS, RETURN,
1887           LITERAL_INTEGER, LITERAL_STRING
1888         * valac/parser.y: add basic statements and expressions
1889         * valac/context.h: add ValaStatement, ValaVariableDeclaration,
1890           ValaVariableDeclarator, and ValaExpression structs
1891         * valac/context.c: remove unreachable line
1893 2006-04-24  Jürg Billeter  <j@bitron.ch>
1895         * valac/scanner.l: set token location, support OPEN_PARENS,
1896           CLOSE_PARENS, SEMICOLON, PUBLIC, STATIC
1897         * valac/parser.y: save symbol location, output exact error location,
1898           support method declarations
1899         * valac/context.h: add ValaLocation, ValaMethod, and ValaFormalParameter
1900           structs, add location to ValaClass and ValaTypeReference structs
1901         * valac/context.c: output error location, support method declarations
1902         * valac/generator.c: support method declarations
1903         * valac/driver.c: add comment
1904         * tests/test-004.vala: test method declaration
1906 2006-04-22  Jürg Billeter  <j@bitron.ch>
1908         * valac/scanner.l: support DOT, COLON, and COMMA
1909         * valac/parser.y: save lower and upper case cnames in namespace and
1910           class objects, support base classes
1911         * valac/context.h: add ValaSymbol and ValaTypeReference structs, add
1912           cnames to ValaNamespace and ValaClass structs
1913         * valac/context.c: add symbol handling, type resolving, set cnames in
1914           root namespace
1915         * valac/generator.c: remove cname generation, support base classes
1916         * valac/driver.c: add symbols and resolve types
1917         * tests/test-003.vala: test base class