1 2006-11-02 Jürg Billeter <j@bitron.ch>
3 * NEWS: update for 0.0.5 release
5 2006-11-02 Jürg Billeter <j@bitron.ch>
7 * vala/valainterfacewriter.vala: write CCode.cname attribute for methods
8 * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
9 use CCode.cname attribute
11 2006-11-02 Raffaele Sandrini <rasa@gmx.ch>
13 * vala/valacodegenerator.vala: fix memory leak caused when container
14 expression transfers ownership to the foreach statement
16 2006-11-02 Jürg Billeter <j@bitron.ch>
18 * vala/valainterfacewriter.vala: don't use weak for value types
19 * vala/valamethod.vala: make set_cname public
20 * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
21 add Gtk.Allocation, don't use weak for value types
23 2006-10-31 Jürg Billeter <j@bitron.ch>
25 * vala/valacodegenerator.vala: don't add NULL to end of variable
26 argument list for printf-style functions to reduce the number of
27 warnings during C compilation
28 * vala/valamethod.vala: support PrintfFormat attribute
29 * vala/vala.h: include valareport.h
30 * vapi/glib-2.0.vala: use PrintfFormat attribute
32 2006-10-27 Jürg Billeter <j@bitron.ch>
34 * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
37 2006-10-26 Raffaele Sandrini <rasa@gmx.ch>
39 * vala/valasemanticanalyzer.vala: make foreach iterator only visible to
43 2006-10-26 Jürg Billeter <j@bitron.ch>
45 * vala/valacodegenerator.vala: don't create empty dispose functions,
46 support virtual methods with non-void return type
47 * vapi/glib-2.0.vala: include glib/gstdio.h for GLib file functions
49 2006-10-26 Jürg Billeter <j@bitron.ch>
51 * vala/valacodegenerator.vala: explicitly cast callbacks to reduce the
52 number of warnings during C compilation
54 2006-10-26 Jürg Billeter <j@bitron.ch>
56 * vala/valacodegenerator.vala: convert integer to pointer for generic
57 parameters to reduce the number of warnings during C compilation
59 2006-10-26 Jürg Billeter <j@bitron.ch>
61 * vala/valacodegenerator.vala: cast object instances in return
62 statements to reduce the number of warnings during C compilation
64 2006-10-25 Jürg Billeter <j@bitron.ch>
66 * vala/valacodegenerator.vala: cast object instances in comparisons to
67 reduce the number of warnings during C compilation
69 2006-10-25 Jürg Billeter <j@bitron.ch>
71 * vala/valacodegenerator.vala, vala/valaarray.vala,
72 vala/valacallback.vala, vala/valaclass.vala, vala/valadatatype.vala,
73 vala/valaenum.vala, vala/valaflags.vala, vala/valainterface.vala,
74 vala/valastruct.vala, vala/valatypereference.vala, vapi/glib-2.0.vala:
75 start to use const specifier for strings to reduce number of warnings
78 2006-10-25 Jürg Billeter <j@bitron.ch>
80 * vala/parser.y, vala/valacodevisitor.vala,
81 vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
82 vala/valabaseaccess.vala: support base access
83 * vala/vala.h, vala/Makefile.am: update
84 * tests/test-025.vala: test base access
85 * tests/Makefile.am: update
87 2006-10-25 Jürg Billeter <j@bitron.ch>
89 * configure.ac: Post-release version bump
90 * compiler/valacompiler.vala: --version support
91 * compiler/Makefile.am: always include config.h to keep compatibility
92 * vapi/config.vala: add binding for config.h
93 * vapi/Makefile.am: update
95 2006-10-25 Jürg Billeter <j@bitron.ch>
97 * vala/valasourcefile.vala: support dependencies on constants
99 2006-10-24 Jürg Billeter <j@bitron.ch>
101 * vala/valasemanticanalyzer.vala: don't crash when comparing value type
104 2006-10-24 Jürg Billeter <j@bitron.ch>
106 * vala/valasymbolresolver.vala: don't crash on already resolved type
108 * vala/valasemanticanalyzer.vala: support typeof expression
109 * vala/valacodegenerator.vala: improve support for null-terminated
111 * vala/valainterfacewriter.vala: don't write type arguments for arrays
113 2006-10-08 Jürg Billeter <j@bitron.ch>
115 * vala/parser.y: support enum values
117 2006-10-06 Jürg Billeter <j@bitron.ch>
119 * NEWS: update for 0.0.4 release
121 2006-10-06 Raffaele Sandrini <rasa@gmx.ch>
123 * vapi/glib-2.0.vala, vala/valaflags.vala, vala/valaenum.vala,
124 vala/valadatatype.vala, vala/valaarray.vala, vala/valaclass.vala,
125 vala/valastruct.vala: add get and set value support
126 * vala/valacodegenerator.vala: add user (arbitrary) signal support
127 * vala/valadatatype.vala, vala/valamemorymanager.vala,
128 vala/valastruct.vala: correctly honor ref types in type arguments
129 * ccode/valaccodedeclaration.vala, ccode/valaccodemodifiers.vala:
130 support register local variables
131 * ccode/valaccodememberaccess.vala: make one line creation possible
132 * vapi/glib-2.0.vala: fix return type of Glib.List.nth_data
133 * tests/test-024.vala: add user signal test
134 * tests/Makefile.am: update
136 2006-10-05 Jürg Billeter <j@bitron.ch>
138 * vala/parser.y, vala/valasemanticanalyzer.vala: complete support for
139 prefix increment and decrement operator
141 2006-10-05 Jürg Billeter <j@bitron.ch>
143 * vala/valasemanticanalyzer.vala: transform compund assignments into
145 * vala/valabinaryexpression.vala: add default argument to construction
147 * tests/test-021.vala: test string += assignment
149 2006-10-04 Jürg Billeter <j@bitron.ch>
151 * vala/valasymbolresolver.vala: correct takes_ownership in arrays
152 * vala/valacodegenerator.vala: add limited support for array length
153 fields, store array length from array creation expression, copy array
154 length in array assignments
155 * vala/valafield.vala: support NoArrayLength attribute
156 * compiler/valacompiler.vala: add NoArrayLength attribute to option
159 2006-10-04 Jürg Billeter <j@bitron.ch>
161 * vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala: specify
162 array element type as type argument
163 * vala/valacodegenerator.vala: create declarations for array length
164 variables, iterate over arrays by index if it has known length
165 * vala/valacharacterliteral.vala: correct return type of get_char
166 * vala/valanamespace.vala: process enums and flags first
167 * vala/valavariabledeclarator.vala: set parent_node of initializer, add
169 * tests/test-023.vala: test list construction
170 * tests/Makefile.am: update
172 2006-10-03 Jürg Billeter <j@bitron.ch>
174 * vala/valacodegenerator.vala: don't use InstanceCast for callbacks
176 2006-09-28 Raffaele Sandrini <rasa@gmx.ch>
178 * vala/valacodegenerator.vala, vala/valasemanticanalyzer.vala,
179 vala/valamemorymanager.vala: add one dimensional array assignment
181 * tests/test-022.vala: testcase for array creation/assignment
182 * tests/Makefile.am: update
184 2006-09-28 Jürg Billeter <j@bitron.ch>
186 * vapi/glib-2.0.vala: add and improve various types
188 2006-09-28 Jürg Billeter <j@bitron.ch>
190 * vala/parser.y: set attributes also for non-readable properties
191 * vala/valacodegenerator.vala: support interface signals
192 * vala/valainvocationexpression.vala,
193 vala/valaobjectcreationexpression.vala: fix problem when children
194 change while iterating over them
196 2006-09-27 Jürg Billeter <j@bitron.ch>
198 * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
199 vala/valamethod.vala: support InstanceByReference attribute
200 * vapi/glib-2.0.vala: add Filename struct, fix Process methods
201 * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
202 fix static methods without parameters, add InstanceByReference
205 2006-09-27 Jürg Billeter <j@bitron.ch>
207 * vala/valainterface.vala: visit interface signals
208 * vala/valainterfacewriter.vala: obey lock keyword
209 * vapi/atk.vala, vapi/gtk+-2.0.vala: add interface signals
211 2006-09-27 Raffaele Sandrini <rasa@gmx.ch>
213 * vapi/glib-2.0.vala: add threading and assorted structures
214 * vala/valamember.vala: add an additional abstraction for all members
216 * vala/valalockstatement.vala, vala/valacodegenerator.vala,
217 vala/scanner.l, vala/valasemanticanalyzer.vala,
218 vala/valalockable.vala, vala/parser.y, vala/valacodevisitor.vala:
219 add lock feature to vala
220 * vala/valamethod.vala, vala/valafield.vala, vala/valaconstant.vala,
221 vala/valasignal.vala, vala/valaproperty.vala: make those members
223 * vala/valacodegenerator.vala: use member abstraction to simlify field
224 initialisation and destruction
225 * vala/valacodegenerator.vala: introduce new C macros VALA_FREE_CHECKED
226 and VALA_FREE_UNCHECKED to make safe freeing code nicer
227 * vala/vala.h: update and bring arraycreationexpression in order
228 * vala/Makefile.am: update
230 2006-09-27 Jürg Billeter <j@bitron.ch>
232 * vapi/glib-2.0.vala: add Process struct with spawn functions
234 2006-09-27 Jürg Billeter <j@bitron.ch>
236 * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
239 2006-09-26 Jürg Billeter <j@bitron.ch>
241 * vapi/glib-2.0.vala: add string.reverse, Source.remove,
242 Environment.get_variable, Environment.set_variable,
243 Environment.get_current_dir, Path.is_absolute, Path.skip_root
245 2006-09-26 Jürg Billeter <j@bitron.ch>
247 * vala/valaassignment.vala, vala/valabinaryexpression.vala,
248 vala/valacastexpression.vala, vala/valadostatement.vala,
249 vala/valaexpressionstatement.vala, vala/valaforeachstatement.vala,
250 vala/valaforstatement.vala, vala/valaifstatement.vala,
251 vala/valainvocationexpression.vala, vala/valamemberaccess.vala,
252 vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
253 vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
254 vala/valawhilestatement.vala: add missing cast
256 2006-09-03 Jürg Billeter <j@bitron.ch>
258 * vala/scanner.l: make character_literal stricter
259 * vala/valacodegenerator.vala: support more method return types,
260 support unicode character literals
261 * vala/valacharacterliteral.vala: validate input, add get_char method
263 2006-09-02 Jürg Billeter <j@bitron.ch>
265 * vala/parser.y, vala/valacodecontext.vala,
266 vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
267 vala/valacodegenerator.vala, vala/valaarraycreationexpression.vala,
268 vala/valablock.vala, vala/valacallback.vala, vala/valaclass.vala,
269 vala/valaelementaccess.vala, vala/valafield.vala,
270 vala/valaformalparameter.vala, vala/valaforstatement.vala,
271 vala/valainitializerlist.vala, vala/valainterface.vala,
272 vala/valainvocationexpression.vala, vala/valainvokable.vala,
273 vala/valalambdaexpression.vala,
274 vala/valalocalvariabledeclaration.vala, vala/valamemberaccess.vala,
275 vala/valamethod.vala, vala/valanamespace.vala,
276 vala/valaobjectcreationexpression.vala, vala/valasignal.vala,
277 vala/valasourcefile.vala, vala/valastruct.vala,
278 vala/valaswitchsection.vala, vala/valaswitchstatement.vala,
279 vala/valatypereference.vala, vala/valavariabledeclarator.vala,
280 ccode/valaccodefragment.vala, vapi/glib-2.0.vala: always default type
282 * vala/valacodevisitor.vala, vala/valacodegenerator.vala,
283 vala/valaexpression.vala, vala/valareturnstatement.vala: avoid
284 unnecessary ref/unref pair in return expression
285 * vala/valatypereference.vala: copy type arguments in copy method, too
286 * vala/valasemanticanalyzer.vala: set type arguments in type_reference
287 of ObjectCreationExpression
288 * vala/valadatatype.vala: fix warning
290 2006-09-02 Jürg Billeter <j@bitron.ch>
292 * vala/valacodegenerator.vala: special case construction of GLib.List
293 and GLib.SList (reported by Cayle Graumann)
295 2006-09-02 Jürg Billeter <j@bitron.ch>
297 * vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
298 vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
299 vala/valamemberaccessibility.vala: prepare to support protected
302 2006-09-02 Jürg Billeter <j@bitron.ch>
304 * vala/parser.y: don't set parent_node in parser
305 * vala/valasemanticanalyzer.vala: support string + operator
306 * vala/valaassignment.vala, vala/valabinaryexpression.vala,
307 vala/valacastexpression.vala, vala/valacodenode.vala,
308 vala/valadostatement.vala, vala/valaexpressionstatement.vala,
309 vala/valaforeachstatement.vala, vala/valaforstatement.vala,
310 vala/valaifstatement.vala, vala/valainvocationexpression.vala,
311 vala/valamemberaccess.vala, vala/valaobjectcreationexpression.vala,
312 vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
313 vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
314 vala/valawhilestatement.vala: set parent_node of child nodes, add
316 * vala/valanullliteral.vala: add default argument to construction method
317 * tests/test-021.vala: test string + operator
318 * tests/Makefile.am: update
320 2006-09-02 Jürg Billeter <j@bitron.ch>
322 * vala/scanner.l: support integer and floating point suffixes
323 * vala/valasemanticanalyzer.vala: use correct type for integer and
324 floating point literals
325 * vala/valaintegerliteral.val, vala/valarealliteral.vala: add
327 * vapi/glib-2.0.vala: add string to int64 conversion method
329 2006-09-02 Jürg Billeter <j@bitron.ch>
331 * vala/valasemanticanalyzer.vala: use IntegerType, FloatingType, and
332 rank attributes to analyze arithmetic operations
333 * vala/valacodegenerator.vala: generate C casts for explicit value-type
335 * vala/valastruct.vala: add is_integer_type, is_floating_type, and
336 get_rank methods, add IntegerType and FloatingType attributes
337 * vala/valasemanticanalyzer.vala, vala/valacastexpression.vala,
338 vala/valainstancecast.vala, ccode/valaccodecastexpression.vala: fix
340 * vapi/glib-2.0.vala: add int16, uint16, int32, uint32, use IntegerType
341 and FloatingType attributes
343 2006-09-02 Jürg Billeter <j@bitron.ch>
345 * vala/parser.y: set accessibility for constants
346 * vala/valasemanticanalyzer.vala: set return type in property set
348 * vala/valacodegenerator.vala: move public constants to header file
349 * vala/valaclass.vala: don't create fields for properties in VAPI files
350 * vala/valaconstant.vala: add access member
352 2006-09-02 Jürg Billeter <j@bitron.ch>
354 * vapi/cairo.vala: mark Matrix as reference type
356 2006-08-24 Jürg Billeter <j@bitron.ch>
358 * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
359 mark virtual methods appropriately
361 2006-08-24 Jürg Billeter <j@bitron.ch>
363 * vala/valaattributeprocessor.vala, vala/valacodegenerator.vala,
364 vala/valainterface.vala, vala/valainterfaceregisterfunction.vala: add
365 possibility to change interface type struct cname, default to `Iface'
366 suffix (reported by Dominique Würtz)
368 2006-08-23 Jürg Billeter <j@bitron.ch>
370 * vala/valasemanticanalyzer.vala: support calling non-abstract interface
372 * vala/valainterface.vala: add get_base_types method
374 2006-08-20 Jürg Billeter <j@bitron.ch>
376 * configure.ac: Post-release version bump, fail if flex or bison not
379 2006-08-18 Jürg Billeter <j@bitron.ch>
381 * NEWS: update for 0.0.3 release
383 2006-08-18 Jürg Billeter <j@bitron.ch>
385 * compiler/valacompiler.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala:
386 use array length functionality
388 2006-08-18 Jürg Billeter <j@bitron.ch>
390 * vala/valacodegenerator.vala: support implicit array length parameter
391 * vala/valainterfacewriter.vala, vala/valaformalparameter.vala,
392 vala/valamethod.vala: support NoArrayLength attribute
393 * compiler/valacompiler.vala, vapi/atk.vala, vapi/cairo.vala,
394 vapi/gdk-2.0.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala,
395 vapi/pango.vala: add NoArrayLength attributes
396 * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
397 tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
398 tests/test-007.vala, tests/test-008.vala, tests/test-009.vala,
399 tests/test-010.vala, tests/test-011.vala, tests/test-012.vala,
400 tests/test-013.vala, tests/test-014.vala, tests/test-015.vala,
401 tests/test-016.vala, tests/test-017.vala, tests/test-018.vala,
402 tests/test-019.vala, tests/test-020.vala: remove argc parameter
404 2006-08-18 Jürg Billeter <j@bitron.ch>
406 * vala/parser.y: remove read/write tokens
407 * compiler/valacompiler.vala: support package dependencies
410 * vapi/Makefile.am: update
412 2006-08-18 Jürg Billeter <j@bitron.ch>
414 * vala/parser.y, vala/valastruct.vala: support base types for structs
415 * vala/valainterfacewriter.vala: obey set keyword
416 * vapi/glib-2.0.vala: add SignalInvocationHint, SignalEmissionHook,
417 SignalFlags, ValueArray, Math, Timeout, and PtrArray
418 * vapi/cairo.vala: initial cairo binding
419 * vapi/pango.vala, vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala:
420 bindings generated from Pango 1.13.5, ATK 1.12.1, and GTK+ 2.10.1
421 * vapi/Makefile.am: update
423 2006-08-11 Raffaele Sandrini <rasa@gmx.ch>
425 * vala/valasymbolresolver.vala, vala/valatypereference.vala,
426 vala/valaelementaccess.vala, vala/valadatatype.vala, vala/parser.y,
427 vala/valaarray.vala: make those classes ready to process
428 multidimensional arrays.
429 * vala/scanner.l: remove ARRAY_QUALIFIER token
430 * vala/valasemanticanalyzer.vala, vala/parser.y,
431 vala/valacodegenerator.vala, vala/valacodegenerator.vala,
432 vala/valacodevisitor.vala: add multidimensional array support however
433 only one dimensional arrays can be created yet
434 * vala/Makefile.am, vala/vala.h: update
435 * vala/valatypereference.vala: remove source reference parameter
436 when creating from an expression
437 * vala/valacodegenerator.vala: add support for uint, long and ulong
440 2006-08-10 Jürg Billeter <j@bitron.ch>
442 * vala/scanner.l: support hexadecimal and octal integer literals,
443 support hexadecimal escape sequences, support BASE and THIS
444 * vala/parser.y: use BASE and THIS keywords
445 * vala/valasemanticanalyzer.vala: don't use new base keyword as variable
447 * vala/valacodegenerator.vala: simplify code
448 * vala/valainterfacewriter.vala: obey base keyword
450 2006-08-10 Jürg Billeter <j@bitron.ch>
452 * vala/valacodegenerator.vala: fix memory management in switch
454 * tests/test-020.vala: extend switch statement test
456 2006-08-10 Jürg Billeter <j@bitron.ch>
458 * vala/valacodegenerator.vala: support switch statements
459 * vala/valaswitchsection.vala: add has_default_label () and
460 get_statements () methods
461 * vala/valaswitchstatement.vala: add get_sections () method
462 * ccode/valaccodedostatement.vala
463 * ccode/Makefile.am: update
464 * tests/test-020.vala: test switch statements
465 * tests/Makefile.am: update
467 2006-08-10 Jürg Billeter <j@bitron.ch>
469 * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: use
471 * vala/valainvokable.vala
472 * vala/valafield.vala, vala/valaformalparameter.vala,
473 vala/valamethod.vala, valasignal.vala,
474 vala/valavariabledeclarator.vala: implement Invokable
475 * vala/Makefile.am: update
477 2006-08-10 Jürg Billeter <j@bitron.ch>
479 * vala/parser.y: support constants in namespaces and constants without
481 * vala/valasemanticanalyzer.vala: depend on implemented interfaces
482 * vala/valacodegenerator.vala: always include glib-object.h for
483 interfaces, append NULL to variable argument list calls
484 * vala/valainterfacewriter.vala: support constants and ellipsis
486 * vala/valaconstant.vala: make initializer optional
487 * vala/valainterface.vala: implement get_lower_case_cprefix ()
488 * vala/valanamespace.vala: support constants
490 2006-08-10 Jürg Billeter <j@bitron.ch>
492 * vala/scanner.l: accept real literals with trailing dot
493 * vala/valasymbolresolver.vala: ignore non-type symbols
494 * vala/valacodegenerator.vala: support float and double properties,
495 adapt to Field changes, support compound assignments in properties
496 * vala/valainterfacewriter.vala: support ReferenceType attribute
497 * vala/valaclass.vala: implement get_lower_case_cprefix ()
498 * vala/valadatatype.vala: add get_lower_case_cprefix () method
499 * vala/valafield.vala: let get_cname return full C name
500 * vala/valamethod.vala: use DataType.get_lower_case_cprefix ()
501 * vala/valastruct.vala: implement get_lower_case_cprefix (), add
502 set_is_reference_type () method
504 2006-08-09 Jürg Billeter <j@bitron.ch>
506 * vala/parser.y: adapt to Vala.Signal change
507 * vala/valaattributeprocessor.vala: process signal attributes
508 * vala/valacodegenerator.vala: manage memory of element access
509 expressions, mark get_property and set_property functions static,
510 support signal emitter functions
511 * vala/valacodecontext.vala: use get_cinclude_filename method
512 * vala/valainterfacewriter.vala: use C header filename of namespace,
513 support signals, support NoAccessorMethod attribute
514 * vala/valadatatype.vala: add default arguments
515 * vala/valaenum.vala: make set_cprefix method public
516 * vala/valanamespace.vala: add get_cheader_filename and
517 set_cheader_filename methods
518 * vala/valasignal.vala: add has_emitter property, add process_attributes
520 * vala/valasourcefile.vala: add get_cinclude_filename method
521 * compiler/valacompiler.vala: adapt to SourceFile changes
523 2006-08-05 Jürg Billeter <j@bitron.ch>
525 * vala/valaparser.vala: only parse .vala source files
526 * vala/valasymbolbuilder.vala, vala/valaproperty.vala: support disabling
527 automatic property accessor generation
528 * vala/valasemanticanalyzer.vala: fix typo
529 * vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
530 vala/valacodecontext.vala: use correct includes for libraries
531 * vala/valacodegenerator.vala: use get_canonical_cconstant method for
533 * vala/valainterfacewriter.vala: support interfaces, non-null types,
534 callbacks, and construction methods
535 * vala/valasignal.vala: add get_canonical_cconstant method
536 * vala/valaenum.vala, vala/valainterface.vala, vala/valanamespace.vala,
537 vala/valastruct: add default arguments
538 * vala/Makefile.am: install libvala.so and header files
539 * ccode/Makefile.am: install header files
540 * compiler/valacompiler.vala: set library name in code context
541 * compiler/Makefile.am: adapt to build system changes
542 * vapi/glib-2.0.vala: add skeletons for Callback, Closure, IOChannel,
543 TimeVal, Scanner, SpawnFlags, OptionGroup, MarkupParser, and Quark
544 * vapi/Makefile.am: add vala-1.0.vala
546 * configure.ac: disable static library by default, add vala-1.0.pc
547 * Makefile.am: add vala-1.0.pc
549 2006-08-02 Jürg Billeter <j@bitron.ch>
551 * configure.ac: Post-release version bump.
553 2006-08-02 Jürg Billeter <j@bitron.ch>
555 * NEWS: update for 0.0.2 release
556 * vala/valasemanticanalyzer.vala: check for floating reference in
558 * vala/valasourcefile.vala, vala/valacodegenerator.vala,
559 ccode/valaccodeincludedirective.vala: differentiate between
560 package-internal and external includes
561 * vapi/gtk+-2.0.vala: port to construction methods
563 2006-08-02 Jürg Billeter <j@bitron.ch>
565 * port to construction methods
566 * vala/valaparenthesizedexpression.vala, vala/valareport.vala,
567 vala/valareturnstatement.vala, vala/valasourcefilecycle.vala,
568 vala/valasourcereference.vala, vala/valatypecheck.vala,
569 vala/valatypeofexpression.vala, vala/valatypeparameter.vala: add
570 interface documentation, use implicit namespace specification
571 * vala/Makefile.am: sort source file list
573 2006-08-02 Jürg Billeter <j@bitron.ch>
575 * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
576 vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
577 vala/valainterfacewriter.vala, vala/valaclass.vala,
578 vala/valaexpressionstatement.vala, vala/valamethod.vala,
579 vala/valaobjectcreationexpression.vala, vala/valastatement.vala,
580 vala/valastruct.vala: add support for construction methods
581 * vala/valabooleanliteral.vala, vala/valaexpression.vala,
582 vala/valaintegerliteral.vala, vala/valaliteral.vala,
583 vala/valaliteralexpression.vala, vala/valamemberaccess.vala: add
585 * vala/valamemberaccess.vala, vala/valatypereference.vala: support
586 storing type arguments in MemberAccess
587 * vala/valacodenode.vala: add parent_node property
588 * vala/parser.y, vala/valaifstatement.vala: only allow blocks as
590 * vala/valaenum.vala: implement get_type_id method
591 * vala/valainterfacewriter.vala: output default expressions of formal
593 * vala/valaformalparameter.vala: visit default expression
594 * vala/valaobjectcreationexpression.vala, vala/valanullliteral.vala,
595 vala/valaproperty.vala, vala/valapropertyaccessor.vala: add interface
596 documentation, use implicit namespace specification
597 * vala/vala.h: add valaelementaccess.h and valarealliteral.h
598 * ccode/valaccodememberaccess.vala: don't mark is_pointer as construct
599 * vapi/glib-2.0.vala: add GValue
600 * vapi/gtk+-2.0.vala: small updates
602 2006-07-31 Jürg Billeter <j@bitron.ch>
604 * vala/parser.y: support prefix increment and decrement, fix parsing
606 * vala/valasemanticanalyzer.vala: fix some bugs in error handling,
607 support prefix increment and decrement
608 * vala/valacodegenerator.vala: support prefix increment and decrement
609 * vala/valanamespace.vala: add interface documentation, use implicit
610 namespace specification
611 * vala/valaunaryexpression.vala: support prefix increment and decrement
612 * ccode/valaccodeunaryexpression.vala: support prefix increment and
614 * vapi/glib-2.0.vala: add Environment struct
616 2006-07-27 Jürg Billeter <j@bitron.ch>
618 * vala/scanner.l: support CASE, DEFAULT, DO, and SWITCH
619 * vala/parser.y: support switch and do statements
620 * vala/valacodevisitor.vala: add support for switch and do statements
621 * vala/valadostatement.vala
622 * vala/valaswitchlabel.vala
623 * vala/valaswitchsection.vala
624 * vala/valaswitchstatement.vala
625 * vala/valastatement.vala, vala/valasymbol.vala,
626 vala/valaunaryexpression.vala, vala/valavariabledeclarator.vala,
627 vala/valawhilestatement.vala: add interface documentation, use
628 implicit namespace specification
629 * vala/vala.h, vala/Makefile.am: update
630 * vapi/glib-2.0.vala: don't use default keyword
632 2006-07-27 Jürg Billeter <j@bitron.ch>
634 * vala/parser.y: support for loops with local variable declaration in
637 2006-07-27 Jürg Billeter <j@bitron.ch>
639 * vala/parser.y: don't require developer to explicitly write static in
640 namespace field declarations, support type parameters in interfaces
642 * vala/valasymbolresolver.vala: support interfaces and callbacks
643 * vala/valasemanticanalyzer.vala: use is_subtype_of method, support
645 * vala/valamemorymanager.vala: support callbacks in fields
646 * vala/valacodegenerator.vala: support callbacks in fields
647 * vala/valacallback.vala: support type parameters
648 * vala/valaclass.vala: add is_subtype_of method
649 * vala/valadatatype.vala: add is_subtype_of method
650 * vala/valainterface.vala: add is_subtype_of method
652 2006-07-26 Jürg Billeter <j@bitron.ch>
654 * vala/scanner.l: support casting arrays
655 * vala/parser.y: don't require developer to explicitly write static in
656 namespace method declarations
657 * vala/valaarray.vala: correct cname for arrays with value-type elements
658 * vala/valacodenode.vala: save source line reference in ccodenode
659 * ccode/valaccodelinedirective.vala
660 * ccode/valaccodenode.vala: support source line reference
661 * ccode/Makefile.am: update
662 * vapi/glib-2.0.vala: add to_string methods to integer types, add size
663 method to string, add u_sleep method to Thread, fix memory management
664 in List and SList, add sort method to List
666 2006-07-19 Jürg Billeter <j@bitron.ch>
668 * vala/valatypereference.vala: use more expressive property names, add
670 * vala/parser.y, vala/valasymbolbuilder.vala,
671 vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala,
672 vala/valamemorymanager.vala, vala/valacodegenerator.vala,
673 vala/valainterfacewriter.vala, vala/valasourcefile.vala,
674 vala/valacallback.vala, vala/valaclassregisterfunction.vala,
675 vala/valasignal.vala: adapt to changes in TypeReference
676 * vala/valasourcefile.vala: replace public fields by properties /
678 * vala/valacodecontext.vala: adapt to changes in SourceFile
679 * vala/valaparser.vala: correct handling of source files without header
681 * vala/valasymbolbuilder.vala: don't generate code for VAPI files
682 * vala/valasemanticanalyzer.vala: report error respectively warning if
683 method return type misses ownership transfer
684 * vala/valainterfacewriter.vala: correct property declaration output
685 * vala/valaparser.vala, vala/valasourcefile.vala, vala/valaliteral.vala,
686 vala/valamemberaccessibility.vala, vala/valanamedargument.vala,
687 vala/valanamespacereference.vala, vala/valatypereference.vala: add
688 interface documentation, use implicit namespace specification
690 2006-07-18 Jürg Billeter <j@bitron.ch>
692 * vala/valasymbolresolver.vala: make sure that current_scope isn't null
693 * vala/valamemorymanager.vala: start to support memory management with
695 * vala/valacodegenerator.vala: support iteration over SList, properties
696 without accessor methods
697 * vapi/glib-2.0.vala: add string.hash (), Error fields and SList
698 * vapi/gtk+-2.0.vala: add StatusIcon class
699 * README: mention exceptions
701 2006-07-16 Jürg Billeter <j@bitron.ch>
703 * configure.ac: Post-release version bump.
704 * vala/parser.y: remove g_object_unref call to fix crash in parsing
706 * vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
708 * vapi/glib-2.0.vala: GString enhancements
709 * vapi/Makefile.am: dist gtk+-2.0.vala and pango.vala
711 2006-07-15 Jürg Billeter <j@bitron.ch>
713 * NEWS: update for 0.0.1 release
714 * README: add introduction
715 * COPYING: replace by LGPL
716 * compiler/valacompiler.vala: add /usr/local/share/vala/vapi ad default
718 * vapi/glib-2.0.vala: File and HashTable enhancements
720 2006-07-14 Raffaele Sandrini <rasa@gmx.ch>
722 * vala/valacodegenerator.vala, vala/valasymbolresolver.vala,
723 vala/scanner.l, vala/valatypereference.vala,
724 vala/valasemanticanalyzer.vala, vala/valaelementaccess.vala,
725 vala/valadatatype.vala, vala/parser.y, vala/valaarray.vala,
726 vala/valacodevisitor.vala, ccode/valaccodeelementaccess.vala: add
727 element access support
728 * vala/valasemanticanalyzer.vala: add visit_postfix_expression
730 * tests/test-019.vala: add element access testcase
731 * vala/Makefile.am, tests/Makefile.am, ccode/Makefile.am: update
733 2006-07-14 Jürg Billeter <j@bitron.ch>
735 * vala/valacodecontext.vala: ignore file-internal dependencies
736 * vala/valasemanticanalyzer.vala: mark string literals as non-null, add
738 * vala/valamemorymanager.vala: only check for leaks with reference
739 types, manage memory in field initializers
740 * vala/valacodegenerator.vala: add non-null parameter typechecks for
741 structs, simplify ref expression if expression is known to be non-null
742 * vapi/glib-2.0.vala: unichar, string, String, and Path enhancements,
745 2006-07-10 Jürg Billeter <j@bitron.ch>
747 * vala/parser.y: adapt to changes in InvocationExpression,
748 LocalVariableDeclaration, and InitializerList
749 * vala/valasemanticanalyzer.vala: add some implicit casts, fix assigning
750 callback to field, adapt to changes in InvocationExpression
751 * vala/valamemorymanager.vala: adapt to change in InvocationExpression
752 * vala/valacodegenerator.vala: fix signal handler without parameters,
753 fix access to value-type struct members, adapt to changes in
754 LocalVariableDeclaration, InitializerList, and InvocationExprssion
755 * vala/valaclass.vala: don't let private static fields influence
756 has_private_fields, correct marshaller type name
757 * vala/valaifstatement.vala, vala/valainitializerlist.vala,
758 vala/valainstancecast.vala, vala/valaintegerliteral.vala,
759 vala/valainvocationexpression.vala, vala/valaliteralexpression.vala,
760 vala/valalocalvariabledeclaration.vala: add interface documentation,
761 use implicit namespace specification
762 * compiler/valacompiler.vala: fix --vapidir handling
763 * vapi/glib-2.0.vala: add MainLoop, MainContext, IdleSource, Source, and
766 2006-07-08 Jürg Billeter <j@bitron.ch>
768 * vala/valasemanticanalyzer.vala: don't allow write access to read-only
770 * vala/valacodegenerator.vala: adapt to changes in CCodeFragment and
772 * vala/valapostfixexpression.vala, ccode/valaccodebinaryexpression.vala,
773 ccode/valaccodeblock.vala, ccode/valaccodebreakstatement.vala,
774 ccode/valaccodecasestatement.vala,
775 ccode/valaccodecommaexpressoin.vala, ccode/valaccodecomment.vala,
776 ccode/valaccodeconditionalexpression.vala,
777 ccode/valaccodeconstant.vala, ccode/valaccodecontinuestatement.vala,
778 ccode/valaccodedeclaration.vala, ccode/valaccodedeclarator.vala,
779 ccode/valaccodeenum.vala, ccode/valaccodeemptystatement.vala,
780 ccode/valaccodeexpressionstatement.vala,
781 ccode/valaccodeformalparameter.vala, ccode/valaccodeforstatement.vala,
782 ccode/valaccodefragment.vala, ccode/valaccodefunction.vala,
783 ccode/valaccodefunctioncall.vala,
784 ccode/valaccodefunctiondeclarator.vala,
785 ccode/valaccodeidentifier.vala, ccode/valaccodeifstatement.vala,
786 ccode/valaccodeincludedirective.vala,
787 ccode/valaccodeinitializerlist.vala,
788 ccode/valaccodemacroreplacement.vala,
789 ccode/valaccodememberaccess.vala, ccode/valaccodemodifiers.vala,
790 ccode/valaccodenewline.vala, ccode/valaccodeoncesection.vala,
791 ccode/valaccodeparenthesizedexpression.vala,
792 ccode/valaccodereturnstatement.vala, ccode/valaccodestatement.vala,
793 ccode/valaccodestruct.vala, ccode/valaccodeswitchstatement.vala,
794 ccode/valaccodeunaryexpression.vala,
795 ccode/valaccodevariabledeclarator.vala,
796 ccode/valaccodewhilestatement.vala, ccode/valaccodewriter.vala: add
797 interface documentation, use implicit namespace specification
799 2006-07-08 Jürg Billeter <j@bitron.ch>
801 * vala/valasemanticanalyzer.vala: don't allow access to private members
803 2006-07-08 Jürg Billeter <j@bitron.ch>
805 * vala/valasemanticanalyzer.vala: check method signatures of overriding
807 * vala/parser.y, vala/valaclassregisterfunction.vala,
808 vala/valatyperegisterfunction.vala: support abstract classes
809 * vala/valamethod.vala: add equals method
810 * vala/valatypereference.vala: add equals method
811 * corrects overriding methods to match signatures of overridden methods
812 to fix build with current compiler
814 2006-07-08 Jürg Billeter <j@bitron.ch>
816 * vala/parser.y, vala/valacodegenerator.vala: adapt to ForStatement API
818 * vala/valaclass.vala: make {get,set}_lower_case_csuffix methods private
819 * vala/valaenum.vala, vala/valaenumvalue.vala,
820 vala/valaexpressionstatement.vala, vala/valafield.vala,
821 vala/valaflags.vala, vala/valaflagsvalue.vala,
822 vala/valaforeachstatement.vala, vala/valaforstatement.vala: add
823 interface documentation, use implicit namespace specification
825 2006-07-08 Jürg Billeter <j@bitron.ch>
827 * vala/parser.y: adapt to Method API changes
828 * vala/valasemanticanalyzer.vala: support signals, mark private signal
829 handlers as instance_last
830 * vala/valamemorymanager.vala: support signals
831 * vala/valacodegenerator.vala: support signals, methods with
833 * vala/valaclass.vala: add get_type_id and get_marshaller_type_name
835 * vala/valadatatype.vala: add get_marshaller_type_name method
836 * vala/valastruct.vala: move type_id attribute to CCode, support
837 marshaller_type_name attribute
838 * vala/valainterfacewriter.vala, vala/valamethod.vala,
839 vala/valastruct.vala, ccode/valaccodeexpression.vala,
840 ccode/valaccodenode.vala: add interface documentation, use implicit
841 namespace specification
842 * vala/valacallback.vala, vala/valasignal.vala: improve documentation
843 * ccode/valaccodecastexpression.vala: type cast in C code
844 * ccode/Makefile.am: update
845 * tests/test-018.vala: test signals
846 * tests/Makefile.am: update
847 * vapi/glib-2.0.vala: add type_id and marshaller_type_name attributes
849 2006-07-07 Jürg Billeter <j@bitron.ch>
851 * vala/valacodegenerator.vala, vala/valaclassregisterfunction.vala:
853 * vala/parser.y, vala/valasemanticanalyzer.vala,
854 vala/valalambdaexpression.vala: support lambda expressions with
856 * vala/valaclassregisterfunction.vala, vala/valaemptystatement.vala,
857 vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
858 vala/valatyperegisterfunction.vala: add interface documentation, use
859 implicit namespace specification
860 * tests/test-015.vala: test lambda expressions with statement body
861 * tests/test-017.vala: test interfaces
862 * tests/Makefile.am: update
864 2006-07-07 Jürg Billeter <j@bitron.ch>
866 * vala/valaconstructor.vala, vala/valacontinuestatement.vala,
867 vala/valadeclarationstatement.vala, vala/valadestructor.vala: add
868 interface documentation, use implicit namespace specification
870 2006-07-07 Jürg Billeter <j@bitron.ch>
872 * vala/valacodecontext.vala: use continue statements to decrease
874 * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
875 vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
876 vala/valacodegenerator.vala, vala/valaconditionalexpression.vala,
877 vala/valaconstant.vala: add interface documentation, use implicit
878 namespace specification
879 * vala/valasemanticanalyzer.vala: check that if, while, for, and
880 conditional expression conditions are boolean
881 * vala/valaclass.vala: remove dummy accessor, breaks build with old
883 * compiler/valacompiler.vala: use implicit namespace specification
884 * tests/test-016.vala: test conditional expressions
885 * tests/Makefile.am: update
887 2006-07-07 Jürg Billeter <j@bitron.ch>
889 * vala/valacodecontext.vala: add interface documentation, use implicit
890 namespace specification
891 * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
892 vala/valasemanticanalyzer.vala: adapt to change in CodeContext
894 2006-07-06 Jürg Billeter <j@bitron.ch>
896 * vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
897 vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
898 vala/valacodegenerator.vala, vala/valatypereference.vala, vala/vala.h,
899 vala/Makefile.am: merge SimpleName into MemberAccess
900 * vala/valasymbolresolver.vala, vala/valainterfacewriter.vala: adapt to
902 * vala/valasemanticanalyzer.vala: support non-static lambda expressions
903 and lambda expressions without return values
904 * vala/valacodegenerator.vala: support conditional expressions, support
905 lambda expressions as signal handlers, support read-only and
906 write-only properties
907 * vala/valacodevisitor.vala, vala/valamemorymanager.vala,
908 vala/valaassignment.vala: visit at beginning and end
909 * vala/valacallback.vala: add instance property
910 * vala/valasignal.vala: add get_callback method
911 * vala/valacastexpression.vala, vala/valacharacterliteral.vala,
912 vala/valaclass.vala, vala/valamemberaccess.vala, vala/valasignal.vala:
913 add interface documentation, use implicit namespace specification
915 2006-07-05 Jürg Billeter <j@bitron.ch>
917 * vala/parser.y: don't pass parameter list to lambda expression
919 * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
920 vala/valacodegenerator.vala: support static lambda expressions and
922 * vala/valainvocationexpression.vala: visit call node before visiting
923 begin of invocation expression
924 * vala/valaformalparameter.vala, vala/valalambdaexpression.vala: add
925 interface documentation, use implicit namespace specification
926 * vala/valamethod.vala: allow nested methods
927 * tests/test-015.vala: test lambda expressions
928 * tests/Makefile.am: update
930 2006-07-04 Jürg Billeter <j@bitron.ch>
932 * vala/parser.y: support implicit namespace specification in callback
934 * vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
935 vala/valacodegenerator.vala: support callbacks
936 * vala/valaassignment.vala, vala/valabinaryexpression.vala: improve
938 * vala/valabooleanliteral.vala, vala/valabreakstatement.vala,
939 vala/valacallback.vala: add interface documentation, use implicit
940 namespace specification
941 * vala/valacallback.vala: add matches_method method, mark as
943 * ccode/valaccodetypedefinition.vala: replace typedef_name by
944 declarator, add interface documentation, use implicit namespace
946 * tests/test-013.vala: test break
947 * tests/test-014.vala: test callback
948 * tests/Makefile.am: update
950 2006-07-04 Jürg Billeter <j@bitron.ch>
952 * vala/valablock.vala: add interface documentation, use implicit
953 namespace specification
954 * tests/test-011.vala: test binary expressions
955 * tests/test-012.vala: test blocks
956 * configure.ac, Makefile.am, tests/Makefile.am: distribute tests
958 2006-07-04 Jürg Billeter <j@bitron.ch>
960 * vala/valacodevisitor.vala, vala/valaattributeprocessor.vala,
961 vala/valabinaryexpression.vala: add interface documentation, use
962 implicit namespace specification
963 * vala/valaassignment.vala, vala/valaattribute.vala: documentation
966 2006-07-04 Jürg Billeter <j@bitron.ch>
968 * vala/valacodegenerator.vala: generate assignment with appropriate
970 * vala/valaassignment.vala: use implicit namespace specification
971 * ccode/valaccodeassignment.vala: support assignment operators , add
972 interface documentation, use implicit namespace specification
973 * tests/test-010.vala: test assignments
975 2006-07-03 Jürg Billeter <j@bitron.ch>
977 * vala/parser.y: support implicit namespace specification in struct,
978 interface, enum, and flags declaration
979 * vala/valasymbolbuilder.vala: report error when declaring non-static
981 * vala/valasemanticanalyzer.vala: analyze return statements
982 * vala/valacodegenerator.vala: correctly set GParamFlags for properties,
983 initialize static variables, add preconditions to property accessors,
984 support namespace methods
985 * vala/valaassignment.vala, vala/valaattribute.vala: add interface
986 documentation, use implicit namespace specification
987 * tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
988 tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
989 tests/test-007.vala, tests/test-008.vala, tests/test-009.vala:
990 update test cases to print test values
992 2006-06-30 Jürg Billeter <j@bitron.ch>
994 * vala/valacodenode.vala, vala/valadatatype.vala,
995 vala/valaexpression.vala: use implicit namespace specification,
998 2006-06-30 Jürg Billeter <j@bitron.ch>
1000 * vala/parser.y: support implicit namespace specification in class
1003 2006-06-29 Jürg Billeter <j@bitron.ch>
1005 * vala/valacodegenerator.vala, vala/valaclass.vala,
1006 vala/valadatatype.vala, vala/valastruct.vala: distinguish between
1007 ref_function/unref_function and dup_function/free_function
1008 * vala/valadatatype.vala: add interface documentation
1009 * vapi/glib-2.0.vala: use dup_function attribute, keep ref_function for
1012 2006-06-29 Jürg Billeter <j@bitron.ch>
1014 * vala/valacodenode.vala, vala/valaexpression.vala: add interface
1017 2006-06-28 Jürg Billeter <j@bitron.ch>
1019 * vala/valasymbolbuilder.vala: add private add_symbol helper method
1020 * vala/valasymbolresolver.vala: tiny refactoring of GObject lookup
1021 * vala/valasemanticanalyzer.vala: use get_parameters method of Callback
1022 * vala/valacallback.vala, vala/valaintegerliteral.vala,
1023 vala/valarealliteral.vala, vala/valastringliteral.vala: replace public
1024 fields by properties / private fields, don't mark properties as
1025 construct-only, use non-null types
1026 * vala/valaattribute.vala, vala/valacodenode.vala,
1027 vala/valaconstructor.vala, vala/valadatatype.vala,
1028 vala/valadestructor.vala, vala/valaenumvalue.vala,
1029 vala/valaexpression.vala, vala/valafield.vala,
1030 vala/valaflagsvalue.vala, vala/valaformalparameter.vala,
1031 vala/valaliteral.vala, vala/valalocalvariabledeclaration.vala,
1032 vala/valamethod.vala, vala/valanamedargument.vala,
1033 vala/valanamespace.vala, vala/valanamespacereference.vala,
1034 vala/valaproperty.vala, vala/valapropertyaccessor.vala,
1035 vala/valasignal.vala, vala/valastatement.vala,
1036 vala/valatypeparameter.vala, vala/valatypereference.vala,
1037 vala/valavariabledeclarator.vala: move source_reference to CodeNode
1039 2006-06-28 Jürg Billeter <j@bitron.ch>
1041 * vala/valabooleanliteral.vala, vala/valacharacterliteral.vala,
1042 vala/valaintegerliteral.vala, vala/valaliteral.vala,
1043 vala/valanullliteral.vala, vala/valarealliteral.vala,
1044 vala/valastringliteral.vala: move source_reference to Vala.Literal,
1045 use non-null types, don't mark properties as construct-only
1047 2006-06-26 Jürg Billeter <j@bitron.ch>
1049 * vala/parser.y: plug some memory leaks, adapt to Vala.Block changes
1050 * vala/valaattribute.vala, vala/valabinaryexpression.vala,
1051 vala/valablock.vala, vala/valabooleanexpression.vala,
1052 vala/valabreakstatement.vala, vala/valaliteral.vala,
1053 vala/valastatement.vala: replace public fields by properties / private
1054 fields, don't mark properties as construct-only, use non-null types
1055 * vala/valadatatype.vala: renamed from Vala.Type_ to Vala.DataType
1056 * vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
1057 vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
1058 vala/valasourcefile.vala, vala/valacallback.vala, vala/valaclass.vala,
1059 vala/valaclassregisterfunction.vala, vala/valaconstant.vala,
1060 vala/valaenum.vala, vala/valaflags.vala, vala/valainstancecast.vala,
1061 vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
1062 vala/valamethod.vala, vala/valastruct.vala,
1063 vala/valatypeparameter.vala, vala/valatypereference.vala,
1064 vala/valatypergisterfunction.vala: adapt to renaming of Vala.Type_ to
1066 * vala/Makefile.am: update
1068 2006-06-22 Jürg Billeter <j@bitron.ch>
1070 * vala/valaassignment.vala: don't mark properties as construct-only,
1072 * vala/valacodenode.vala: use non-null type
1073 * vala/valaexpression.vala: replace public fields by properties
1075 2006-06-22 Jürg Billeter <j@bitron.ch>
1077 * vala/parser.y: replace specialized interface member declarations by
1078 standard member declarations to allow non-abstract methods in
1080 * vala/valacodegenerator.vala: cast instance in property setter
1083 2006-06-22 Jürg Billeter <j@bitron.ch>
1085 * vala/scanner.l: support LAMBDA and CALLBACK
1086 * vala/parser.y: support callbacks and lambda expressions
1087 * vala/valacodevisitor.vala: add visit methods for callbacks and lambda
1089 * vala/valasymbolbuilder.vala: use non-null parameter types, support
1091 * vala/valasemanticanalyzer.vala: partially support interface methods,
1092 support callback invocations
1093 * vala/valamemorymanager.vala: support callback invocations
1094 * vala/valacodegenerator.vala: partially support interface methods
1095 * vala/valacallback.vala: initial implementation
1096 * vala/valacodenode.vala: replace public fields by properties
1097 * vala/valaexpression.vala: add expected_type field
1098 * vala/valainvocationexpression.vala: also visit at beginning
1099 * vala/valalambdaexpression.vala
1100 * vala/valanamespace.vala: support callbacks
1101 * vala/vala.h: update
1102 * vala/Makefile.am: update
1104 2006-06-18 Jürg Billeter <j@bitron.ch>
1106 * vala/scanner.l: support TYPEOF
1107 * vala/parser.y: support typeof expressions, out ref parameters, and
1109 * vala/valacodevisitor.vala: add visit method for typeof expressions
1110 * vala/valaattributeprocessor.vala: use non-null parameter types,
1111 support enums and properties
1112 * vala/valasemanticanalyzer.vala: support floating references
1113 * vala/valamemorymanager.vala: ignore signal connections
1114 * vala/valacodegenerator.vala: reset temp variable id at beginning of
1115 each file, fix out parameters, support properties without accessor
1116 methods, support floating references, add typeof expression, support
1117 static signal handlers
1118 * vala/valaclass.vala: use default arguments
1119 * vala/valaenum.vala: support cname, cprefix, and cheader_filename
1121 * vala/valaenumvalue.vala: use Enum.get_cprefix ()
1122 * vala/valamethod.vala: support FloatingReference attribute
1123 * vala/valanamespace.vala: use default arguments
1124 * vala/valaproperty.vala: support NoAccessorMethod attribute
1125 * vala/valastruct.vala: support type_id
1126 * vala/valatype.vala: add abstract get_type_id method
1127 * vala/valatypeofexpression.vala
1128 * vala/valatypereference.vala: add floating_reference property, correct
1129 to_string method signature
1130 * vala/vala.h: update
1131 * vala/Makefile.am: update
1132 * vapi/glib-2.0.vala: add GInitiallyUnowned
1133 * vapi/gtk+-2.0.vala: start of a GTK+ binding
1134 * vapi/pango.vala: start of a Pango binding
1136 2006-06-17 Jürg Billeter <j@bitron.ch>
1138 * vala/scanner.l: don't leak comment texts, support generic types with
1140 * vala/parser.y: plug most memory leaks
1141 * vala/valacodecontext.vala: work around memory management issues
1142 * vala/valasourcefile.vala: break reference cycles
1143 * vala/valasourcefilecycle.vala: break reference cycles
1144 * vala/valasymbolbuilder.vala: store `this` and `value` parameters in
1145 appropriate member node
1146 * vala/valasymbolresolver.vala: break reference cycle
1147 * vala/valasemanticanalyzer.vala: break reference cycle, promote local
1148 variables with ownership transferring initializer, store foreach
1149 variable declarator in statement object, assignments to properties
1150 don't take value ownership, make null type checks behave well on
1151 either side of a comparison
1152 * vala/valamemorymanager.vala: add support for named arguments,
1153 properties, and ellipsis parameter
1154 * vala/valacodegenerator.vala: add dispose function, register properties
1155 with static strings, don't leak strings when setting properties,
1156 support freeing string arrays, support freeing lists with allocated
1157 items, free local variables before return statements, free old value
1159 * vala/valainterfacewriter.vala: output more type reference information
1160 * vala/valaforeachstatement.vala: reference variable_declarator
1161 * vala/valaforstatement.vala: correct generic type arguments
1162 * vala/valamethod.vala: break reference cycle
1163 * vala/valaproperty.vala: reference this_parameter, add
1164 get_canoncial_cconstant method
1165 * vala/valapropertyaccessor.vala: reference value_parameter
1166 * vala/valasimplename.vala: remove unneeded type_argument_list
1167 parameter from constructor
1168 * vala/valasourcereference.vala: let to_string transfer ownership
1169 * vala/valastruct.vala: correct generic type argument
1170 * vala/valasymbol.vala: improve memory management
1171 * vala/valatype.vala: break reference cycles, let get_lower_case_cname
1173 * vala/valatypereference.vala: break reference cycle, use
1175 * vala/vala.h: add valaflags.h
1176 * ccode/valaccodefunction.vala: work around missing list deep copy
1177 * ccode/valaccodewriter.vala: don't manually free objects
1178 * compiler/valacompiler.vala: enable memory management by default,
1179 valac doesn't work anymore without memory management
1180 * vapi/glib-2.0.vala: add memory management information
1182 2006-06-15 Jürg Billeter <j@bitron.ch>
1184 * vala/valasemanticanalyzer.vala: add local variables to block
1185 * vala/valamemorymanager.vala: analyze local variable initializers
1186 * vala/valacodegenerator.vala: free local variables at end of block,
1187 only free non-null variables, use some strong references due to memory
1188 manager deficiencies
1189 * vala/valablock.vala: use non-null parameter types, add local variable
1191 * vala/valaenum.vala: let get_upper_case_cname transfer ownership
1192 * vala/valastruct.vala: add free_function attribute
1193 * ccode/valaccodewriter.vala: set freed values to null
1194 * vapi/glib-2.0.vala: add free functions
1196 2006-06-15 Raffaele Sandrini <rasa@gmx.ch>
1198 * vapi/libxml-2.0.vala: add basic libxml2 reader support
1199 * vapi/Makefile.am: add libxml-2.0.vala
1201 2006-06-14 Jürg Billeter <j@bitron.ch>
1203 * vala/parser.y: set is_lvalue_ref in property declarations
1204 * vala/valacodecontext.vala: use non-null parameter types
1205 * vala/valasymbolresolver.vala: fix lookup in namespaces of using
1206 directives, reset is_lvalue_ref where appropriate
1207 * vala/valasemanticanalyzer.vala: use non-null parameter types,
1208 correctly set is_ref and is_lvalue_ref in variable declarators
1209 * vala/valamemorymanager.vala: support methods which transfer ownership
1210 of arguments and or return value, analyze assignments
1211 * vala/valacodegenerator.vala: add missing reference increment calls,
1212 small memory management improvements
1213 * vala/valaclass.vala: use non-null parameter types
1214 * vala/valaexpression.vala: add ref_missing
1215 * vala/valastruct.vala: support ref_function attribute, use non-null
1217 * vala/valatype.vala: let get_upper_case_cname return ref string
1218 * vala/valatypereference.vala: add copy method
1219 * ccode/valaccodeconditionalexpression.vala
1220 * ccode/valaccodefunctioncall.vala: use non-null parameter types
1221 * ccode/Makefile.am: update
1222 * compiler/valacompiler.vala: process attributes before resolving
1223 symbols to have reference_type information available in resolver
1224 * vapi/glib-2.0.vala: add ref_function attributes to string and List,
1225 use ref parameters in List and HashTable until the compiler can handle
1228 2006-06-14 Jürg Billeter <j@bitron.ch>
1230 * vala/parser.y: set is_lvalue_ref for variables and fields
1231 * vala/valasemanticanalyzer.vala: variables and fields never transfer
1233 * vala/valamemorymanager.vala: use non-null parameter types, analyze
1235 * vala/valacodegenerator.vala: use non-null parameter types, support
1236 memory management for temporary variables in variable initializers,
1237 initialize all uninitialized references to null
1238 * vala/valareturnstatement.vala: visit end of full expression
1239 * vala/valatypereference.vala: add is_lvalue_ref property
1240 * vala/valavariabledeclarator.vala: visit end of full expression
1242 2006-06-14 Jürg Billeter <j@bitron.ch>
1244 * vala/valacodevisitor.vala: use non-null parameter types, add visit
1245 method for full expressions
1246 * vala/valasymbolresolver.vala: add some missing casts
1247 * vala/valasemanticanalyzer.vala: support memory management for
1249 * vala/valamemorymanager.vala: visitor to detect leaked references
1250 * vala/valacodegenerator.vala: add automatic memory management for
1251 temporary variables, add some missing casts
1252 * vala/valaassignment.vala: move source_reference to Expression
1253 * vala/valabinaryexpression.vala: move source_reference to Expression
1254 * vala/valacastexpression.vala: move source_reference to Expression
1255 * vala/valaconditionalexpression.vala: move source_reference to
1257 * vala/valaclass.vala: implement memory management methods
1258 * vala/valaexpression.vala: add source_reference, ref_leaked, and
1260 * vala/valaforstatement.vala: visit end of full expression
1261 * vala/valaifstatement.vala: visit end of full expression
1262 * vala/valainitializerlist.vala: move source_reference to Expression
1263 * vala/valainvocationexpression.vala: move source_reference to
1265 * vala/valaliteralexpression.vala: move source_reference to Expression
1266 * vala/valamemberaccess.vala: move source_reference to Expression
1267 * vala/valaobjectcreationexpression.vala: move source_reference to
1269 * vala/valaparenthesizedexpression.vala: move source_reference to
1271 * vala/valapostfixexpression.vala: move source_reference to Expression
1272 * vala/valasimplename.vala: move source_reference to Expression
1273 * vala/valastruct.vala: implement memory management methods
1274 * vala/valatype.vala: add abstract is_reference_counting,
1275 get_ref_function, and get_free_function methods
1276 * vala/valatypecheck.vala: move source_reference to Expression
1277 * vala/valaunaryexpression.vala: move source_reference to Expression
1278 * vala/valawhilestatement.vala: visit end of full expression
1279 * vala/Makefile.am: update
1280 * ccode/valaccodecommaexpression.vala
1281 * ccode/Makefile.am: update
1282 * compiler/valacompiler.vala: add enable-memory-management option
1283 * vapi/glib-2.0.vala: minor GType enhancements
1285 2006-06-07 Jürg Billeter <j@bitron.ch>
1287 * vala/valacodegenerator.vala: fix cname of constants, casts of self
1289 2006-06-07 Jürg Billeter <j@bitron.ch>
1291 * vala/valasemanticanalyzer.vala: add missing source dependencies
1292 * vala/valacodegenerator.vala: check parameter types at runtime
1294 2006-06-07 Jürg Billeter <j@bitron.ch>
1296 * vala/scanner.l: support REAL_LITERAL, TILDE, SIGNAL
1297 * vala/parser.y: support flags, signals, constructors, destructors, real
1298 literals, assignment operators, and non-null types
1299 * vala/valacodevisitor.vala: add visit methods for signals,
1300 constructors, destructors, and real literals
1301 * vala/valasymbolbuilder.vala: support signals, constructors,
1303 * vala/valasemanticanalyzer.vala: support constructors, real literals,
1304 and default arguments, fix lookup in namespaces of using directives
1305 * vala/valacodegenerator.vala: use default arguments and type register
1306 function classes, support constructors, interfaces, real literals,
1307 default arguments, casts, and signals, cast method arguments if
1309 * vala/valasourcefile.vala: use default arguments
1310 * vala/valaassignment.vala: add operator
1311 * vala/valacallback.vala: skeleton for callbacks
1312 * vala/valaclass.vala: add signals, constructor, and destructor
1313 * vala/valaclassregisterfunction.vala: get_type function for classes
1314 * vala/valaconstant.vala: use default arguments
1315 * vala/valaconstructor.vala
1316 * vala/valadestructor.vala
1317 * vala/valaenum.vala: use default arguments
1318 * vala/valaflags.vala
1319 * vala/valaflagsvalue.vala:
1320 * vala/valaformalparameter.vala: add default_expression
1321 * vala/valainstancecast.vala: dynamic instance cast
1322 * vala/valainterface.vala: add signals
1323 * vala/valainterfaceregisterfunction.vala: get_type function for
1325 * vala/valanamespace.vala: add flags, use default arguments
1326 * vala/valaproperty.vala: use default arguments
1327 * vala/valarealliteral.vala:
1328 * vala/valasignal.vala
1329 * vala/valastruct.vala: use default arguments
1330 * vala/valastringliteral.vala: use default arguments
1331 * vala/valatypereference.vala: add is_weak property
1332 * vala/valatyperegisterfunction.vala
1333 * vala/vala.h: update
1334 * vala/Makefile.am: update
1335 * ccode/valaccodeblock.vala: add prepend_statement method
1336 * ccode/valaccodewriter.vala: correctly indent multi-line comments
1337 * vapi/glib-2.0.vala: add float and double, use default arguments,
1338 temporarily remove astring
1340 2006-05-31 Jürg Billeter <j@bitron.ch>
1342 * vala/parser.y: support interfaces, adapt to Class/Struct/Type changes,
1343 improve error handling
1344 * vala/valacodevisitor.vala: support interfaces
1345 * vala/valasymbolbuilder.vala: improve error handling
1346 * vala/valasymbolresolver.vala: use operators to compare strings
1347 * vala/valasemanticanalyzer.vala: improve error handling, convert method
1348 argument and type mismatch warnings to errors, add skeleton for
1349 expressoin type checks, support string comparison operators
1350 * vala/valacodegenerator.vala: fix warning, create structs for
1351 interfaces, adapt to Class/Struct/Type changes, refactor and fix code
1352 in visit_simple_name and visit_member_access, use operators to compare
1354 * vala/valainterfacewriter.vala: use operators to compare strings
1355 * vala/valasourcefile.vala: fix warnings
1356 * vala/valaclass.vala: don't inherit from Struct
1357 * vala/valacodenode.vala: add error flag
1358 * vala/valaconstant.vala: add get_cname method
1359 * vala/valaenum.vala: override get_upper_case_cname method
1360 * vala/valaenumvalue.vala: adapt to Class/Struct/Type changes
1361 * vala/valafield.vala: use operators to compare strings
1362 * vala/valainterface.vala
1363 * vala/valainvocationexpression.vala: add add_argument method
1364 * vala/valamethod.vala: adapt to Class/Struct/Type changes, use
1365 operators to compare strings
1366 * vala/valanamespace.vala: support interfaces, use operators to compare
1368 * vala/valastringliteral.vala: fix warning
1369 * vala/valastruct.vala: inline visit_children method, use operators to
1371 * vala/valatype.vala: add abstract get_lower_case_cname method
1372 * vala/valatypereference.vala: add to_string method
1373 * vala/vala.h: update
1374 * vala/Makefile.am: update
1375 * vapi/glib-2.0.vala: small fixes
1377 2006-05-26 Jürg Billeter <j@bitron.ch>
1379 * vala/valasemanticanalyzer.vala: fix member access to namespaces
1380 * vala/valacodegenerator.vala: adapt to CCodeWriter changes
1381 * ccode/valaccodewriter.vala: don't touch file if nothing has changed,
1382 required to get incremental builds working
1383 * vapi/glib-2.0.vala: extend file functions
1385 * ccode/Makefile.am,vala/Makefile.am,compiler/Makefile.am: support
1388 2006-05-25 Jürg Billeter <j@bitron.ch>
1390 * vala/scanner.l: support ELLIPSIS, use g_strdup instead of strdup
1391 * vala/parser.y: support variable argument lists, type access modifiers
1392 * vala/valareport.vala: class to handle error reporting
1393 * vala/valasymbolbuilder.vala: switch to new error reporting scheme
1394 * vala/valasymbolresolver.vala: switch to new error reporting scheme
1395 * vala/valasemanticanalyzer.vala: process Constant and EnumValue symbol
1396 dependencies, check method argument types, find types of unary and
1397 binary expressions, remove dummy field, switch to new error reporting
1399 * vala/valacodegenerator.vala: support calling functions with variable
1400 argument lists, support break and continue statements, remove dummy fields,
1401 switch to new error reporting scheme
1402 * vala/valainterfacewriter.vala: visitor to write public vala api in one
1404 * vala/valasourcefile.vala: support field and property symbol
1405 dependencies, remove dummy field
1406 * vala/valaclass.vala: add is_abstract field
1407 * vala/valaenumvalue.vala: remove dummy field
1408 * vala/valaformalparameter.vala: add ellipsis property
1409 * vala/valamemberaccessibility.vala: add INTERNAL
1410 * vala/valamethod.vala: make parameters public, remove dummy field
1411 * vala/valaproperty.vala: remove dummy field
1412 * vala/valasymbol.vala: add name field and get_full_name method
1413 * vala/valatype.vala: add access field
1414 * vala/valatypereference.vala: switch to new error reporting scheme
1415 * ccode/valaccodeblock.vala: improve formatting
1416 * ccode/valaccodeifstatement.vala: improve formatting
1417 * ccode/valaccodewriter.vala: improve formatting
1418 * compiler/valacompiler.vala: add error handling, support multiple vapi
1419 directories, add --library option to generate public vala api
1420 * vapi/glib-2.0.vala: moved from bindings, add static GLib.stdout field,
1421 correctly mark functions with variable argument lists, add File.test
1424 * configure.ac,Makefile.am,ccode/Makefile.am,vala/Makefile.am,
1425 vapi/Makefile.am,compiler/Makefile.am: add build system
1427 * remove valac subdirectory: Bootstrap compiler is now obsolete.
1429 2006-05-24 Jürg Billeter <j@bitron.ch>
1431 Compiler is now self-hosting.
1433 * vala/parser.y: support type checks, field attributes, and virtual and
1434 override method modifiers
1435 * vala/valacodevisitor.vala: support type checks
1436 * vala/valasymbolbuilder.vala: correct generated property accessors
1437 * vala/valaattributeprocessor.vala: process field attributes
1438 * vala/valasemanticanalyzer.vala: support virtual methods and type
1440 * vala/valacodegenerator.vala: support properties, private fields,
1441 static fields, virtual methods, field initializers, while statements,
1442 foreach statements, instance last methods, postfix expressions, type
1444 * vala/valaclass.vala: correct source reference, add get_properties
1446 * vala/valafield.vala: visit initializer, support cname attribute
1447 * vala/valamethod.vala: support ReturnsModifiedPointer and InstanceLast
1448 attributes, add is_virtual, is_override, and base_method fields, add
1449 get_real_cname method
1450 * vala/valaproperty.vala: add get_upper_case_cname method
1451 * vala/valastruct.vala: add has_private_fields attribute, add
1453 * vala/valatypecheck.vala
1454 * vala/vala.h: update
1455 * ccode/valaccodebreakstatement.vala
1456 * ccode/valaccodecasestatement.vala
1457 * ccode/valaccodecontinuestatement.vala
1458 * ccode/valaccodedeclaration.vala: renamed from
1459 CCodeDeclarationStatement, support function declarators
1460 * ccode/valaccodedeclarator.vala: abstract base class for variable and
1461 function declarators
1462 * ccode/valaccodefunctiondeclarator.vala:
1463 * ccode/valaccodestruct.vala: support function declarations by adding
1464 add_declaration method
1465 * ccode/valaccodeswitchstatement.vala
1466 * ccode/valaccodeunaryexpression.vala: add postfix increment and
1468 * ccode/valaccodevariabledeclarator.vala: inherit from CCodeDeclarator
1469 * ccode/valaccodewhilestatement.vala
1471 2006-05-23 Jürg Billeter <j@bitron.ch>
1473 * vala/valacodevisitor.vala: support initializer lists
1474 * vala/valacodegenerator.vala: support constant arrays and initializer
1476 * vala/valaconstant.vala: visit initializer
1477 * vala/valainitializerlist.vala: add accept method
1478 * vala/valastruct.vala: visit constants later than fields due to
1479 constant initialization
1480 * vala/valatypereference.vala: add get_const_cname method
1481 * ccode/valaccodeinitializerlist.vala
1483 2006-05-22 Jürg Billeter <j@bitron.ch>
1485 * vala/parser.y: support abstract methods and static fields
1486 * vala/valasourcefile.vala: support parameter symbol dependencies
1487 * vala/valasymbolbuilder.vala: insert default body for get accessors
1488 * vala/valasemanticanalyzer.vala: add property type dependency
1489 * vala/valacodegenerator.vala: add constants, private static fields,
1490 main function, property accessors, this, casting for member access
1491 * vala/valablock.vala: add add_statement method
1492 * vala/valafield.vala: add instance field
1493 * vala/valamethod.vala: add is_abstract field
1494 * valac/generator.c: mark generated properties as writable
1496 2006-05-22 Jürg Billeter <j@bitron.ch>
1498 * vala/valacodegenerator.c: add class instance private struct, type
1499 register function, class init function, instance init function;
1500 support access to private members
1501 * ccode/valaccodedeclarationstatement.vala: support static modifier
1503 2006-05-21 Jürg Billeter <j@bitron.ch>
1505 * vala/scanner.l: support file comments, BREAK, CONTINUE
1506 * vala/parser.y: support break and continue, add more comments
1507 * vala/valacodecontext.vala: find cyclic header dependencies
1508 * vala/valasourcefile.vala: add get_namespaces method, add dependency
1509 information, add add_symbol_dependency method, add
1510 SourceFileDependencyType enum
1511 * vala/valasourcefilecycle.vala
1512 * vala/valacodevisitor.vala: support break and continue statements
1513 * vala/valaparser.vala: support file comments
1514 * vala/valasemanticanalyzer.vala: record dependency information
1515 * vala/valacodegenerator.vala: add include directives, type forward
1516 declarations, once section, enum values, method return types, and more
1518 * vala/valablock.vala, vala/valadeclarationstatement.vala,
1519 vala/valaemptystatement.vala, vala/valaexpressionstatement.vala,
1520 vala/valaforeachstatement.vala, vala/valaforstatement.vala,
1521 vala/valaifstatement.vala, vala/valareturnstatement.vala,
1522 vala/valastatement.vala, vala/valawhilestatement.vala: move
1523 source_reference property to Statement class
1524 * vala/valaclass.vala, vala/valaenum.vala, vala/valastruct.vala,
1525 vala/valatype.vala: move name, source_reference, namespace, and
1526 get_cheader_filenames to Type class
1527 * vala/valabreakstatement.vala
1528 * vala/valacontinuestatement.vala
1529 * vala/valaenum.vala: fix cname, add get_upper_case_cname method
1530 * vala/valaenumvalue.vala: add get_cname method
1531 * vala/valafield.vala: add access field
1532 * vala/valanamespace.vala: add get_structs, get_classes, and
1533 get_cheader_filenames methods, support cheader_filename attribute
1534 * vala/valastruct.vala: support cheader_filename attribute
1535 * vala/valatypereference.vala: support void cname
1536 * vala/vala.h: update
1537 * ccode/valaccodeblock.vala: support comments before statements
1538 * ccode/valaccodeenum.vala: optionally use typedef
1539 * ccode/valaccodefunction.vala: add copy method
1540 * ccode/valaccodenewline.vala
1541 * ccode/valaccodeoncesection.vala
1542 * ccode/valaccodewriter.vala: use whole line for comments
1543 * bindings/glib-2.0.vala: add cheader_filename attributes, extend string
1545 * valac/generator.c: fix private field access, include string.h
1547 2006-05-19 Jürg Billeter <j@bitron.ch>
1549 * vala/valacodegenerator.vala: include header file in corresponding
1550 source file, generate class macros and typedefs
1551 * ccode/valaccodeincludedirective.vala
1552 * ccode/valaccodemacroreplacement.vala: c macro definition
1553 * ccode/valaccodetypedefinition.vala: c typedef
1554 * bindings/glib-2.0.vala: correct comment
1556 2006-05-18 Jürg Billeter <j@bitron.ch>
1558 * vala/valacodecontext.vala: add get_source_files method
1559 * vala/valasourcefile.vala: add pkg flag
1560 * vala/valasymbolresolver.vala: use GLib.Object as default base class
1561 * vala/valacodegenerator.vala: ignore package bindings, fix names of
1563 * bindings/glib-2.0.vala: renamed from GLib.vala, add g_build_filename
1564 * compiler/valacompiler.vala: add pkg and pkgdir options
1566 2006-05-18 Jürg Billeter <j@bitron.ch>
1568 * vala/valacodegenerator.vala: add method parameters, public instance
1569 field access, invocation arguments
1570 * vala/valamethod.vala: add get_parameters method
1571 * ccode/valaccodeformalparameter.vala
1572 * ccode/valaccodefunction.vala: use CCodeFormalParameter
1573 * ccode/valaccodememberaccess.vala
1574 * valac/scanner.l: support ASSIGN_BITWISE_OR, BITWISE_OR
1575 * valac/parser.y: support bitwise or
1576 * valac/context.h: support bitwise or
1577 * valac/generator.c: support bitwise or
1579 2006-05-18 Jürg Billeter <j@bitron.ch>
1581 * vala/parser.y: support member and access modifiers, static methods
1582 * vala/valaattributeprocessor.vala: process method attributes
1583 * vala/valaclass.vala: don't set parent_type member of children
1584 * vala/valaconstant.vala: remove unnecessary parent_type member
1585 * vala/valafield.vala: remove unnecessary parent_type member
1586 * vala/valamethod.vala: support cname attribute
1587 * vala/valanamespace.vala: add methods
1588 * vala/valaproperty.vala: remove unnecessary parent_type member
1589 * vala/valastruct.vala: don't set parent_type member of children
1591 2006-05-18 Jürg Billeter <j@bitron.ch>
1593 * vala/parser.y: adapt to BinaryOperator enum changes
1594 * vala/valacodegenerator.vala: add operators to unary and binary
1596 * vala/valabinaryexpression.vala: correct enum value names
1597 * ccode/valaccodebinaryexpression.vala: add operator
1598 * ccode/valaccodeunaryexpression.vala
1600 2006-05-18 Jürg Billeter <j@bitron.ch>
1602 * vala/parser.y: support namespace attributes
1603 * vala/valaattributeprocessor.vala: process namespace and class
1605 * vala/valacodegenerator.vala: use correct symbol names
1606 * vala/valamethod.vala: add cname
1607 * vala/valanamespace.vala: add cprefix, support cprefix attribute
1608 * vala/valastruct.vala: prefix cname with namespace cprefix
1609 * bindings/GLib.vala: add tolower to unichar
1610 * valac/parser.y: rename namespace attribute cname to lower_case_cprefix
1612 2006-05-18 Jürg Billeter <j@bitron.ch>
1614 * update reference and property annotations
1615 * switch string struct to utf-8
1616 * valac/context.c: set source file in root namespace
1617 * valac/generator.c: don't include bindings stub header
1619 2006-05-17 Jürg Billeter <j@bitron.ch>
1621 * vala/valanamespace.vala: implement camel_case_to_lower_case method
1622 * bindings/GLib.vala: extend string types
1623 * valac/generator.c: support access to struct fields
1625 2006-05-17 Jürg Billeter <j@bitron.ch>
1627 * vala/parser.y: support variable declarators, subtyping, constants,
1628 properties, and enums
1629 * vala/valacodevisitor.vala: support formal parameters, property
1630 accessors, named arguments, and parenthesized expressions
1631 * vala/valasymbolbuilder.vala: visit enum values, constants, formal
1632 parameters, properties, and blocks
1633 * vala/valasymbolresolver.vala: save base class, accept void type,
1634 support type references with namespace name
1635 * vala/valasemanticanalyzer.vala: visitor to find static types of
1637 * vala/valacodegenerator.vala: support parenthesized expressions
1638 * vala/valablock.vala: add begin and end visit events
1639 * vala/valaclass.vala: support base types and properties
1640 * vala/valaenum.vala: add values
1641 * vala/valaenumvalue.vala
1642 * vala/valaexpression.vala: add generic symbol reference
1643 * vala/valaforeachstatement.vala: add begin and end visit events
1644 * vala/valaformalparameter.vala: add visit event
1645 * vala/valaliteral.vala: mark class as abstract
1646 * vala/valamethod.vala: add return_type
1647 * vala/valanamedargument.vala: add accept method
1648 * vala/valanamespace.vala: visit fields
1649 * vala/valaobjectcreationexpression.vala: visit arguments
1650 * vala/valaparenthesizedexpression.vala: add visit event
1651 * vala/valaproperty.vala: add accessors
1652 * vala/valapropertyaccessor.vala
1653 * vala/valasimplename.vala: code style update
1654 * vala/valastruct.vala: add constants
1655 * vala/valavariabledeclarator.vala: add type reference
1656 * vala/vala.h: update
1657 * compiler/valacompiler.vala: invoke SemanticAnalyzer
1658 * ccode/valaccodefragment.vala: code style update
1659 * ccode/valaccodeparenthesizedexpression.vala:
1660 * valac/parser.y: support replacement of readonly fields
1661 * valac/context.c: resolve types in operation expressions
1663 2006-05-16 Jürg Billeter <j@bitron.ch>
1665 * vala/scanner.l: fix multi-line comments
1666 * vala/valacodegenerator.vala: basic statement and expression handling
1667 * vala/valacodevisitor.vala: support variable declaration
1668 * vala/valasymbolbuilder.vala: adapt to visitor changes
1669 * vala/valaclass.vala: remove members already available in Struct
1670 * vala/valacodenode.vala: add ccodenode field
1671 * vala/valadeclarationstatement.vala: visit declaration
1672 * vala/valaexpressionstatement.vala: visit code containers after child
1674 * vala/valalocalvariabledeclaration.vala: add accept method
1675 * vala/valamethod.vala: add begin and end visit events
1676 * vala/valanamespace.vala: add lower_case_cprefix
1677 * vala/valastruct.vala: define get_upper_case_cname method
1678 * vala/valatype.vala: declare get_upper_case_cname method
1679 * vala/valatypereference.vala: add get_upper_case_cname method
1680 * vala/valavariabledeclarator.vala: add accept method
1681 * ccode/valaccodewriter.vala: formatting fixes
1682 * ccode/valaccodeassignment.vala
1683 * ccode/valaccodebinaryexpression.vala
1684 * ccode/valaccodeblock.vala: use CCodeStatement
1685 * ccode/valaccodeconstant.vala
1686 * ccode/valaccodedeclarationstatement.vala
1687 * ccode/valaccodeemptystatement.vala
1688 * ccode/valaccodeexpression.vala
1689 * ccode/valaccodeexpressionstatement.vala
1690 * ccode/valaccodeforstatement.vala
1691 * ccode/valaccodefunction.vala: formatting fixes
1692 * ccode/valaccodefunctioncall.vala
1693 * ccode/valaccodeidentifier.vala
1694 * ccode/valaccodeifstatement.vala
1695 * ccode/valaccodereturnstatement.vala
1696 * ccode/valaccodestatement.vala
1697 * ccode/valaccodestruct.vala: formatting fixes
1698 * ccode/valaccodevariabledeclarator.vala
1699 * bindings/GLib.vala: extend string types
1700 * valac/context.c: resolve types in named argument list in object
1703 2006-05-16 Jürg Billeter <j@bitron.ch>
1705 * vala/parser.y: fix unary expressions
1706 * vala/valacodegenerator.vala: add visit_block method
1707 * vala/valacodevisitor.vala: add visit methods for statements,
1708 expressions, and literals
1709 * vala/valaassignment.vala: add accept method
1710 * vala/valabinaryexpression.vala: add accept method
1711 * vala/valablock.vala: add accept method
1712 * vala/valabooleanliteral.vala: add accept method
1713 * vala/valacastexpression.vala: add accept method
1714 * vala/valacharacterliteral.vala: add accept method
1715 * vala/valaconditionalexpression.vala: add accept method
1716 * vala/valaconstant.vala: visit code containers after child elements
1717 * vala/valadeclarationstatement.vala: add accept method
1718 * vala/valaemptystatement.vala: add accept method
1719 * vala/valaexpressionstatement.vala: add accept method
1720 * vala/valafield.vala: visit code containers after child elements
1721 * vala/valaforeachstatement.vala: add accept method
1722 * vala/valaformalparameter.vala: add accept method
1723 * vala/valaforstatement.vala: add accept method
1724 * vala/valaifstatement.vala: add accept method
1725 * vala/valaintegerliteral.vala: add accept method
1726 * vala/valainvocationexpression.vala: add accept method
1727 * vala/valaliteralexpression.vala: add accept method
1728 * vala/valamemberaccess.vala: add accept method
1729 * vala/valamethod.vala: add accept method
1730 * vala/valanullliteral.vala: add accept method
1731 * vala/valaobjectcreationexpression.vala: add accept method
1732 * vala/valaparenthesizedexpression.vala: add accept method
1733 * vala/valapostfixexpression.vala: add accept method
1734 * vala/valareturnstatement.vala: add accept method
1735 * vala/valasimplename.vala: add accept method
1736 * vala/valastringliteral.vala: add accept method
1737 * vala/valaunaryexpression.vala: fix constructor, add accept method
1738 * vala/valawhilestatement.vala: add accept method
1739 * ccode/valaccodefunction.vala: renamed from CCodeMethod
1741 2006-05-16 Jürg Billeter <j@bitron.ch>
1743 * vala/parser.y: support logical AND and OR expressions, conditional
1744 expressions, assignments, constants, method parameters, and properties
1745 * vala/valacodevisitor.vala: add constant and property visits
1746 * vala/valaassignment.vala
1747 * vala/valabinaryexpression.vala: add bitwise xor, AND, and OR
1748 * vala/valaconditionalexpression.vala
1749 * vala/valaconstant.vala
1750 * vala/valaformalparameter.vala
1751 * vala/valainitializerlist.vala
1752 * vala/valamemberaccess.vala: add source_reference
1753 * vala/valamethod.vala: add parameters
1754 * vala/valaproperty.vala
1755 * vala/vala.h: update
1757 2006-05-16 Jürg Billeter <j@bitron.ch>
1759 * vala/parser.y: support member access, multiplicative, additive, shift,
1760 equality, relational, and bitwise expressions
1761 * vala/valabinaryexpression.vala
1762 * vala/valamemberaccess.vala: add constructor
1763 * vala/vala.h: update
1765 2006-05-15 Jürg Billeter <j@bitron.ch>
1767 * vala/scanner.l: support assign operators
1768 * vala/parser.y: support assign operators and attributes
1769 * vala/valaattributeprocessor.vala: visitor to process compiler
1771 * vala/valacodegenerator.vala: support structs, enums, and methods
1772 * vala/valacodenode.vala: support attributes
1773 * vala/valaattribute.vala
1774 * vala/valamemberaccessibility.vala
1775 * vala/valamethod.vala
1776 * vala/valastruct.vala: support CCode (cname) attribute
1777 * vala/vala.h: update
1778 * compiler/valacompiler.vala: invoke AttributeProcessor
1779 * ccode/valaccodeblock.vala
1780 * ccode/valaccodeenum.vala
1781 * ccode/valaccodemethod.vala
1782 * ccode/valaccodemodifiers.vala
1783 * bindings/GLib.vala: add string cmp method
1784 * valac/scanner.l: support BITWISE_AND
1785 * valac/parser.y: support bitwise and
1786 * valac/context.h: add bitwise and
1787 * valac/generator.c: support enum dependencies and bitwise and
1789 2006-05-14 Jürg Billeter <j@bitron.ch>
1791 * vala/scanner.l: support OPEN_CAST_PARENS, IS, WHILE
1792 * vala/parser.y: support structs, enums, and fields, cast, postfix,
1793 while, ref types, and generic type parameters; fix comments
1794 * vala/valacodecontext.vala: add root symbol
1795 * vala/valasourcefile.vala: add using directives, c filenames
1796 * vala/valacodevisitor.vala: add begin and end visits for some container
1797 types, add struct, enum, field, type parameter, namespace reference,
1798 and type reference visits
1799 * vala/valaparser.vala: adapt to visitor changes
1800 * vala/valasymbolbiulder.vala: visitor to fill symbol table
1801 * vala/valasymbolresolver.vala: visitor to resolve symbol references
1802 * vala/valacodegenerator.vala: add beginning of code generation
1803 * vala/valacodenode.vala: add symbol reference
1804 * vala/valacastexpression.vala
1805 * vala/valaclass.vala: derive from struct
1806 * vala/valaenum.vala
1807 * vala/valaexpression.vala: add static_type, field_reference, and
1808 method_reference fields
1809 * vala/valafield.vala
1810 * vala/valamemberaccess.vala
1811 * vala/valanamespace.vala: add structs, enums, and fields
1812 * vala/valanamespacereference.vala
1813 * vala/valapostfixexpression.vala
1814 * vala/valasourcereference.vala: adapt to comment changes
1815 * vala/valastringliteral.vala: add eval method
1816 * vala/valastruct.vala
1817 * vala/valasymbol.vala
1818 * vala/valatype.vala
1819 * vala/valatypeparameter.vala:
1820 * vala/valatypereference.vala: add type, type_parameter, is_ref, and
1821 is_out fields, add get_cname method
1822 * vala/valavariabledeclarator.vala: add name and initializer fields
1823 * vala/valawhilestatement.vala:
1824 * vala/vala.h: update
1825 * compiler/valacompiler.vala: run SymbolBuilder and SymbolResolver
1826 * ccode/valaccodewriter.vala
1827 * ccode/valaccodecomment.vala
1828 * ccode/valaccodefragment.vala
1829 * ccode/valaccodenode.vala
1830 * ccode/valaccodestruct.vala
1831 * bindings/GLib.vala: add/extend ustring, Path, Object, File, HashTable
1832 * valac/scanner.l: support OPEN_CAST_PARENS, OP_AND, OP_OR, IS, WHILE
1833 * valac/parser.y: support cast, while, include_filename ccode attribute,
1834 AND and OR expressions, IS type checks, unary minus
1835 * valac/context.h: add while statements, cast and IS expressions, and
1836 AND and OR operators
1837 * valac/context.c: support cast, IS, while; fix if
1838 * valac/generator.c: support cast, IS, pointer arithmetic, namespace
1839 methods, imported include files
1840 * valac/driver.c: add symbol alias
1842 2006-05-07 Jürg Billeter <j@bitron.ch>
1844 * vala/scanner.l: tokenizer for new vala compiler
1845 * vala/parser.y: parser vor new vala compiler
1846 * vala/valablock.vala
1847 * vala/valabooleanliteral.vala
1848 * vala/valacharacterliteral.vala
1849 * vala/valaclass.vala: add methods
1850 * vala/valadeclarationstatement.vala
1851 * vala/valaemptystatement.vala
1852 * vala/valaexpression.vala
1853 * vala/valaexpressionstatement.vala
1854 * vala/valaforeachstatement.vala
1855 * vala/valaforstatement.vala
1856 * vala/valaifstatement.vala
1857 * vala/valaintegerliteral.vala
1858 * vala/valainvocationexpression.vala
1859 * vala/valaliteral.vala
1860 * vala/valaliteralexpression.vala
1861 * vala/valalocalvariabledeclaration.vala
1862 * vala/valamethod.vala
1863 * vala/valanamedargument.vala
1864 * vala/valanullliteral.vala
1865 * vala/valaobjectcreationexpression.vala
1866 * vala/valaparenthesizedexpression.vala
1867 * vala/valareturnstatement.vala
1868 * vala/valasimplename.vala
1869 * vala/valastatement.vala
1870 * vala/valastringliteral.vala
1871 * vala/valatypereference.vala
1872 * vala/valaunaryexpression.vala
1873 * vala/valavariabledeclarator.vala
1874 * vala/valacodevisitor.vala: add visit_method skeleton
1875 * vala/valacodegenerator.vala: do.
1876 * vala/vala.h: include generated header files
1877 * valac/generator.c: support bool and enum properties, support enums
1879 2006-05-06 Jürg Billeter <j@bitron.ch>
1881 * vala/valacodecontext.vala
1882 * vala/valasourcefile.vala
1883 * vala/valasourcereference.vala: filename, line, and comment container
1884 * vala/valacodenode.vala: abstract code node
1885 * vala/valanamespace.vala: namespace node
1886 * vala/valaclass.vala: class node
1887 * vala/valacodevisitor.vala: abstract syntax tree visitor
1888 * vala/valaparser.vala: vala parser
1889 * vala/valacodegenerator.vala: code generator skeleton
1890 * compiler/valacompiler.vala: compiler driver
1891 * bindings/GLib.vala: add bindings for GList and GOptionContext
1892 * valac/scanner.l: support multi-line comments, ABSTRACT, INTERFACE,
1894 * valac/parser.y: replace AT by HASH, support readonly fields
1895 * valac/context.h: small fixes
1896 * valac/context.c: small fixes
1897 * valac/generator.c: fix override methods, basic support for properties
1899 2006-05-03 Jürg Billeter <j@bitron.ch>
1901 * valac/scanner.l: support OP_NEG, CONSTRUCT, FOREACH, IN
1902 * valac/parser.y: add foreach, construct properties; merge modifiers to
1903 resolve parser conflicts
1904 * valac/context.h: merge modifiers
1905 * valac/context.c: support namespace fields, resolve types in
1906 assignments, invocations, and if, for, and foreach statements
1907 * valac/generator.c: support negation operator, inherited fields in
1908 object variables, foreach statements for arrays and GList, fix
1909 circular dependencies
1911 2006-05-02 Raffaele Sandrini <rasa@gmx.ch>
1913 * tests/test-008.vala: add tests for base fields
1914 * valac/generator.c: remove klass local variable, add support for
1917 2006-05-01 Jürg Billeter <j@bitron.ch>
1919 * valac/scanner.l: support ENUM, FLAGS, STRUCT
1920 * valac/parser.y: add structs, generic types, enums, flags, attributes,
1921 ref and out parameters
1922 * valac/context.h: add ValaFlags, ValaFlagsValue, and ValaAnnotation
1924 * valac/context.c: support bool, uint, pointer, generic types
1925 * valac/generator.h: save pointer to current struct
1926 * valac/generator.c: support structs, ReturnsModifiedPointer, include
1929 2006-04-30 Jürg Billeter <j@bitron.ch>
1931 * valac/scanner.l: support AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF,
1932 THIS, VALA_TRUE, USING, VAR, LITERAL_CHARACTER
1933 * valac/parser.y: add character, boolean, and null literals, using
1934 directive, @ type qualifier, constants, ref and out variables,
1935 array element access, this access, struct and array initializer,
1937 * valac/context.h: add ValaEnum, ValaConstant, and ValaEnumValue structs
1938 * valac/context.c: support constants, struct members, enums, var type,
1940 * valac/generator.h: save pointer to current class
1941 * valac/generator.c: support constants, boolean and null literals,
1942 array element access, using directives, this access, enums, private
1943 static fields, ref and out variables, struct and array initializer,
1944 boolean, character, and null literal, var type
1946 2006-04-27 Raffaele Sandrini <rasa@gmx.ch>
1948 * tests/test-008.vala:
1949 * tests/test-009.vala: add
1953 * valac/generator.c:
1954 * valac/context.h: add field and property support (property parse only
1956 * AUTHORS: add myself
1958 2006-04-26 Jürg Billeter <j@bitron.ch>
1960 * valac/scanner.l: support OVERRIDE, VIRTUAL
1961 * valac/parser.y: add virtual methods
1962 * valac/context.h: support virtual methods, improve init and class_init
1963 * valac/context.c: set symbol in ValaMethod struct
1964 * valac/generator.c: support virtual methods
1965 * tests/test-007.vala: test virtual method declaration and invocation
1967 2006-04-26 Jürg Billeter <j@bitron.ch>
1969 * valac/scanner.l: support OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC,
1970 OP_EQ, OP_NE, OP_LE, OP_GE, OP_LT, OP_GT, MINUS, STAR, DIV, ELSE, FOR,
1972 * valac/parser.y: add array type references, equality expressions,
1973 relational expressions, multiplicative expressions, postfix
1974 operations, object creation, if conditionals, for loops
1975 * valac/context.h: add ValaNamedArgument struct, support if and for
1977 * valac/context.c: resolve types in object creation expressions of
1978 variable initializers
1979 * valac/generator.c: support array type references, init and class_init
1980 methods, more operations, object creation, for loops, if conditionals,
1981 call g_type_init in main
1982 * tests/test-006.vala: test instance method invocation, object creation,
1983 for loop, if conditional, multiplicative expression
1985 2006-04-25 Jürg Billeter <j@bitron.ch>
1987 * valac/parser.y: save cname in class, save location of statements and
1989 * valac/context.h: add ValaStruct struct
1990 * valac/context.c: support symbols from methods and structs, add int
1991 and string fundamental types, resolve types in local variable
1993 * valac/generator.h: save pointer to current method block
1994 * valac/generator.c: add special handling for main method, basic support
1995 for method invocations, literals, member access, simple names,
1996 additive expressions, return statments, blocks
1997 * tests/test-005.vala: test static method invocation, literal integer,
1998 simple name, additive expression, return statement, block, main method
2000 2006-04-24 Jürg Billeter <j@bitron.ch>
2002 * valac/scanner.l: support single-line comments, ASSIGN, PLUS, RETURN,
2003 LITERAL_INTEGER, LITERAL_STRING
2004 * valac/parser.y: add basic statements and expressions
2005 * valac/context.h: add ValaStatement, ValaVariableDeclaration,
2006 ValaVariableDeclarator, and ValaExpression structs
2007 * valac/context.c: remove unreachable line
2009 2006-04-24 Jürg Billeter <j@bitron.ch>
2011 * valac/scanner.l: set token location, support OPEN_PARENS,
2012 CLOSE_PARENS, SEMICOLON, PUBLIC, STATIC
2013 * valac/parser.y: save symbol location, output exact error location,
2014 support method declarations
2015 * valac/context.h: add ValaLocation, ValaMethod, and ValaFormalParameter
2016 structs, add location to ValaClass and ValaTypeReference structs
2017 * valac/context.c: output error location, support method declarations
2018 * valac/generator.c: support method declarations
2019 * valac/driver.c: add comment
2020 * tests/test-004.vala: test method declaration
2022 2006-04-22 Jürg Billeter <j@bitron.ch>
2024 * valac/scanner.l: support DOT, COLON, and COMMA
2025 * valac/parser.y: save lower and upper case cnames in namespace and
2026 class objects, support base classes
2027 * valac/context.h: add ValaSymbol and ValaTypeReference structs, add
2028 cnames to ValaNamespace and ValaClass structs
2029 * valac/context.c: add symbol handling, type resolving, set cnames in
2031 * valac/generator.c: remove cname generation, support base classes
2032 * valac/driver.c: add symbols and resolve types
2033 * tests/test-003.vala: test base class