Jürg Billeter [Thu, 5 Oct 2006 09:07:30 +0000 (09:07 +0000)]
transform compund assignments into simple assignments add default argument
2006-10-05 Jürg Billeter <j@bitron.ch>
* vala/valasemanticanalyzer.vala: transform compund assignments into
simple assignments
* vala/valabinaryexpression.vala: add default argument to construction
method
* tests/test-021.vala: test string += assignment
svn path=/trunk/; revision=141
Jürg Billeter [Wed, 4 Oct 2006 22:00:37 +0000 (22:00 +0000)]
correct takes_ownership in arrays add limited support for array length
2006-10-04 Jürg Billeter <j@bitron.ch>
* vala/valasymbolresolver.vala: correct takes_ownership in arrays
* vala/valacodegenerator.vala: add limited support for array length
fields, store array length from array creation expression, copy array
length in array assignments
* vala/valafield.vala: support NoArrayLength attribute
* compiler/valacompiler.vala: add NoArrayLength attribute to option
arrays
svn path=/trunk/; revision=140
Jürg Billeter [Wed, 4 Oct 2006 13:17:07 +0000 (13:17 +0000)]
specify array element type as type argument create declarations for array
2006-10-04 Jürg Billeter <j@bitron.ch>
* vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala: specify
array element type as type argument
* vala/valacodegenerator.vala: create declarations for array length
variables, iterate over arrays by index if it has known length
* vala/valacharacterliteral.vala: correct return type of get_char
* vala/valanamespace.vala: process enums and flags first
* vala/valavariabledeclarator.vala: set parent_node of initializer, add
replace method
* tests/test-023.vala: test list construction
* tests/Makefile.am: update
svn path=/trunk/; revision=139
Jürg Billeter [Tue, 3 Oct 2006 18:16:45 +0000 (18:16 +0000)]
don't use InstanceCast for callbacks
2006-10-03 Jürg Billeter <j@bitron.ch>
* vala/valacodegenerator.vala: don't use InstanceCast for callbacks
svn path=/trunk/; revision=138
Raffaele Sandrini [Thu, 28 Sep 2006 12:21:08 +0000 (12:21 +0000)]
add one dimensional array assignment support testcase for array
2006-09-28 Raffaele Sandrini <rasa@gmx.ch>
* vala/valacodegenerator.vala, vala/valasemanticanalyzer.vala,
vala/valamemorymanager.vala: add one dimensional array assignment
support
* tests/test-022.vala: testcase for array creation/assignment
* tests/Makefile.am: update
svn path=/trunk/; revision=137
Jürg Billeter [Thu, 28 Sep 2006 06:44:12 +0000 (06:44 +0000)]
add and improve various types
2006-09-28 Jürg Billeter <j@bitron.ch>
* vapi/glib-2.0.vala: add and improve various types
svn path=/trunk/; revision=136
Jürg Billeter [Wed, 27 Sep 2006 22:31:27 +0000 (22:31 +0000)]
set attributes also for non-readable properties support interface signals
2006-09-28 Jürg Billeter <j@bitron.ch>
* vala/parser.y: set attributes also for non-readable properties
* vala/valacodegenerator.vala: support interface signals
* vala/valainvocationexpression.vala,
vala/valaobjectcreationexpression.vala: fix problem when children
change while iterating over them
svn path=/trunk/; revision=135
Jürg Billeter [Wed, 27 Sep 2006 20:01:11 +0000 (20:01 +0000)]
support InstanceByReference attribute add Filename struct, fix Process
2006-09-27 Jürg Billeter <j@bitron.ch>
* vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
vala/valamethod.vala: support InstanceByReference attribute
* vapi/glib-2.0.vala: add Filename struct, fix Process methods
* vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
fix static methods without parameters, add InstanceByReference
attributes
svn path=/trunk/; revision=134
Jürg Billeter [Wed, 27 Sep 2006 19:36:15 +0000 (19:36 +0000)]
fix static modifier for methods without parameters
2006-09-27 Jürg Billeter <j@bitron.ch>
* vapigen/valagidlparser.vala: fix static modifier for methods without
parameters
svn path=/trunk/; revision=133
Jürg Billeter [Wed, 27 Sep 2006 17:49:40 +0000 (17:49 +0000)]
set instance_by_reference flag on generated methods if appropriate set
2006-09-27 Jürg Billeter <j@bitron.ch>
* vapigen/valagidlparser.vala: set instance_by_reference flag on
generated methods if appropriate
* packages/gtk+-2.0/gtk+-2.0.metadata: set ellipsis for
gtk_show_about_dialog
svn path=/trunk/; revision=132
Jürg Billeter [Wed, 27 Sep 2006 15:43:24 +0000 (15:43 +0000)]
visit interface signals obey lock keyword add interface signals
2006-09-27 Jürg Billeter <j@bitron.ch>
* vala/valainterface.vala: visit interface signals
* vala/valainterfacewriter.vala: obey lock keyword
* vapi/atk.vala, vapi/gtk+-2.0.vala: add interface signals
svn path=/trunk/; revision=131
Jürg Billeter [Wed, 27 Sep 2006 15:39:51 +0000 (15:39 +0000)]
support interface signals change some signal declarations to fix parsing
2006-09-27 Jürg Billeter <j@bitron.ch>
* vapigen/valagidlparser.vala: support interface signals
* packages/gtk+-2.0/gtk+-2.0.patch: change some signal declarations
to fix parsing
* packages/gtk+-2.0/gtk+-2.0.gidl: regenerated
* packages/gtk+-2.0/gtk+-2.0.metadata: add missing emitter methods
svn path=/trunk/; revision=130
Raffaele Sandrini [Wed, 27 Sep 2006 12:37:03 +0000 (12:37 +0000)]
add threading and assorted structures add an additional abstraction for
2006-09-27 Raffaele Sandrini <rasa@gmx.ch>
* vapi/glib-2.0.vala: add threading and assorted structures
* vala/valamember.vala: add an additional abstraction for all members
of a class
* vala/valalockstatement.vala, vala/valacodegenerator.vala,
vala/scanner.l, vala/valasemanticanalyzer.vala,
vala/valalockable.vala, vala/parser.y, vala/valacodevisitor.vala:
add lock feature to vala
* vala/valamethod.vala, vala/valafield.vala, vala/valaconstant.vala,
vala/valasignal.vala, vala/valaproperty.vala: make those members
lockable
* vala/valacodegenerator.vala: use member abstraction to simlify field
initialisation and destruction
* vala/valacodegenerator.vala: introduce new C macros VALA_FREE_CHECKED
and VALA_FREE_UNCHECKED to make safe freeing code nicer
* vala/vala.h: update and bring arraycreationexpression in order
* vala/Makefile.am: update
svn path=/trunk/; revision=129
Jürg Billeter [Wed, 27 Sep 2006 08:57:30 +0000 (08:57 +0000)]
add Process struct with spawn functions
2006-09-27 Jürg Billeter <j@bitron.ch>
* vapi/glib-2.0.vala: add Process struct with spawn functions
svn path=/trunk/; revision=128
Jürg Billeter [Wed, 27 Sep 2006 08:32:23 +0000 (08:32 +0000)]
fix global methods
2006-09-27 Jürg Billeter <j@bitron.ch>
* vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
fix global methods
svn path=/trunk/; revision=127
Jürg Billeter [Wed, 27 Sep 2006 08:30:41 +0000 (08:30 +0000)]
move global methods from Global struct to namespace, remove leading
2006-09-27 Jürg Billeter <j@bitron.ch>
* gidlgen/gapi2xml.pl: move global methods from Global struct to
namespace, remove leading underscore in names of global methods
* vapigen/valagidlparser.vala: support namespace methods
* packages/atk/atk.gidl, packages/gdk-2.0/gdk-2.0.gidl,
packages/pango/pango.gidl, packages/gtk+-2.0/gtk+-2.0.gidl:
regenerated
* packages/gtk+-2.0/gtk+-2.0.metadata: mark GtkActionEntry as value type
svn path=/trunk/; revision=126
Jürg Billeter [Tue, 26 Sep 2006 21:09:44 +0000 (21:09 +0000)]
add string.reverse, Source.remove, Environment.get_variable,
2006-09-26 Jürg Billeter <j@bitron.ch>
* vapi/glib-2.0.vala: add string.reverse, Source.remove,
Environment.get_variable, Environment.set_variable,
Environment.get_current_dir, Path.is_absolute, Path.skip_root
svn path=/trunk/; revision=125
Jürg Billeter [Tue, 26 Sep 2006 20:35:51 +0000 (20:35 +0000)]
add missing cast
2006-09-26 Jürg Billeter <j@bitron.ch>
* vala/valaassignment.vala, vala/valabinaryexpression.vala,
vala/valacastexpression.vala, vala/valadostatement.vala,
vala/valaexpressionstatement.vala, vala/valaforeachstatement.vala,
vala/valaforstatement.vala, vala/valaifstatement.vala,
vala/valainvocationexpression.vala, vala/valamemberaccess.vala,
vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
vala/valawhilestatement.vala: add missing cast
svn path=/trunk/; revision=124
Jürg Billeter [Sun, 3 Sep 2006 06:25:18 +0000 (06:25 +0000)]
make character_literal stricter support more method return types, support
2006-09-03 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: make character_literal stricter
* vala/valacodegenerator.vala: support more method return types,
support unicode character literals
* vala/valacharacterliteral.vala: validate input, add get_char method
svn path=/trunk/; revision=123
Jürg Billeter [Sat, 2 Sep 2006 18:59:15 +0000 (18:59 +0000)]
always default type arguments to strong avoid unnecessary ref/unref pair
2006-09-02 Jürg Billeter <j@bitron.ch>
* vala/parser.y, vala/valacodecontext.vala,
vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
vala/valacodegenerator.vala, vala/valaarraycreationexpression.vala,
vala/valablock.vala, vala/valacallback.vala, vala/valaclass.vala,
vala/valaelementaccess.vala, vala/valafield.vala,
vala/valaformalparameter.vala, vala/valaforstatement.vala,
vala/valainitializerlist.vala, vala/valainterface.vala,
vala/valainvocationexpression.vala, vala/valainvokable.vala,
vala/valalambdaexpression.vala,
vala/valalocalvariabledeclaration.vala, vala/valamemberaccess.vala,
vala/valamethod.vala, vala/valanamespace.vala,
vala/valaobjectcreationexpression.vala, vala/valasignal.vala,
vala/valasourcefile.vala, vala/valastruct.vala,
vala/valaswitchsection.vala, vala/valaswitchstatement.vala,
vala/valatypereference.vala, vala/valavariabledeclarator.vala,
ccode/valaccodefragment.vala, vapi/glib-2.0.vala: always default type
arguments to strong
* vala/valacodevisitor.vala, vala/valacodegenerator.vala,
vala/valaexpression.vala, vala/valareturnstatement.vala: avoid
unnecessary ref/unref pair in return expression
* vala/valatypereference.vala: copy type arguments in copy method, too
* vala/valasemanticanalyzer.vala: set type arguments in type_reference
of ObjectCreationExpression
* vala/valadatatype.vala: fix warning
svn path=/trunk/; revision=122
Jürg Billeter [Sat, 2 Sep 2006 16:18:35 +0000 (16:18 +0000)]
special case construction of GLib.List and GLib.SList (reported by Cayle
2006-09-02 Jürg Billeter <j@bitron.ch>
* vala/valacodegenerator.vala: special case construction of GLib.List
and GLib.SList (reported by Cayle Graumann)
svn path=/trunk/; revision=121
Jürg Billeter [Sat, 2 Sep 2006 15:49:13 +0000 (15:49 +0000)]
prepare to support protected members
2006-09-02 Jürg Billeter <j@bitron.ch>
* vala/scanner.l, vala/parser.y, vala/valasemanticanalyzer.vala,
vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
vala/valamemberaccessibility.vala: prepare to support protected
members
svn path=/trunk/; revision=120
Jürg Billeter [Sat, 2 Sep 2006 15:29:55 +0000 (15:29 +0000)]
don't set parent_node in parser support string + operator set parent_node
2006-09-02 Jürg Billeter <j@bitron.ch>
* vala/parser.y: don't set parent_node in parser
* vala/valasemanticanalyzer.vala: support string + operator
* vala/valaassignment.vala, vala/valabinaryexpression.vala,
vala/valacastexpression.vala, vala/valacodenode.vala,
vala/valadostatement.vala, vala/valaexpressionstatement.vala,
vala/valaforeachstatement.vala, vala/valaforstatement.vala,
vala/valaifstatement.vala, vala/valainvocationexpression.vala,
vala/valamemberaccess.vala, vala/valaobjectcreationexpression.vala,
vala/valaparenthesizedexpression.vala, vala/valareturnstatement.vala,
vala/valaswitchstatement.vala, vala/valaunaryexpression.vala,
vala/valawhilestatement.vala: set parent_node of child nodes, add
replace method
* vala/valanullliteral.vala: add default argument to construction method
* tests/test-021.vala: test string + operator
* tests/Makefile.am: update
svn path=/trunk/; revision=119
Jürg Billeter [Sat, 2 Sep 2006 13:13:55 +0000 (13:13 +0000)]
support integer and floating point suffixes use correct type for integer
2006-09-02 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: support integer and floating point suffixes
* vala/valasemanticanalyzer.vala: use correct type for integer and
floating point literals
* vala/valaintegerliteral.val, vala/valarealliteral.vala: add
get_type_name method
* vapi/glib-2.0.vala: add string to int64 conversion method
svn path=/trunk/; revision=118
Jürg Billeter [Sat, 2 Sep 2006 11:04:24 +0000 (11:04 +0000)]
use IntegerType, FloatingType, and rank attributes to analyze arithmetic
2006-09-02 Jürg Billeter <j@bitron.ch>
* vala/valasemanticanalyzer.vala: use IntegerType, FloatingType, and
rank attributes to analyze arithmetic operations
* vala/valacodegenerator.vala: generate C casts for explicit value-type
casts
* vala/valastruct.vala: add is_integer_type, is_floating_type, and
get_rank methods, add IntegerType and FloatingType attributes
* vala/valasemanticanalyzer.vala, vala/valacastexpression.vala,
vala/valainstancecast.vala, ccode/valaccodecastexpression.vala: fix
typos
* vapi/glib-2.0.vala: add int16, uint16, int32, uint32, use IntegerType
and FloatingType attributes
svn path=/trunk/; revision=117
Jürg Billeter [Sat, 2 Sep 2006 09:05:41 +0000 (09:05 +0000)]
set accessibility for constants set return type in property set accessors
2006-09-02 Jürg Billeter <j@bitron.ch>
* vala/parser.y: set accessibility for constants
* vala/valasemanticanalyzer.vala: set return type in property set
accessors to void
* vala/valacodegenerator.vala: move public constants to header file
* vala/valaclass.vala: don't create fields for properties in VAPI files
* vala/valaconstant.vala: add access member
svn path=/trunk/; revision=116
Jürg Billeter [Sat, 2 Sep 2006 08:45:28 +0000 (08:45 +0000)]
mark Matrix as reference type
2006-09-02 Jürg Billeter <j@bitron.ch>
* vapi/cairo.vala: mark Matrix as reference type
svn path=/trunk/; revision=115
Jürg Billeter [Thu, 24 Aug 2006 16:03:10 +0000 (16:03 +0000)]
mark virtual methods appropriately
2006-08-24 Jürg Billeter <j@bitron.ch>
* vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
mark virtual methods appropriately
svn path=/trunk/; revision=114
Jürg Billeter [Thu, 24 Aug 2006 16:00:54 +0000 (16:00 +0000)]
mark virtual functions appropriately
2006-08-24 Jürg Billeter <j@bitron.ch>
* vapigen/valagidlparser.vala: mark virtual functions appropriately
svn path=/trunk/; revision=113
Jürg Billeter [Thu, 24 Aug 2006 12:55:24 +0000 (12:55 +0000)]
add possibility to change interface type struct cname, default to `Iface'
2006-08-24 Jürg Billeter <j@bitron.ch>
* vala/valaattributeprocessor.vala, vala/valacodegenerator.vala,
vala/valainterface.vala, vala/valainterfaceregisterfunction.vala: add
possibility to change interface type struct cname, default to `Iface'
suffix (reported by Dominique Würtz)
svn path=/trunk/; revision=112
Jürg Billeter [Wed, 23 Aug 2006 13:12:39 +0000 (13:12 +0000)]
support calling non-abstract interface methods add get_base_types method
2006-08-23 Jürg Billeter <j@bitron.ch>
* vala/valasemanticanalyzer.vala: support calling non-abstract interface
methods
* vala/valainterface.vala: add get_base_types method
svn path=/trunk/; revision=111
Jürg Billeter [Sun, 20 Aug 2006 20:13:49 +0000 (20:13 +0000)]
Post-release version bump, fail if flex or bison not found
2006-08-20 Jürg Billeter <j@bitron.ch>
* configure.ac: Post-release version bump, fail if flex or bison not
found
svn path=/trunk/; revision=110
Jürg Billeter [Fri, 18 Aug 2006 20:35:47 +0000 (20:35 +0000)]
update for 0.0.3 release
2006-08-18 Jürg Billeter <j@bitron.ch>
* NEWS: update for 0.0.3 release
svn path=/trunk/; revision=109
Jürg Billeter [Fri, 18 Aug 2006 16:46:56 +0000 (16:46 +0000)]
remove argc parameter
2006-08-18 Jürg Billeter <j@bitron.ch>
* vapigen/valavapigen.vala, packages/gtk+-2.0/gtk+-2.0-custom.vala:
remove argc parameter
svn path=/trunk/; revision=108
Jürg Billeter [Fri, 18 Aug 2006 16:44:43 +0000 (16:44 +0000)]
use array length functionality
2006-08-18 Jürg Billeter <j@bitron.ch>
* compiler/valacompiler.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala:
use array length functionality
svn path=/trunk/; revision=107
Jürg Billeter [Fri, 18 Aug 2006 16:05:15 +0000 (16:05 +0000)]
support implicit array length parameter support NoArrayLength attribute
2006-08-18 Jürg Billeter <j@bitron.ch>
* vala/valacodegenerator.vala: support implicit array length parameter
* vala/valainterfacewriter.vala, vala/valaformalparameter.vala,
vala/valamethod.vala: support NoArrayLength attribute
* compiler/valacompiler.vala, vapi/atk.vala, vapi/cairo.vala,
vapi/gdk-2.0.vala, vapi/glib-2.0.vala, vapi/gtk+-2.0.vala,
vapi/pango.vala: add NoArrayLength attributes
* tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
tests/test-007.vala, tests/test-008.vala, tests/test-009.vala,
tests/test-010.vala, tests/test-011.vala, tests/test-012.vala,
tests/test-013.vala, tests/test-014.vala, tests/test-015.vala,
tests/test-016.vala, tests/test-017.vala, tests/test-018.vala,
tests/test-019.vala, tests/test-020.vala: remove argc parameter
svn path=/trunk/; revision=106
Jürg Billeter [Fri, 18 Aug 2006 16:03:55 +0000 (16:03 +0000)]
set no_array_length flag on generated methods add NoArrayLength attribute
2006-08-18 Jürg Billeter <j@bitron.ch>
* vapigen/valagidlparser.vala: set no_array_length flag on generated
methods
* vapigen/valavapigen.vala, packages/gtk+-2.0/gtk+-2.0-custom.vala: add
NoArrayLength attribute
svn path=/trunk/; revision=105
Jürg Billeter [Fri, 18 Aug 2006 09:24:59 +0000 (09:24 +0000)]
remove read/write tokens support package dependencies vapi/gdk-2.0.deps
2006-08-18 Jürg Billeter <j@bitron.ch>
* vala/parser.y: remove read/write tokens
* compiler/valacompiler.vala: support package dependencies
* vapi/gdk-2.0.deps
* vapi/gtk+-2.0.deps
* vapi/Makefile.am: update
svn path=/trunk/; revision=104
Jürg Billeter [Fri, 18 Aug 2006 09:20:46 +0000 (09:20 +0000)]
packages/gdk-2.0/gdk-2.0.deps packages/gtk+-2.0/gtk+-2.0.deps
2006-08-18 Jürg Billeter <j@bitron.ch>
* packages/gdk-2.0/gdk-2.0.deps
* packages/gtk+-2.0/gtk+-2.0.deps
svn path=/trunk/; revision=103
Jürg Billeter [Fri, 18 Aug 2006 08:49:06 +0000 (08:49 +0000)]
support base types for structs obey set keyword add SignalInvocationHint,
2006-08-18 Jürg Billeter <j@bitron.ch>
* vala/parser.y, vala/valastruct.vala: support base types for structs
* vala/valainterfacewriter.vala: obey set keyword
* vapi/glib-2.0.vala: add SignalInvocationHint, SignalEmissionHook,
SignalFlags, ValueArray, Math, Timeout, and PtrArray
* vapi/cairo.vala: initial cairo binding
* vapi/pango.vala, vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala:
bindings generated from Pango 1.13.5, ATK 1.12.1, and GTK+ 2.10.1
* vapi/Makefile.am: update
svn path=/trunk/; revision=102
Jürg Billeter [Fri, 18 Aug 2006 08:40:48 +0000 (08:40 +0000)]
Initial import of vapigen.
* Initial import of vapigen.
svn path=/trunk/; revision=101
Raffaele Sandrini [Fri, 11 Aug 2006 14:00:39 +0000 (14:00 +0000)]
make those classes ready to process multidimensional arrays. remove
2006-08-11 Raffaele Sandrini <rasa@gmx.ch>
* vala/valasymbolresolver.vala, vala/valatypereference.vala,
vala/valaelementaccess.vala, vala/valadatatype.vala, vala/parser.y,
vala/valaarray.vala: make those classes ready to process
multidimensional arrays.
* vala/scanner.l: remove ARRAY_QUALIFIER token
* vala/valasemanticanalyzer.vala, vala/parser.y,
vala/valacodegenerator.vala, vala/valacodegenerator.vala,
vala/valacodevisitor.vala: add multidimensional array support however
only one dimensional arrays can be created yet
* vala/Makefile.am, vala/vala.h: update
* vala/valatypereference.vala: remove source reference parameter
when creating from an expression
* vala/valacodegenerator.vala: add support for uint, long and ulong
properties
svn path=/trunk/; revision=100
Jürg Billeter [Thu, 10 Aug 2006 20:48:38 +0000 (20:48 +0000)]
support hexadecimal and octal integer literals, support hexadecimal escape
2006-08-10 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: support hexadecimal and octal integer literals,
support hexadecimal escape sequences, support BASE and THIS
* vala/parser.y: use BASE and THIS keywords
* vala/valasemanticanalyzer.vala: don't use new base keyword as variable
name
* vala/valacodegenerator.vala: simplify code
* vala/valainterfacewriter.vala: obey base keyword
svn path=/trunk/; revision=99
Jürg Billeter [Thu, 10 Aug 2006 15:50:14 +0000 (15:50 +0000)]
fix memory management in switch statements extend switch statement test
2006-08-10 Jürg Billeter <j@bitron.ch>
* vala/valacodegenerator.vala: fix memory management in switch
statements
* tests/test-020.vala: extend switch statement test
svn path=/trunk/; revision=98
Jürg Billeter [Thu, 10 Aug 2006 15:30:52 +0000 (15:30 +0000)]
support switch statements add has_default_label () and get_statements ()
2006-08-10 Jürg Billeter <j@bitron.ch>
* vala/valacodegenerator.vala: support switch statements
* vala/valaswitchsection.vala: add has_default_label () and
get_statements () methods
* vala/valaswitchstatement.vala: add get_sections () method
* ccode/valaccodedostatement.vala
* ccode/Makefile.am: update
* tests/test-020.vala: test switch statements
* tests/Makefile.am: update
svn path=/trunk/; revision=97
Jürg Billeter [Thu, 10 Aug 2006 12:46:48 +0000 (12:46 +0000)]
use Invokable vala/valainvokable.vala implement Invokable update
2006-08-10 Jürg Billeter <j@bitron.ch>
* vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: use
Invokable
* vala/valainvokable.vala
* vala/valafield.vala, vala/valaformalparameter.vala,
vala/valamethod.vala, valasignal.vala,
vala/valavariabledeclarator.vala: implement Invokable
* vala/Makefile.am: update
svn path=/trunk/; revision=96
Jürg Billeter [Thu, 10 Aug 2006 11:54:15 +0000 (11:54 +0000)]
support constants in namespaces and constants without initializer depend
2006-08-10 Jürg Billeter <j@bitron.ch>
* vala/parser.y: support constants in namespaces and constants without
initializer
* vala/valasemanticanalyzer.vala: depend on implemented interfaces
* vala/valacodegenerator.vala: always include glib-object.h for
interfaces, append NULL to variable argument list calls
* vala/valainterfacewriter.vala: support constants and ellipsis
parameters
* vala/valaconstant.vala: make initializer optional
* vala/valainterface.vala: implement get_lower_case_cprefix ()
* vala/valanamespace.vala: support constants
svn path=/trunk/; revision=95
Jürg Billeter [Thu, 10 Aug 2006 08:59:03 +0000 (08:59 +0000)]
accept real literals with trailing dot ignore non-type symbols support
2006-08-10 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: accept real literals with trailing dot
* vala/valasymbolresolver.vala: ignore non-type symbols
* vala/valacodegenerator.vala: support float and double properties,
adapt to Field changes, support compound assignments in properties
* vala/valainterfacewriter.vala: support ReferenceType attribute
* vala/valaclass.vala: implement get_lower_case_cprefix ()
* vala/valadatatype.vala: add get_lower_case_cprefix () method
* vala/valafield.vala: let get_cname return full C name
* vala/valamethod.vala: use DataType.get_lower_case_cprefix ()
* vala/valastruct.vala: implement get_lower_case_cprefix (), add
set_is_reference_type () method
svn path=/trunk/; revision=94
Jürg Billeter [Wed, 9 Aug 2006 15:46:25 +0000 (15:46 +0000)]
adapt to Vala.Signal change process signal attributes manage memory of
2006-08-09 Jürg Billeter <j@bitron.ch>
* vala/parser.y: adapt to Vala.Signal change
* vala/valaattributeprocessor.vala: process signal attributes
* vala/valacodegenerator.vala: manage memory of element access
expressions, mark get_property and set_property functions static,
support signal emitter functions
* vala/valacodecontext.vala: use get_cinclude_filename method
* vala/valainterfacewriter.vala: use C header filename of namespace,
support signals, support NoAccessorMethod attribute
* vala/valadatatype.vala: add default arguments
* vala/valaenum.vala: make set_cprefix method public
* vala/valanamespace.vala: add get_cheader_filename and
set_cheader_filename methods
* vala/valasignal.vala: add has_emitter property, add process_attributes
method
* vala/valasourcefile.vala: add get_cinclude_filename method
* compiler/valacompiler.vala: adapt to SourceFile changes
svn path=/trunk/; revision=93
Jürg Billeter [Sat, 5 Aug 2006 12:00:46 +0000 (12:00 +0000)]
only parse .vala source files support disabling automatic property
2006-08-05 Jürg Billeter <j@bitron.ch>
* vala/valaparser.vala: only parse .vala source files
* vala/valasymbolbuilder.vala, vala/valaproperty.vala: support disabling
automatic property accessor generation
* vala/valasemanticanalyzer.vala: fix typo
* vala/valacodegenerator.vala, vala/valainterfacewriter.vala,
vala/valacodecontext.vala: use correct includes for libraries
* vala/valacodegenerator.vala: use get_canonical_cconstant method for
signals
* vala/valainterfacewriter.vala: support interfaces, non-null types,
callbacks, and construction methods
* vala/valasignal.vala: add get_canonical_cconstant method
* vala/valaenum.vala, vala/valainterface.vala, vala/valanamespace.vala,
vala/valastruct: add default arguments
* vala/Makefile.am: install libvala.so and header files
* ccode/Makefile.am: install header files
* compiler/valacompiler.vala: set library name in code context
* compiler/Makefile.am: adapt to build system changes
* vapi/glib-2.0.vala: add skeletons for Callback, Closure, IOChannel,
TimeVal, Scanner, SpawnFlags, OptionGroup, MarkupParser, and Quark
* vapi/Makefile.am: add vala-1.0.vala
* vala-1.0.pc.in
* configure.ac: disable static library by default, add vala-1.0.pc
* Makefile.am: add vala-1.0.pc
svn path=/trunk/; revision=92
Jürg Billeter [Thu, 3 Aug 2006 06:42:30 +0000 (06:42 +0000)]
Post-release version bump.
2006-08-02 Jürg Billeter <j@bitron.ch>
* configure.ac: Post-release version bump.
svn path=/trunk/; revision=91
Jürg Billeter [Wed, 2 Aug 2006 19:20:57 +0000 (19:20 +0000)]
update for 0.0.2 release check for floating reference in construction
2006-08-02 Jürg Billeter <j@bitron.ch>
* NEWS: update for 0.0.2 release
* vala/valasemanticanalyzer.vala: check for floating reference in
construction methods
* vala/valasourcefile.vala, vala/valacodegenerator.vala,
ccode/valaccodeincludedirective.vala: differentiate between
package-internal and external includes
* vapi/gtk+-2.0.vala: port to construction methods
svn path=/trunk/; revision=90
Jürg Billeter [Wed, 2 Aug 2006 18:22:00 +0000 (18:22 +0000)]
port to construction methods add interface documentation, use implicit
2006-08-02 Jürg Billeter <j@bitron.ch>
* port to construction methods
* vala/valaparenthesizedexpression.vala, vala/valareport.vala,
vala/valareturnstatement.vala, vala/valasourcefilecycle.vala,
vala/valasourcereference.vala, vala/valatypecheck.vala,
vala/valatypeofexpression.vala, vala/valatypeparameter.vala: add
interface documentation, use implicit namespace specification
* vala/Makefile.am: sort source file list
svn path=/trunk/; revision=89
Jürg Billeter [Wed, 2 Aug 2006 15:59:07 +0000 (15:59 +0000)]
add support for construction methods add to_string method support storing
2006-08-02 Jürg Billeter <j@bitron.ch>
* vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
vala/valainterfacewriter.vala, vala/valaclass.vala,
vala/valaexpressionstatement.vala, vala/valamethod.vala,
vala/valaobjectcreationexpression.vala, vala/valastatement.vala,
vala/valastruct.vala: add support for construction methods
* vala/valabooleanliteral.vala, vala/valaexpression.vala,
vala/valaintegerliteral.vala, vala/valaliteral.vala,
vala/valaliteralexpression.vala, vala/valamemberaccess.vala: add
to_string method
* vala/valamemberaccess.vala, vala/valatypereference.vala: support
storing type arguments in MemberAccess
* vala/valacodenode.vala: add parent_node property
* vala/parser.y, vala/valaifstatement.vala: only allow blocks as
embedded statements
* vala/valaenum.vala: implement get_type_id method
* vala/valainterfacewriter.vala: output default expressions of formal
parameters
* vala/valaformalparameter.vala: visit default expression
* vala/valaobjectcreationexpression.vala, vala/valanullliteral.vala,
vala/valaproperty.vala, vala/valapropertyaccessor.vala: add interface
documentation, use implicit namespace specification
* vala/vala.h: add valaelementaccess.h and valarealliteral.h
* ccode/valaccodememberaccess.vala: don't mark is_pointer as construct
* vapi/glib-2.0.vala: add GValue
* vapi/gtk+-2.0.vala: small updates
svn path=/trunk/; revision=88
Jürg Billeter [Mon, 31 Jul 2006 09:45:56 +0000 (09:45 +0000)]
support prefix increment and decrement, fix parsing opening parens fix
2006-07-31 Jürg Billeter <j@bitron.ch>
* vala/parser.y: support prefix increment and decrement, fix parsing
opening parens
* vala/valasemanticanalyzer.vala: fix some bugs in error handling,
support prefix increment and decrement
* vala/valacodegenerator.vala: support prefix increment and decrement
* vala/valanamespace.vala: add interface documentation, use implicit
namespace specification
* vala/valaunaryexpression.vala: support prefix increment and decrement
* ccode/valaccodeunaryexpression.vala: support prefix increment and
decrement
* vapi/glib-2.0.vala: add Environment struct
svn path=/trunk/; revision=87
Jürg Billeter [Thu, 27 Jul 2006 16:18:05 +0000 (16:18 +0000)]
support CASE, DEFAULT, DO, and SWITCH support switch and do statements add
2006-07-27 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: support CASE, DEFAULT, DO, and SWITCH
* vala/parser.y: support switch and do statements
* vala/valacodevisitor.vala: add support for switch and do statements
* vala/valadostatement.vala
* vala/valaswitchlabel.vala
* vala/valaswitchsection.vala
* vala/valaswitchstatement.vala
* vala/valastatement.vala, vala/valasymbol.vala,
vala/valaunaryexpression.vala, vala/valavariabledeclarator.vala,
vala/valawhilestatement.vala: add interface documentation, use
implicit namespace specification
* vala/vala.h, vala/Makefile.am: update
* vapi/glib-2.0.vala: don't use default keyword
svn path=/trunk/; revision=86
Jürg Billeter [Thu, 27 Jul 2006 09:00:03 +0000 (09:00 +0000)]
support for loops with local variable declaration in initializer
2006-07-27 Jürg Billeter <j@bitron.ch>
* vala/parser.y: support for loops with local variable declaration in
initializer
svn path=/trunk/; revision=85
Jürg Billeter [Thu, 27 Jul 2006 07:51:42 +0000 (07:51 +0000)]
don't require developer to explicitly write static in namespace field
2006-07-27 Jürg Billeter <j@bitron.ch>
* vala/parser.y: don't require developer to explicitly write static in
namespace field declarations, support type parameters in interfaces
and callbacks
* vala/valasymbolresolver.vala: support interfaces and callbacks
* vala/valasemanticanalyzer.vala: use is_subtype_of method, support
callbacks in fields
* vala/valamemorymanager.vala: support callbacks in fields
* vala/valacodegenerator.vala: support callbacks in fields
* vala/valacallback.vala: support type parameters
* vala/valaclass.vala: add is_subtype_of method
* vala/valadatatype.vala: add is_subtype_of method
* vala/valainterface.vala: add is_subtype_of method
svn path=/trunk/; revision=84
Jürg Billeter [Wed, 26 Jul 2006 19:46:35 +0000 (19:46 +0000)]
support casting arrays don't require developer to explicitly write static
2006-07-26 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: support casting arrays
* vala/parser.y: don't require developer to explicitly write static in
namespace method declarations
* vala/valaarray.vala: correct cname for arrays with value-type elements
* vala/valacodenode.vala: save source line reference in ccodenode
* ccode/valaccodelinedirective.vala
* ccode/valaccodenode.vala: support source line reference
* ccode/Makefile.am: update
* vapi/glib-2.0.vala: add to_string methods to integer types, add size
method to string, add u_sleep method to Thread, fix memory management
in List and SList, add sort method to List
svn path=/trunk/; revision=83
Jürg Billeter [Wed, 19 Jul 2006 18:16:28 +0000 (18:16 +0000)]
use more expressive property names, add stricter () method adapt to
2006-07-19 Jürg Billeter <j@bitron.ch>
* vala/valatypereference.vala: use more expressive property names, add
stricter () method
* vala/parser.y, vala/valasymbolbuilder.vala,
vala/valasymbolresolver.vala, vala/valasemanticanalyzer.vala,
vala/valamemorymanager.vala, vala/valacodegenerator.vala,
vala/valainterfacewriter.vala, vala/valasourcefile.vala,
vala/valacallback.vala, vala/valaclassregisterfunction.vala,
vala/valasignal.vala: adapt to changes in TypeReference
* vala/valasourcefile.vala: replace public fields by properties /
private fields
* vala/valacodecontext.vala: adapt to changes in SourceFile
* vala/valaparser.vala: correct handling of source files without header
comments
* vala/valasymbolbuilder.vala: don't generate code for VAPI files
* vala/valasemanticanalyzer.vala: report error respectively warning if
method return type misses ownership transfer
* vala/valainterfacewriter.vala: correct property declaration output
* vala/valaparser.vala, vala/valasourcefile.vala, vala/valaliteral.vala,
vala/valamemberaccessibility.vala, vala/valanamedargument.vala,
vala/valanamespacereference.vala, vala/valatypereference.vala: add
interface documentation, use implicit namespace specification
svn path=/trunk/; revision=82
Jürg Billeter [Tue, 18 Jul 2006 21:14:20 +0000 (21:14 +0000)]
make sure that current_scope isn't null start to support memory management
2006-07-18 Jürg Billeter <j@bitron.ch>
* vala/valasymbolresolver.vala: make sure that current_scope isn't null
* vala/valamemorymanager.vala: start to support memory management with
generics
* vala/valacodegenerator.vala: support iteration over SList, properties
without accessor methods
* vapi/glib-2.0.vala: add string.hash (), Error fields and SList
* vapi/gtk+-2.0.vala: add StatusIcon class
* README: mention exceptions
svn path=/trunk/; revision=81
Jürg Billeter [Sun, 16 Jul 2006 21:27:45 +0000 (21:27 +0000)]
Post-release version bump. remove g_object_unref call to fix crash in
2006-07-16 Jürg Billeter <j@bitron.ch>
* configure.ac: Post-release version bump.
* vala/parser.y: remove g_object_unref call to fix crash in parsing
array declarations
* vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala: support
creating structs
* vapi/glib-2.0.vala: GString enhancements
* vapi/Makefile.am: dist gtk+-2.0.vala and pango.vala
svn path=/trunk/; revision=80
Jürg Billeter [Sat, 15 Jul 2006 11:49:53 +0000 (11:49 +0000)]
update for 0.0.1 release add introduction replace by LGPL add
2006-07-15 Jürg Billeter <j@bitron.ch>
* NEWS: update for 0.0.1 release
* README: add introduction
* COPYING: replace by LGPL
* compiler/valacompiler.vala: add /usr/local/share/vala/vapi ad default
vapi search dir
* vapi/glib-2.0.vala: File and HashTable enhancements
svn path=/trunk/; revision=79
Raffaele Sandrini [Fri, 14 Jul 2006 16:21:38 +0000 (16:21 +0000)]
add element access support add visit_postfix_expression implementation add
2006-07-14 Raffaele Sandrini <rasa@gmx.ch>
* vala/valacodegenerator.vala, vala/valasymbolresolver.vala,
vala/scanner.l, vala/valatypereference.vala,
vala/valasemanticanalyzer.vala, vala/valaelementaccess.vala,
vala/valadatatype.vala, vala/parser.y, vala/valaarray.vala,
vala/valacodevisitor.vala, ccode/valaccodeelementaccess.vala: add
element access support
* vala/valasemanticanalyzer.vala: add visit_postfix_expression
implementation
* tests/test-019.vala: add element access testcase
* vala/Makefile.am, tests/Makefile.am, ccode/Makefile.am: update
svn path=/trunk/; revision=78
Jürg Billeter [Fri, 14 Jul 2006 16:09:47 +0000 (16:09 +0000)]
ignore file-internal dependencies mark string literals as non-null, add
2006-07-14 Jürg Billeter <j@bitron.ch>
* vala/valacodecontext.vala: ignore file-internal dependencies
* vala/valasemanticanalyzer.vala: mark string literals as non-null, add
some implicit casts
* vala/valamemorymanager.vala: only check for leaks with reference
types, manage memory in field initializers
* vala/valacodegenerator.vala: add non-null parameter typechecks for
structs, simplify ref expression if expression is known to be non-null
* vapi/glib-2.0.vala: unichar, string, String, and Path enhancements,
add Base64 and Dir
svn path=/trunk/; revision=77
Jürg Billeter [Mon, 10 Jul 2006 15:05:19 +0000 (15:05 +0000)]
adapt to changes in InvocationExpression, LocalVariableDeclaration, and
2006-07-10 Jürg Billeter <j@bitron.ch>
* vala/parser.y: adapt to changes in InvocationExpression,
LocalVariableDeclaration, and InitializerList
* vala/valasemanticanalyzer.vala: add some implicit casts, fix assigning
callback to field, adapt to changes in InvocationExpression
* vala/valamemorymanager.vala: adapt to change in InvocationExpression
* vala/valacodegenerator.vala: fix signal handler without parameters,
fix access to value-type struct members, adapt to changes in
LocalVariableDeclaration, InitializerList, and InvocationExprssion
* vala/valaclass.vala: don't let private static fields influence
has_private_fields, correct marshaller type name
* vala/valaifstatement.vala, vala/valainitializerlist.vala,
vala/valainstancecast.vala, vala/valaintegerliteral.vala,
vala/valainvocationexpression.vala, vala/valaliteralexpression.vala,
vala/valalocalvariabledeclaration.vala: add interface documentation,
use implicit namespace specification
* compiler/valacompiler.vala: fix --vapidir handling
* vapi/glib-2.0.vala: add MainLoop, MainContext, IdleSource, Source, and
Thread
svn path=/trunk/; revision=76
Jürg Billeter [Sat, 8 Jul 2006 21:08:06 +0000 (21:08 +0000)]
don't allow write access to read-only properties adapt to changes in
2006-07-08 Jürg Billeter <j@bitron.ch>
* vala/valasemanticanalyzer.vala: don't allow write access to read-only
properties
* vala/valacodegenerator.vala: adapt to changes in CCodeFragment and
CCommaExpression
* vala/valapostfixexpression.vala, ccode/valaccodebinaryexpression.vala,
ccode/valaccodeblock.vala, ccode/valaccodebreakstatement.vala,
ccode/valaccodecasestatement.vala,
ccode/valaccodecommaexpressoin.vala, ccode/valaccodecomment.vala,
ccode/valaccodeconditionalexpression.vala,
ccode/valaccodeconstant.vala, ccode/valaccodecontinuestatement.vala,
ccode/valaccodedeclaration.vala, ccode/valaccodedeclarator.vala,
ccode/valaccodeenum.vala, ccode/valaccodeemptystatement.vala,
ccode/valaccodeexpressionstatement.vala,
ccode/valaccodeformalparameter.vala, ccode/valaccodeforstatement.vala,
ccode/valaccodefragment.vala, ccode/valaccodefunction.vala,
ccode/valaccodefunctioncall.vala,
ccode/valaccodefunctiondeclarator.vala,
ccode/valaccodeidentifier.vala, ccode/valaccodeifstatement.vala,
ccode/valaccodeincludedirective.vala,
ccode/valaccodeinitializerlist.vala,
ccode/valaccodemacroreplacement.vala,
ccode/valaccodememberaccess.vala, ccode/valaccodemodifiers.vala,
ccode/valaccodenewline.vala, ccode/valaccodeoncesection.vala,
ccode/valaccodeparenthesizedexpression.vala,
ccode/valaccodereturnstatement.vala, ccode/valaccodestatement.vala,
ccode/valaccodestruct.vala, ccode/valaccodeswitchstatement.vala,
ccode/valaccodeunaryexpression.vala,
ccode/valaccodevariabledeclarator.vala,
ccode/valaccodewhilestatement.vala, ccode/valaccodewriter.vala: add
interface documentation, use implicit namespace specification
svn path=/trunk/; revision=75
Jürg Billeter [Sat, 8 Jul 2006 14:33:04 +0000 (14:33 +0000)]
don't allow access to private members
2006-07-08 Jürg Billeter <j@bitron.ch>
* vala/valasemanticanalyzer.vala: don't allow access to private members
svn path=/trunk/; revision=74
Jürg Billeter [Sat, 8 Jul 2006 14:09:42 +0000 (14:09 +0000)]
check method signatures of overriding methods support abstract classes add
2006-07-08 Jürg Billeter <j@bitron.ch>
* vala/valasemanticanalyzer.vala: check method signatures of overriding
methods
* vala/parser.y, vala/valaclassregisterfunction.vala,
vala/valatyperegisterfunction.vala: support abstract classes
* vala/valamethod.vala: add equals method
* vala/valatypereference.vala: add equals method
* corrects overriding methods to match signatures of overridden methods
to fix build with current compiler
svn path=/trunk/; revision=73
Jürg Billeter [Sat, 8 Jul 2006 11:55:18 +0000 (11:55 +0000)]
adapt to ForStatement API changes make {get,set}_lower_case_csuffix
2006-07-08 Jürg Billeter <j@bitron.ch>
* vala/parser.y, vala/valacodegenerator.vala: adapt to ForStatement API
changes
* vala/valaclass.vala: make {get,set}_lower_case_csuffix methods private
* vala/valaenum.vala, vala/valaenumvalue.vala,
vala/valaexpressionstatement.vala, vala/valafield.vala,
vala/valaflags.vala, vala/valaflagsvalue.vala,
vala/valaforeachstatement.vala, vala/valaforstatement.vala: add
interface documentation, use implicit namespace specification
svn path=/trunk/; revision=72
Jürg Billeter [Sat, 8 Jul 2006 09:26:16 +0000 (09:26 +0000)]
adapt to Method API changes support signals, mark private signal handlers
2006-07-08 Jürg Billeter <j@bitron.ch>
* vala/parser.y: adapt to Method API changes
* vala/valasemanticanalyzer.vala: support signals, mark private signal
handlers as instance_last
* vala/valamemorymanager.vala: support signals
* vala/valacodegenerator.vala: support signals, methods with
instance_last
* vala/valaclass.vala: add get_type_id and get_marshaller_type_name
methods
* vala/valadatatype.vala: add get_marshaller_type_name method
* vala/valastruct.vala: move type_id attribute to CCode, support
marshaller_type_name attribute
* vala/valainterfacewriter.vala, vala/valamethod.vala,
vala/valastruct.vala, ccode/valaccodeexpression.vala,
ccode/valaccodenode.vala: add interface documentation, use implicit
namespace specification
* vala/valacallback.vala, vala/valasignal.vala: improve documentation
* ccode/valaccodecastexpression.vala: type cast in C code
* ccode/Makefile.am: update
* tests/test-018.vala: test signals
* tests/Makefile.am: update
* vapi/glib-2.0.vala: add type_id and marshaller_type_name attributes
svn path=/trunk/; revision=71
Jürg Billeter [Fri, 7 Jul 2006 15:13:39 +0000 (15:13 +0000)]
support interfaces support lambda expressions with statement body add
2006-07-07 Jürg Billeter <j@bitron.ch>
* vala/valacodegenerator.vala, vala/valaclassregisterfunction.vala:
support interfaces
* vala/parser.y, vala/valasemanticanalyzer.vala,
vala/valalambdaexpression.vala: support lambda expressions with
statement body
* vala/valaclassregisterfunction.vala, vala/valaemptystatement.vala,
vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
vala/valatyperegisterfunction.vala: add interface documentation, use
implicit namespace specification
* tests/test-015.vala: test lambda expressions with statement body
* tests/test-017.vala: test interfaces
* tests/Makefile.am: update
svn path=/trunk/; revision=70
Jürg Billeter [Fri, 7 Jul 2006 08:17:47 +0000 (08:17 +0000)]
add interface documentation, use implicit namespace specification
2006-07-07 Jürg Billeter <j@bitron.ch>
* vala/valaconstructor.vala, vala/valacontinuestatement.vala,
vala/valadeclarationstatement.vala, vala/valadestructor.vala: add
interface documentation, use implicit namespace specification
svn path=/trunk/; revision=69
Jürg Billeter [Fri, 7 Jul 2006 07:56:56 +0000 (07:56 +0000)]
use continue statements to decrease indentation levels add interface
2006-07-07 Jürg Billeter <j@bitron.ch>
* vala/valacodecontext.vala: use continue statements to decrease
indentation levels
* vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
vala/valacodegenerator.vala, vala/valaconditionalexpression.vala,
vala/valaconstant.vala: add interface documentation, use implicit
namespace specification
* vala/valasemanticanalyzer.vala: check that if, while, for, and
conditional expression conditions are boolean
* vala/valaclass.vala: remove dummy accessor, breaks build with old
vala compiler
* compiler/valacompiler.vala: use implicit namespace specification
* tests/test-016.vala: test conditional expressions
* tests/Makefile.am: update
svn path=/trunk/; revision=68
Jürg Billeter [Thu, 6 Jul 2006 22:52:39 +0000 (22:52 +0000)]
add interface documentation, use implicit namespace specification adapt to
2006-07-07 Jürg Billeter <j@bitron.ch>
* vala/valacodecontext.vala: add interface documentation, use implicit
namespace specification
* vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
vala/valasemanticanalyzer.vala: adapt to change in CodeContext
svn path=/trunk/; revision=67
Jürg Billeter [Thu, 6 Jul 2006 22:02:17 +0000 (22:02 +0000)]
merge SimpleName into MemberAccess adapt to change in Class support
2006-07-06 Jürg Billeter <j@bitron.ch>
* vala/parser.y, vala/valacodevisitor.vala, vala/valasymbolbuilder.vala,
vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
vala/valacodegenerator.vala, vala/valatypereference.vala, vala/vala.h,
vala/Makefile.am: merge SimpleName into MemberAccess
* vala/valasymbolresolver.vala, vala/valainterfacewriter.vala: adapt to
change in Class
* vala/valasemanticanalyzer.vala: support non-static lambda expressions
and lambda expressions without return values
* vala/valacodegenerator.vala: support conditional expressions, support
lambda expressions as signal handlers, support read-only and
write-only properties
* vala/valacodevisitor.vala, vala/valamemorymanager.vala,
vala/valaassignment.vala: visit at beginning and end
* vala/valacallback.vala: add instance property
* vala/valasignal.vala: add get_callback method
* vala/valacastexpression.vala, vala/valacharacterliteral.vala,
vala/valaclass.vala, vala/valamemberaccess.vala, vala/valasignal.vala:
add interface documentation, use implicit namespace specification
svn path=/trunk/; revision=66
Jürg Billeter [Wed, 5 Jul 2006 14:49:34 +0000 (14:49 +0000)]
don't pass parameter list to lambda expression contructor support static
2006-07-05 Jürg Billeter <j@bitron.ch>
* vala/parser.y: don't pass parameter list to lambda expression
contructor
* vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
vala/valacodegenerator.vala: support static lambda expressions and
nested methods
* vala/valainvocationexpression.vala: visit call node before visiting
begin of invocation expression
* vala/valaformalparameter.vala, vala/valalambdaexpression.vala: add
interface documentation, use implicit namespace specification
* vala/valamethod.vala: allow nested methods
* tests/test-015.vala: test lambda expressions
* tests/Makefile.am: update
svn path=/trunk/; revision=65
Jürg Billeter [Tue, 4 Jul 2006 20:42:41 +0000 (20:42 +0000)]
support implicit namespace specification in callback declaration support
2006-07-04 Jürg Billeter <j@bitron.ch>
* vala/parser.y: support implicit namespace specification in callback
declaration
* vala/valasemanticanalyzer.vala, vala/valamemorymanager.vala,
vala/valacodegenerator.vala: support callbacks
* vala/valaassignment.vala, vala/valabinaryexpression.vala: improve
documentation
* vala/valabooleanliteral.vala, vala/valabreakstatement.vala,
vala/valacallback.vala: add interface documentation, use implicit
namespace specification
* vala/valacallback.vala: add matches_method method, mark as
non-reference type
* ccode/valaccodetypedefinition.vala: replace typedef_name by
declarator, add interface documentation, use implicit namespace
specification
* tests/test-013.vala: test break
* tests/test-014.vala: test callback
* tests/Makefile.am: update
svn path=/trunk/; revision=64
Jürg Billeter [Tue, 4 Jul 2006 09:40:30 +0000 (09:40 +0000)]
add interface documentation, use implicit namespace specification test
2006-07-04 Jürg Billeter <j@bitron.ch>
* vala/valablock.vala: add interface documentation, use implicit
namespace specification
* tests/test-011.vala: test binary expressions
* tests/test-012.vala: test blocks
* configure.ac, Makefile.am, tests/Makefile.am: distribute tests
svn path=/trunk/; revision=63
Jürg Billeter [Tue, 4 Jul 2006 08:43:43 +0000 (08:43 +0000)]
add interface documentation, use implicit namespace specification
2006-07-04 Jürg Billeter <j@bitron.ch>
* vala/valacodevisitor.vala, vala/valaattributeprocessor.vala,
vala/valabinaryexpression.vala: add interface documentation, use
implicit namespace specification
* vala/valaassignment.vala, vala/valaattribute.vala: documentation
corrections
svn path=/trunk/; revision=62
Jürg Billeter [Tue, 4 Jul 2006 06:43:15 +0000 (06:43 +0000)]
generate assignment with appropriate operator use implicit namespace
2006-07-04 Jürg Billeter <j@bitron.ch>
* vala/valacodegenerator.vala: generate assignment with appropriate
operator
* vala/valaassignment.vala: use implicit namespace specification
* ccode/valaccodeassignment.vala: support assignment operators , add
interface documentation, use implicit namespace specification
* tests/test-010.vala: test assignments
svn path=/trunk/; revision=61
Jürg Billeter [Mon, 3 Jul 2006 18:43:15 +0000 (18:43 +0000)]
support implicit namespace specification in struct, interface, enum, and
2006-07-03 Jürg Billeter <j@bitron.ch>
* vala/parser.y: support implicit namespace specification in struct,
interface, enum, and flags declaration
* vala/valasymbolbuilder.vala: report error when declaring non-static
namespace methods
* vala/valasemanticanalyzer.vala: analyze return statements
* vala/valacodegenerator.vala: correctly set GParamFlags for properties,
initialize static variables, add preconditions to property accessors,
support namespace methods
* vala/valaassignment.vala, vala/valaattribute.vala: add interface
documentation, use implicit namespace specification
* tests/test-001.vala, tests/test-002.vala, tests/test-003.vala,
tests/test-004.vala, tests/test-005.vala, tests/test-006.vala,
tests/test-007.vala, tests/test-008.vala, tests/test-009.vala:
update test cases to print test values
svn path=/trunk/; revision=60
Jürg Billeter [Fri, 30 Jun 2006 15:59:33 +0000 (15:59 +0000)]
use implicit namespace specification, reformat code
2006-06-30 Jürg Billeter <j@bitron.ch>
* vala/valacodenode.vala, vala/valadatatype.vala,
vala/valaexpression.vala: use implicit namespace specification,
reformat code
svn path=/trunk/; revision=59
Jürg Billeter [Fri, 30 Jun 2006 15:46:30 +0000 (15:46 +0000)]
support implicit namespace specification in class declaration
2006-06-30 Jürg Billeter <j@bitron.ch>
* vala/parser.y: support implicit namespace specification in class
declaration
svn path=/trunk/; revision=58
Jürg Billeter [Thu, 29 Jun 2006 21:22:17 +0000 (21:22 +0000)]
distinguish between ref_function/unref_function and
2006-06-29 Jürg Billeter <j@bitron.ch>
* vala/valacodegenerator.vala, vala/valaclass.vala,
vala/valadatatype.vala, vala/valastruct.vala: distinguish between
ref_function/unref_function and dup_function/free_function
* vala/valadatatype.vala: add interface documentation
* vapi/glib-2.0.vala: use dup_function attribute, keep ref_function for
compatibility
svn path=/trunk/; revision=57
Jürg Billeter [Thu, 29 Jun 2006 09:58:14 +0000 (09:58 +0000)]
add interface documentation
2006-06-29 Jürg Billeter <j@bitron.ch>
* vala/valacodenode.vala, vala/valaexpression.vala: add interface
documentation
svn path=/trunk/; revision=56
Jürg Billeter [Wed, 28 Jun 2006 09:55:26 +0000 (09:55 +0000)]
add private add_symbol helper method tiny refactoring of GObject lookup
2006-06-28 Jürg Billeter <j@bitron.ch>
* vala/valasymbolbuilder.vala: add private add_symbol helper method
* vala/valasymbolresolver.vala: tiny refactoring of GObject lookup
* vala/valasemanticanalyzer.vala: use get_parameters method of Callback
* vala/valacallback.vala, vala/valaintegerliteral.vala,
vala/valarealliteral.vala, vala/valastringliteral.vala: replace public
fields by properties / private fields, don't mark properties as
construct-only, use non-null types
* vala/valaattribute.vala, vala/valacodenode.vala,
vala/valaconstructor.vala, vala/valadatatype.vala,
vala/valadestructor.vala, vala/valaenumvalue.vala,
vala/valaexpression.vala, vala/valafield.vala,
vala/valaflagsvalue.vala, vala/valaformalparameter.vala,
vala/valaliteral.vala, vala/valalocalvariabledeclaration.vala,
vala/valamethod.vala, vala/valanamedargument.vala,
vala/valanamespace.vala, vala/valanamespacereference.vala,
vala/valaproperty.vala, vala/valapropertyaccessor.vala,
vala/valasignal.vala, vala/valastatement.vala,
vala/valatypeparameter.vala, vala/valatypereference.vala,
vala/valavariabledeclarator.vala: move source_reference to CodeNode
svn path=/trunk/; revision=55
Jürg Billeter [Wed, 28 Jun 2006 08:00:19 +0000 (08:00 +0000)]
move source_reference to Vala.Literal, use non-null types, don't mark
2006-06-28 Jürg Billeter <j@bitron.ch>
* vala/valabooleanliteral.vala, vala/valacharacterliteral.vala,
vala/valaintegerliteral.vala, vala/valaliteral.vala,
vala/valanullliteral.vala, vala/valarealliteral.vala,
vala/valastringliteral.vala: move source_reference to Vala.Literal,
use non-null types, don't mark properties as construct-only
svn path=/trunk/; revision=54
Jürg Billeter [Mon, 26 Jun 2006 13:54:03 +0000 (13:54 +0000)]
plug some memory leaks, adapt to Vala.Block changes replace public fields
2006-06-26 Jürg Billeter <j@bitron.ch>
* vala/parser.y: plug some memory leaks, adapt to Vala.Block changes
* vala/valaattribute.vala, vala/valabinaryexpression.vala,
vala/valablock.vala, vala/valabooleanexpression.vala,
vala/valabreakstatement.vala, vala/valaliteral.vala,
vala/valastatement.vala: replace public fields by properties / private
fields, don't mark properties as construct-only, use non-null types
* vala/valadatatype.vala: renamed from Vala.Type_ to Vala.DataType
* vala/valasymbolbuilder.vala, vala/valasymbolresolver.vala,
vala/valasemanticanalyzer.vala, vala/valacodegenerator.vala,
vala/valasourcefile.vala, vala/valacallback.vala, vala/valaclass.vala,
vala/valaclassregisterfunction.vala, vala/valaconstant.vala,
vala/valaenum.vala, vala/valaflags.vala, vala/valainstancecast.vala,
vala/valainterface.vala, vala/valainterfaceregisterfunction.vala,
vala/valamethod.vala, vala/valastruct.vala,
vala/valatypeparameter.vala, vala/valatypereference.vala,
vala/valatypergisterfunction.vala: adapt to renaming of Vala.Type_ to
Vala.DataType
* vala/Makefile.am: update
svn path=/trunk/; revision=53
Jürg Billeter [Thu, 22 Jun 2006 09:48:11 +0000 (09:48 +0000)]
don't mark properties as construct-only, use non-null types use non-null
2006-06-22 Jürg Billeter <j@bitron.ch>
* vala/valaassignment.vala: don't mark properties as construct-only,
use non-null types
* vala/valacodenode.vala: use non-null type
* vala/valaexpression.vala: replace public fields by properties
svn path=/trunk/; revision=52
Jürg Billeter [Thu, 22 Jun 2006 09:24:58 +0000 (09:24 +0000)]
replace specialized interface member declarations by standard member
2006-06-22 Jürg Billeter <j@bitron.ch>
* vala/parser.y: replace specialized interface member declarations by
standard member declarations to allow non-abstract methods in
interfaces
* vala/valacodegenerator.vala: cast instance in property setter
invocations
svn path=/trunk/; revision=51
Jürg Billeter [Thu, 22 Jun 2006 08:48:18 +0000 (08:48 +0000)]
support LAMBDA and CALLBACK support callbacks and lambda expressions add
2006-06-22 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: support LAMBDA and CALLBACK
* vala/parser.y: support callbacks and lambda expressions
* vala/valacodevisitor.vala: add visit methods for callbacks and lambda
expressions
* vala/valasymbolbuilder.vala: use non-null parameter types, support
callbacks
* vala/valasemanticanalyzer.vala: partially support interface methods,
support callback invocations
* vala/valamemorymanager.vala: support callback invocations
* vala/valacodegenerator.vala: partially support interface methods
* vala/valacallback.vala: initial implementation
* vala/valacodenode.vala: replace public fields by properties
* vala/valaexpression.vala: add expected_type field
* vala/valainvocationexpression.vala: also visit at beginning
* vala/valalambdaexpression.vala
* vala/valanamespace.vala: support callbacks
* vala/vala.h: update
* vala/Makefile.am: update
svn path=/trunk/; revision=50
Jürg Billeter [Sun, 18 Jun 2006 12:01:46 +0000 (12:01 +0000)]
support TYPEOF support typeof expressions, out ref parameters, and enum
2006-06-18 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: support TYPEOF
* vala/parser.y: support typeof expressions, out ref parameters, and
enum attributes
* vala/valacodevisitor.vala: add visit method for typeof expressions
* vala/valaattributeprocessor.vala: use non-null parameter types,
support enums and properties
* vala/valasemanticanalyzer.vala: support floating references
* vala/valamemorymanager.vala: ignore signal connections
* vala/valacodegenerator.vala: reset temp variable id at beginning of
each file, fix out parameters, support properties without accessor
methods, support floating references, add typeof expression, support
static signal handlers
* vala/valaclass.vala: use default arguments
* vala/valaenum.vala: support cname, cprefix, and cheader_filename
attributes
* vala/valaenumvalue.vala: use Enum.get_cprefix ()
* vala/valamethod.vala: support FloatingReference attribute
* vala/valanamespace.vala: use default arguments
* vala/valaproperty.vala: support NoAccessorMethod attribute
* vala/valastruct.vala: support type_id
* vala/valatype.vala: add abstract get_type_id method
* vala/valatypeofexpression.vala
* vala/valatypereference.vala: add floating_reference property, correct
to_string method signature
* vala/vala.h: update
* vala/Makefile.am: update
* vapi/glib-2.0.vala: add GInitiallyUnowned
* vapi/gtk+-2.0.vala: start of a GTK+ binding
* vapi/pango.vala: start of a Pango binding
svn path=/trunk/; revision=49
Jürg Billeter [Sat, 17 Jun 2006 15:36:46 +0000 (15:36 +0000)]
don't leak comment texts, support generic types with weak arguments plug
2006-06-17 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: don't leak comment texts, support generic types with
weak arguments
* vala/parser.y: plug most memory leaks
* vala/valacodecontext.vala: work around memory management issues
* vala/valasourcefile.vala: break reference cycles
* vala/valasourcefilecycle.vala: break reference cycles
* vala/valasymbolbuilder.vala: store `this` and `value` parameters in
appropriate member node
* vala/valasymbolresolver.vala: break reference cycle
* vala/valasemanticanalyzer.vala: break reference cycle, promote local
variables with ownership transferring initializer, store foreach
variable declarator in statement object, assignments to properties
don't take value ownership, make null type checks behave well on
either side of a comparison
* vala/valamemorymanager.vala: add support for named arguments,
properties, and ellipsis parameter
* vala/valacodegenerator.vala: add dispose function, register properties
with static strings, don't leak strings when setting properties,
support freeing string arrays, support freeing lists with allocated
items, free local variables before return statements, free old value
on assignments
* vala/valainterfacewriter.vala: output more type reference information
* vala/valaforeachstatement.vala: reference variable_declarator
* vala/valaforstatement.vala: correct generic type arguments
* vala/valamethod.vala: break reference cycle
* vala/valaproperty.vala: reference this_parameter, add
get_canoncial_cconstant method
* vala/valapropertyaccessor.vala: reference value_parameter
* vala/valasimplename.vala: remove unneeded type_argument_list
parameter from constructor
* vala/valasourcereference.vala: let to_string transfer ownership
* vala/valastruct.vala: correct generic type argument
* vala/valasymbol.vala: improve memory management
* vala/valatype.vala: break reference cycles, let get_lower_case_cname
transfer ownership
* vala/valatypereference.vala: break reference cycle, use
type_argument_list
* vala/vala.h: add valaflags.h
* ccode/valaccodefunction.vala: work around missing list deep copy
* ccode/valaccodewriter.vala: don't manually free objects
* compiler/valacompiler.vala: enable memory management by default,
valac doesn't work anymore without memory management
* vapi/glib-2.0.vala: add memory management information
svn path=/trunk/; revision=48
Jürg Billeter [Thu, 15 Jun 2006 21:29:22 +0000 (21:29 +0000)]
add local variables to block analyze local variable initializers free
2006-06-15 Jürg Billeter <j@bitron.ch>
* vala/valasemanticanalyzer.vala: add local variables to block
* vala/valamemorymanager.vala: analyze local variable initializers
* vala/valacodegenerator.vala: free local variables at end of block,
only free non-null variables, use some strong references due to memory
manager deficiencies
* vala/valablock.vala: use non-null parameter types, add local variable
declarators
* vala/valaenum.vala: let get_upper_case_cname transfer ownership
* vala/valastruct.vala: add free_function attribute
* ccode/valaccodewriter.vala: set freed values to null
* vapi/glib-2.0.vala: add free functions
svn path=/trunk/; revision=47
Raffaele Sandrini [Thu, 15 Jun 2006 08:01:17 +0000 (08:01 +0000)]
add libxml-2.0 also to the Makefile
* add libxml-2.0 also to the Makefile
svn path=/trunk/; revision=46
Raffaele Sandrini [Thu, 15 Jun 2006 07:57:35 +0000 (07:57 +0000)]
add basic libxml2 reader support
2006-06-15 Raffaele Sandrini <rasa@gmx.ch>
* vapi/libxml-2.0.vala: add basic libxml2 reader support
svn path=/trunk/; revision=45
Jürg Billeter [Wed, 14 Jun 2006 20:55:58 +0000 (20:55 +0000)]
set is_lvalue_ref in property declarations use non-null parameter types
2006-06-14 Jürg Billeter <j@bitron.ch>
* vala/parser.y: set is_lvalue_ref in property declarations
* vala/valacodecontext.vala: use non-null parameter types
* vala/valasymbolresolver.vala: fix lookup in namespaces of using
directives, reset is_lvalue_ref where appropriate
* vala/valasemanticanalyzer.vala: use non-null parameter types,
correctly set is_ref and is_lvalue_ref in variable declarators
* vala/valamemorymanager.vala: support methods which transfer ownership
of arguments and or return value, analyze assignments
* vala/valacodegenerator.vala: add missing reference increment calls,
small memory management improvements
* vala/valaclass.vala: use non-null parameter types
* vala/valaexpression.vala: add ref_missing
* vala/valastruct.vala: support ref_function attribute, use non-null
parameter types
* vala/valatype.vala: let get_upper_case_cname return ref string
* vala/valatypereference.vala: add copy method
* ccode/valaccodeconditionalexpression.vala
* ccode/valaccodefunctioncall.vala: use non-null parameter types
* ccode/Makefile.am: update
* compiler/valacompiler.vala: process attributes before resolving
symbols to have reference_type information available in resolver
* vapi/glib-2.0.vala: add ref_function attributes to string and List,
use ref parameters in List and HashTable until the compiler can handle
it correctly
svn path=/trunk/; revision=44
Jürg Billeter [Wed, 14 Jun 2006 09:43:33 +0000 (09:43 +0000)]
set is_lvalue_ref for variables and fields variables and fields never
2006-06-14 Jürg Billeter <j@bitron.ch>
* vala/parser.y: set is_lvalue_ref for variables and fields
* vala/valasemanticanalyzer.vala: variables and fields never transfer
ownership as rvalue
* vala/valamemorymanager.vala: use non-null parameter types, analyze
return statements
* vala/valacodegenerator.vala: use non-null parameter types, support
memory management for temporary variables in variable initializers,
initialize all uninitialized references to null
* vala/valareturnstatement.vala: visit end of full expression
* vala/valatypereference.vala: add is_lvalue_ref property
* vala/valavariabledeclarator.vala: visit end of full expression
svn path=/trunk/; revision=43
Jürg Billeter [Wed, 14 Jun 2006 08:12:11 +0000 (08:12 +0000)]
use non-null parameter types, add visit method for full expressions add
2006-06-14 Jürg Billeter <j@bitron.ch>
* vala/valacodevisitor.vala: use non-null parameter types, add visit
method for full expressions
* vala/valasymbolresolver.vala: add some missing casts
* vala/valasemanticanalyzer.vala: support memory management for
temporary variables
* vala/valamemorymanager.vala: visitor to detect leaked references
* vala/valacodegenerator.vala: add automatic memory management for
temporary variables, add some missing casts
* vala/valaassignment.vala: move source_reference to Expression
* vala/valabinaryexpression.vala: move source_reference to Expression
* vala/valacastexpression.vala: move source_reference to Expression
* vala/valaconditionalexpression.vala: move source_reference to
Expression
* vala/valaclass.vala: implement memory management methods
* vala/valaexpression.vala: add source_reference, ref_leaked, and
temp_vars
* vala/valaforstatement.vala: visit end of full expression
* vala/valaifstatement.vala: visit end of full expression
* vala/valainitializerlist.vala: move source_reference to Expression
* vala/valainvocationexpression.vala: move source_reference to
Expression
* vala/valaliteralexpression.vala: move source_reference to Expression
* vala/valamemberaccess.vala: move source_reference to Expression
* vala/valaobjectcreationexpression.vala: move source_reference to
Expression
* vala/valaparenthesizedexpression.vala: move source_reference to
Expression
* vala/valapostfixexpression.vala: move source_reference to Expression
* vala/valasimplename.vala: move source_reference to Expression
* vala/valastruct.vala: implement memory management methods
* vala/valatype.vala: add abstract is_reference_counting,
get_ref_function, and get_free_function methods
* vala/valatypecheck.vala: move source_reference to Expression
* vala/valaunaryexpression.vala: move source_reference to Expression
* vala/valawhilestatement.vala: visit end of full expression
* vala/Makefile.am: update
* ccode/valaccodecommaexpression.vala
* ccode/Makefile.am: update
* compiler/valacompiler.vala: add enable-memory-management option
* vapi/glib-2.0.vala: minor GType enhancements
svn path=/trunk/; revision=42