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
29 * vala/valabinaryexpression.vala: add default argument to construction
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
474 * vala/valaenum.vala: implement get_type_id method
475 * vala/valainterfacewriter.vala: output default expressions of formal
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
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
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
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
526 * vala/valasymbolresolver.vala: support interfaces and callbacks
527 * vala/valasemanticanalyzer.vala: use is_subtype_of method, support
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
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 /
562 * vala/valacodecontext.vala: adapt to changes in SourceFile
563 * vala/valaparser.vala: correct handling of source files without header
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
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
590 * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
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
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
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
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,
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
650 2006-07-08 Jürg Billeter <j@bitron.ch>
652 * vala/valasemanticanalyzer.vala: don't allow write access to read-only
654 * vala/valacodegenerator.vala: adapt to changes in CCodeFragment and
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
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
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
717 * vala/valaclass.vala: add get_type_id and get_marshaller_type_name
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:
737 * vala/parser.y, vala/valasemanticanalyzer.vala,
738 vala/valalambdaexpression.vala: support lambda expressions with
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
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
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
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
803 * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
804 vala/valacodegenerator.vala: support static lambda expressions and
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
818 * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
819 vala/valacodegenerator.vala: support callbacks
820 * vala/valaassignment.vala, vala/valabinaryexpression.vala: improve
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
827 * ccode/valaccodetypedefinition.vala: replace typedef_name by
828 declarator, add interface documentation, use implicit namespace
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
850 2006-07-04 Jürg Billeter <j@bitron.ch>
852 * vala/valacodegenerator.vala: generate assignment with appropriate
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
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,
882 2006-06-30 Jürg Billeter <j@bitron.ch>
884 * vala/parser.y: support implicit namespace specification in class
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
896 2006-06-29 Jürg Billeter <j@bitron.ch>
898 * vala/valacodenode.vala, vala/valaexpression.vala: add interface
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
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,
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
964 * vala/valacodegenerator.vala: cast instance in property setter
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
973 * vala/valasymbolbuilder.vala: use non-null parameter types, support
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
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
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
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
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
1057 * vala/valatypereference.vala: break reference cycle, use
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
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
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
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
1117 * vala/valamemorymanager.vala: use non-null parameter types, analyze
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
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
1141 * vala/valaclass.vala: implement memory management methods
1142 * vala/valaexpression.vala: add source_reference, ref_leaked, and
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
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
1153 * vala/valaparenthesizedexpression.vala: move source_reference to
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,
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
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
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
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
1252 * vala/valastringliteral.vala: fix warning
1253 * vala/valastruct.vala: inline visit_children method, use operators to
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
1269 * ccode/Makefile.am,vala/Makefile.am,compiler/Makefile.am: support
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
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
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
1308 * configure.ac,Makefile.am,ccode/Makefile.am,vala/Makefile.am,
1309 vapi/Makefile.am,compiler/Makefile.am: add build system
1311 * remove valac subdirectory: Bootstrap compiler is now obsolete.
1313 2006-05-24 Jürg Billeter <j@bitron.ch>
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
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
1328 * vala/valaclass.vala: correct source reference, add get_properties
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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,
1821 * valac/context.h: add ValaEnum, ValaConstant, and ValaEnumValue structs
1822 * valac/context.c: support constants, struct members, enums, var type,
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
1837 * valac/generator.c:
1838 * valac/context.h: add field and property support (property parse only
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,
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
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
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
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
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