platform/upstream/vala.git
17 years agoadd support for construction methods add to_string method support storing
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

18 years agosupport prefix increment and decrement, fix parsing opening parens fix
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

18 years agosupport CASE, DEFAULT, DO, and SWITCH support switch and do statements add
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

18 years agosupport for loops with local variable declaration in initializer
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

18 years agodon't require developer to explicitly write static in namespace field
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

18 years agosupport casting arrays don't require developer to explicitly write static
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

18 years agouse more expressive property names, add stricter () method adapt to
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

18 years agomake sure that current_scope isn't null start to support memory management
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

18 years agoPost-release version bump. remove g_object_unref call to fix crash in
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

18 years agoupdate for 0.0.1 release add introduction replace by LGPL add VALA_0_0_1
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

18 years agoadd element access support add visit_postfix_expression implementation add
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

18 years agoignore file-internal dependencies mark string literals as non-null, add
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

18 years agoadapt to changes in InvocationExpression, LocalVariableDeclaration, and
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

18 years agodon't allow write access to read-only properties adapt to changes in
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

18 years agodon't allow access to private members
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

18 years agocheck method signatures of overriding methods support abstract classes add
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

18 years agoadapt to ForStatement API changes make {get,set}_lower_case_csuffix
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

18 years agoadapt to Method API changes support signals, mark private signal handlers
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

18 years agosupport interfaces support lambda expressions with statement body add
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

18 years agoadd interface documentation, use implicit namespace specification
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

18 years agouse continue statements to decrease indentation levels add interface
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

18 years agoadd interface documentation, use implicit namespace specification adapt to
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

18 years agomerge SimpleName into MemberAccess adapt to change in Class support
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

18 years agodon't pass parameter list to lambda expression contructor support static
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

18 years agosupport implicit namespace specification in callback declaration support
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

18 years agoadd interface documentation, use implicit namespace specification test
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

18 years agoadd interface documentation, use implicit namespace specification
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

18 years agogenerate assignment with appropriate operator use implicit namespace
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

18 years agosupport implicit namespace specification in struct, interface, enum, and
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

18 years agouse implicit namespace specification, reformat code
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

18 years agosupport implicit namespace specification in class declaration
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

18 years agodistinguish between ref_function/unref_function and
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

18 years agoadd interface documentation
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

18 years agoadd private add_symbol helper method tiny refactoring of GObject lookup
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

18 years agomove source_reference to Vala.Literal, use non-null types, don't mark
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

18 years agoplug some memory leaks, adapt to Vala.Block changes replace public fields
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

18 years agodon't mark properties as construct-only, use non-null types use non-null
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

18 years agoreplace specialized interface member declarations by standard member
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

18 years agosupport LAMBDA and CALLBACK support callbacks and lambda expressions add
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

18 years agosupport TYPEOF support typeof expressions, out ref parameters, and enum
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

18 years agodon't leak comment texts, support generic types with weak arguments plug
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

18 years agoadd local variables to block analyze local variable initializers free
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

18 years agoadd libxml-2.0 also to the Makefile
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

18 years agoadd basic libxml2 reader support
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

18 years agoset is_lvalue_ref in property declarations use non-null parameter types
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

18 years agoset is_lvalue_ref for variables and fields variables and fields never
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

18 years agouse non-null parameter types, add visit method for full expressions add
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

18 years agofix cname of constants, casts of self
Jürg Billeter [Wed, 7 Jun 2006 12:30:21 +0000 (12:30 +0000)]
fix cname of constants, casts of self

2006-06-07  Jürg Billeter  <j@bitron.ch>

* vala/valacodegenerator.vala: fix cname of constants, casts of self

svn path=/trunk/; revision=41

18 years agoadd missing source dependencies check parameter types at runtime
Jürg Billeter [Wed, 7 Jun 2006 09:22:45 +0000 (09:22 +0000)]
add missing source dependencies check parameter types at runtime

2006-06-07  Jürg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: add missing source dependencies
* vala/valacodegenerator.vala: check parameter types at runtime

svn path=/trunk/; revision=40

18 years agosupport REAL_LITERAL, TILDE, SIGNAL support flags, signals, constructors,
Jürg Billeter [Wed, 7 Jun 2006 08:31:14 +0000 (08:31 +0000)]
support REAL_LITERAL, TILDE, SIGNAL support flags, signals, constructors,

2006-06-07  Jürg Billeter  <j@bitron.ch>

* vala/scanner.l: support REAL_LITERAL, TILDE, SIGNAL
* vala/parser.y: support flags, signals, constructors, destructors, real
  literals, assignment operators, and non-null types
* vala/valacodevisitor.vala: add visit methods for signals,
  constructors, destructors, and real literals
* vala/valasymbolbuilder.vala: support signals, constructors,
  destructors
* vala/valasemanticanalyzer.vala: support constructors, real literals,
  and default arguments, fix lookup in namespaces of using directives
* vala/valacodegenerator.vala: use default arguments and type register
  function classes, support constructors, interfaces, real literals,
  default arguments, casts, and signals, cast method arguments if
  necessary
* vala/valasourcefile.vala: use default arguments
* vala/valaassignment.vala: add operator
* vala/valacallback.vala: skeleton for callbacks
* vala/valaclass.vala: add signals, constructor, and destructor
* vala/valaclassregisterfunction.vala: get_type function for classes
* vala/valaconstant.vala: use default arguments
* vala/valaconstructor.vala
* vala/valadestructor.vala
* vala/valaenum.vala: use default arguments
* vala/valaflags.vala
* vala/valaflagsvalue.vala:
* vala/valaformalparameter.vala: add default_expression
* vala/valainstancecast.vala: dynamic instance cast
* vala/valainterface.vala: add signals
* vala/valainterfaceregisterfunction.vala: get_type function for
  interfaces
* vala/valanamespace.vala: add flags, use default arguments
* vala/valaproperty.vala: use default arguments
* vala/valarealliteral.vala:
* vala/valasignal.vala
* vala/valastruct.vala: use default arguments
* vala/valastringliteral.vala: use default arguments
* vala/valatypereference.vala: add is_weak property
* vala/valatyperegisterfunction.vala
* vala/vala.h: update
* vala/Makefile.am: update
* ccode/valaccodeblock.vala: add prepend_statement method
* ccode/valaccodewriter.vala: correctly indent multi-line comments
* vapi/glib-2.0.vala: add float and double, use default arguments,
  temporarily remove astring

svn path=/trunk/; revision=39

18 years agosupport interfaces, adapt to Class/Struct/Type changes, improve error
Jürg Billeter [Wed, 31 May 2006 09:56:04 +0000 (09:56 +0000)]
support interfaces, adapt to Class/Struct/Type changes, improve error

2006-05-31  Jürg Billeter  <j@bitron.ch>

* vala/parser.y: support interfaces, adapt to Class/Struct/Type changes,
  improve error handling
* vala/valacodevisitor.vala: support interfaces
* vala/valasymbolbuilder.vala: improve error handling
* vala/valasymbolresolver.vala: use operators to compare strings
* vala/valasemanticanalyzer.vala: improve error handling, convert method
  argument and type mismatch warnings to errors, add skeleton for
  expressoin type checks, support string comparison operators
* vala/valacodegenerator.vala: fix warning, create structs for
  interfaces, adapt to Class/Struct/Type changes, refactor and fix code
  in visit_simple_name and visit_member_access, use operators to compare
  strings
* vala/valainterfacewriter.vala: use operators to compare strings
* vala/valasourcefile.vala: fix warnings
* vala/valaclass.vala: don't inherit from Struct
* vala/valacodenode.vala: add error flag
* vala/valaconstant.vala: add get_cname method
* vala/valaenum.vala: override get_upper_case_cname method
* vala/valaenumvalue.vala: adapt to Class/Struct/Type changes
* vala/valafield.vala: use operators to compare strings
* vala/valainterface.vala
* vala/valainvocationexpression.vala: add add_argument method
* vala/valamethod.vala: adapt to Class/Struct/Type changes, use
  operators to compare strings
* vala/valanamespace.vala: support interfaces, use operators to compare
  strings
* vala/valastringliteral.vala: fix warning
* vala/valastruct.vala: inline visit_children method, use operators to
  compare strings
* vala/valatype.vala: add abstract get_lower_case_cname method
* vala/valatypereference.vala: add to_string method
* vala/vala.h: update
* vala/Makefile.am: update
* vapi/glib-2.0.vala: small fixes

svn path=/trunk/; revision=38

18 years agofix member access to namespaces adapt to CCodeWriter changes don't touch
Jürg Billeter [Fri, 26 May 2006 09:56:54 +0000 (09:56 +0000)]
fix member access to namespaces adapt to CCodeWriter changes don't touch

2006-05-26  Jürg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: fix member access to namespaces
* vala/valacodegenerator.vala: adapt to CCodeWriter changes
* ccode/valaccodewriter.vala: don't touch file if nothing has changed,
  required to get incremental builds working
* vapi/glib-2.0.vala: extend file functions

* ccode/Makefile.am,vala/Makefile.am,compiler/Makefile.am: support
  incremental builds

svn path=/trunk/; revision=37

18 years agosupport ELLIPSIS, use g_strdup instead of strdup support variable argument
Jürg Billeter [Thu, 25 May 2006 16:24:59 +0000 (16:24 +0000)]
support ELLIPSIS, use g_strdup instead of strdup support variable argument

2006-05-25  Jürg Billeter  <j@bitron.ch>

* vala/scanner.l: support ELLIPSIS, use g_strdup instead of strdup
* vala/parser.y: support variable argument lists, type access modifiers
* vala/valareport.vala: class to handle error reporting
* vala/valasymbolbuilder.vala: switch to new error reporting scheme
* vala/valasymbolresolver.vala: switch to new error reporting scheme
* vala/valasemanticanalyzer.vala: process Constant and EnumValue symbol
  dependencies, check method argument types, find types of unary and
  binary expressions, remove dummy field, switch to new error reporting
  scheme
* vala/valacodegenerator.vala: support calling functions with variable
  argument lists, support break and continue statements, remove dummy fields,
  switch to new error reporting scheme
* vala/valainterfacewriter.vala: visitor to write public vala api in one
  file
* vala/valasourcefile.vala: support field and property symbol
  dependencies, remove dummy field
* vala/valaclass.vala: add is_abstract field
* vala/valaenumvalue.vala: remove dummy field
* vala/valaformalparameter.vala: add ellipsis property
* vala/valamemberaccessibility.vala: add INTERNAL
* vala/valamethod.vala: make parameters public, remove dummy field
* vala/valaproperty.vala: remove dummy field
* vala/valasymbol.vala: add name field and get_full_name method
* vala/valatype.vala: add access field
* vala/valatypereference.vala: switch to new error reporting scheme
* ccode/valaccodeblock.vala: improve formatting
* ccode/valaccodeifstatement.vala: improve formatting
* ccode/valaccodewriter.vala: improve formatting
* compiler/valacompiler.vala: add error handling, support multiple vapi
  directories, add --library option to generate public vala api
* vapi/glib-2.0.vala: moved from bindings, add static GLib.stdout field,
  correctly mark functions with variable argument lists, add File.test
  method

* configure.ac,Makefile.am,ccode/Makefile.am,vala/Makefile.am,
  vapi/Makefile.am,compiler/Makefile.am: add build system

* remove valac subdirectory: Bootstrap compiler is now obsolete.

svn path=/trunk/; revision=36

18 years agoCompiler is now self-hosting.
Jürg Billeter [Wed, 24 May 2006 17:47:34 +0000 (17:47 +0000)]
Compiler is now self-hosting.

2006-05-24  Jürg Billeter  <j@bitron.ch>

Compiler is now self-hosting.

* vala/parser.y: support type checks, field attributes, and virtual and
  override method modifiers
* vala/valacodevisitor.vala: support type checks
* vala/valasymbolbuilder.vala: correct generated property accessors
* vala/valaattributeprocessor.vala: process field attributes
* vala/valasemanticanalyzer.vala: support virtual methods and type
  checks
* vala/valacodegenerator.vala: support properties, private fields,
  static fields, virtual methods, field initializers, while statements,
  foreach statements, instance last methods, postfix expressions, type
  checks
* vala/valaclass.vala: correct source reference, add get_properties
  method
* vala/valafield.vala: visit initializer, support cname attribute
* vala/valamethod.vala: support ReturnsModifiedPointer and InstanceLast
  attributes, add is_virtual, is_override, and base_method fields, add
  get_real_cname method
* vala/valaproperty.vala: add get_upper_case_cname method
* vala/valastruct.vala: add has_private_fields attribute, add
  get_methods method
* vala/valatypecheck.vala
* vala/vala.h: update
* ccode/valaccodebreakstatement.vala
* ccode/valaccodecasestatement.vala
* ccode/valaccodecontinuestatement.vala
* ccode/valaccodedeclaration.vala: renamed from
  CCodeDeclarationStatement, support function declarators
* ccode/valaccodedeclarator.vala: abstract base class for variable and
  function declarators
* ccode/valaccodefunctiondeclarator.vala:
* ccode/valaccodestruct.vala: support function declarations by adding
  add_declaration method
* ccode/valaccodeswitchstatement.vala
* ccode/valaccodeunaryexpression.vala: add postfix increment and
  decrement operators
* ccode/valaccodevariabledeclarator.vala: inherit from CCodeDeclarator
* ccode/valaccodewhilestatement.vala

svn path=/trunk/; revision=35

18 years agosupport initializer lists support constant arrays and initializer lists
Jürg Billeter [Tue, 23 May 2006 06:31:56 +0000 (06:31 +0000)]
support initializer lists support constant arrays and initializer lists

2006-05-23  Jürg Billeter  <j@bitron.ch>

* vala/valacodevisitor.vala: support initializer lists
* vala/valacodegenerator.vala: support constant arrays and initializer
  lists
* vala/valaconstant.vala: visit initializer
* vala/valainitializerlist.vala: add accept method
* vala/valastruct.vala: visit constants later than fields due to
  constant initialization
* vala/valatypereference.vala: add get_const_cname method
* ccode/valaccodeinitializerlist.vala

svn path=/trunk/; revision=34

18 years agosupport abstract methods and static fields support parameter symbol
Jürg Billeter [Mon, 22 May 2006 20:04:08 +0000 (20:04 +0000)]
support abstract methods and static fields support parameter symbol

2006-05-22  Jürg Billeter  <j@bitron.ch>

* vala/parser.y: support abstract methods and static fields
* vala/valasourcefile.vala: support parameter symbol dependencies
* vala/valasymbolbuilder.vala: insert default body for get accessors
* vala/valasemanticanalyzer.vala: add property type dependency
* vala/valacodegenerator.vala: add constants, private static fields,
  main function, property accessors, this, casting for member access
* vala/valablock.vala: add add_statement method
* vala/valafield.vala: add instance field
* vala/valamethod.vala: add is_abstract field
* valac/generator.c: mark generated properties as writable

svn path=/trunk/; revision=33

18 years agoadd class instance private struct, type register function, class init
Jürg Billeter [Mon, 22 May 2006 14:25:32 +0000 (14:25 +0000)]
add class instance private struct, type register function, class init

2006-05-22  Jürg Billeter  <j@bitron.ch>

* vala/valacodegenerator.c: add class instance private struct, type
  register function, class init function, instance init function;
  support access to private members
* ccode/valaccodedeclarationstatement.vala: support static modifier

svn path=/trunk/; revision=32

18 years agosupport file comments, BREAK, CONTINUE support break and continue, add
Jürg Billeter [Sun, 21 May 2006 11:51:46 +0000 (11:51 +0000)]
support file comments, BREAK, CONTINUE support break and continue, add

2006-05-21  Jürg Billeter  <j@bitron.ch>

* vala/scanner.l: support file comments, BREAK, CONTINUE
* vala/parser.y: support break and continue, add more comments
* vala/valacodecontext.vala: find cyclic header dependencies
* vala/valasourcefile.vala: add get_namespaces method, add dependency
  information, add add_symbol_dependency method, add
  SourceFileDependencyType enum
* vala/valasourcefilecycle.vala
* vala/valacodevisitor.vala: support break and continue statements
* vala/valaparser.vala: support file comments
* vala/valasemanticanalyzer.vala: record dependency information
* vala/valacodegenerator.vala: add include directives, type forward
  declarations, once section, enum values, method return types, and more
  comments
* vala/valablock.vala, vala/valadeclarationstatement.vala,
  vala/valaemptystatement.vala, vala/valaexpressionstatement.vala,
  vala/valaforeachstatement.vala, vala/valaforstatement.vala,
  vala/valaifstatement.vala, vala/valareturnstatement.vala,
  vala/valastatement.vala, vala/valawhilestatement.vala: move
  source_reference property to Statement class
* vala/valaclass.vala, vala/valaenum.vala, vala/valastruct.vala,
  vala/valatype.vala: move name, source_reference, namespace, and
  get_cheader_filenames to Type class
* vala/valabreakstatement.vala
* vala/valacontinuestatement.vala
* vala/valaenum.vala: fix cname, add get_upper_case_cname method
* vala/valaenumvalue.vala: add get_cname method
* vala/valafield.vala: add access field
* vala/valanamespace.vala: add get_structs, get_classes, and
  get_cheader_filenames methods, support cheader_filename attribute
* vala/valastruct.vala: support cheader_filename attribute
* vala/valatypereference.vala: support void cname
* vala/vala.h: update
* ccode/valaccodeblock.vala: support comments before statements
* ccode/valaccodeenum.vala: optionally use typedef
* ccode/valaccodefunction.vala: add copy method
* ccode/valaccodenewline.vala
* ccode/valaccodeoncesection.vala
* ccode/valaccodewriter.vala: use whole line for comments
* bindings/glib-2.0.vala: add cheader_filename attributes, extend string
  types
* valac/generator.c: fix private field access, include string.h

svn path=/trunk/; revision=31

18 years agoinclude header file in corresponding source file, generate class macros
Jürg Billeter [Fri, 19 May 2006 14:03:34 +0000 (14:03 +0000)]
include header file in corresponding source file, generate class macros

2006-05-19  Jürg Billeter  <j@bitron.ch>

* vala/valacodegenerator.vala: include header file in corresponding
  source file, generate class macros and typedefs
* ccode/valaccodeincludedirective.vala
* ccode/valaccodemacroreplacement.vala: c macro definition
* ccode/valaccodetypedefinition.vala: c typedef
* bindings/glib-2.0.vala: correct comment

svn path=/trunk/; revision=30

18 years agoadd get_source_files method add pkg flag use GLib.Object as default base
Jürg Billeter [Thu, 18 May 2006 20:47:29 +0000 (20:47 +0000)]
add get_source_files method add pkg flag use GLib.Object as default base

2006-05-18  Jürg Billeter  <j@bitron.ch>

* vala/valacodecontext.vala: add get_source_files method
* vala/valasourcefile.vala: add pkg flag
* vala/valasymbolresolver.vala: use GLib.Object as default base class
* vala/valacodegenerator.vala: ignore package bindings, fix names of
  class structs
* bindings/glib-2.0.vala: renamed from GLib.vala, add g_build_filename
* compiler/valacompiler.vala: add pkg and pkgdir options

svn path=/trunk/; revision=29

18 years agoupdate ChangeLog
Jürg Billeter [Thu, 18 May 2006 18:32:18 +0000 (18:32 +0000)]
update ChangeLog

* update ChangeLog

svn path=/trunk/; revision=28

18 years agoadd method parameters, public instance field access, invocation arguments
Jürg Billeter [Thu, 18 May 2006 18:12:23 +0000 (18:12 +0000)]
add method parameters, public instance field access, invocation arguments

2006-05-18  Jürg Billeter  <j@bitron.ch>

* vala/valacodegenerator.vala: add method parameters, public instance
  field access, invocation arguments
* vala/valamethod.vala: add get_parameters method
* ccode/valaccodeformalparameter.vala
* ccode/valaccodefunction.vala: use CCodeFormalParameter
* ccode/valaccodememberaccess.vala
* valac/scanner.l: support ASSIGN_BITWISE_OR, BITWISE_OR
* valac/parser.y: support bitwise or
* valac/context.h: support bitwise or
* valac/generator.c: support bitwise or

svn path=/trunk/; revision=27

18 years agosupport member and access modifiers, static methods process method
Jürg Billeter [Thu, 18 May 2006 13:57:34 +0000 (13:57 +0000)]
support member and access modifiers, static methods process method

2006-05-18  Jürg Billeter  <j@bitron.ch>

* vala/parser.y: support member and access modifiers, static methods
* vala/valaattributeprocessor.vala: process method attributes
* vala/valaclass.vala: don't set parent_type member of children
* vala/valaconstant.vala: remove unnecessary parent_type member
* vala/valafield.vala: remove unnecessary parent_type member
* vala/valamethod.vala: support cname attribute
* vala/valanamespace.vala: add methods
* vala/valaproperty.vala: remove unnecessary parent_type member
* vala/valastruct.vala: don't set parent_type member of children

svn path=/trunk/; revision=26

18 years agoadapt to BinaryOperator enum changes add operators to unary and binary
Jürg Billeter [Thu, 18 May 2006 13:22:42 +0000 (13:22 +0000)]
adapt to BinaryOperator enum changes add operators to unary and binary

2006-05-18  Jürg Billeter  <j@bitron.ch>

* vala/parser.y: adapt to BinaryOperator enum changes
* vala/valacodegenerator.vala: add operators to unary and binary
  expressions
* vala/valabinaryexpression.vala: correct enum value names
* ccode/valaccodebinaryexpression.vala: add operator
* ccode/valaccodeunaryexpression.vala

svn path=/trunk/; revision=25

18 years agosupport namespace attributes process namespace and class attributes use
Jürg Billeter [Thu, 18 May 2006 12:42:42 +0000 (12:42 +0000)]
support namespace attributes process namespace and class attributes use

2006-05-18  Jürg Billeter  <j@bitron.ch>

* vala/parser.y: support namespace attributes
* vala/valaattributeprocessor.vala: process namespace and class
  attributes
* vala/valacodegenerator.vala: use correct symbol names
* vala/valamethod.vala: add cname
* vala/valanamespace.vala: add cprefix, support cprefix attribute
* vala/valastruct.vala: prefix cname with namespace cprefix
* bindings/GLib.vala: add tolower to unichar
* valac/parser.y: rename namespace attribute cname to lower_case_cprefix

svn path=/trunk/; revision=24

18 years agoupdate reference and property annotations switch string struct to utf-8
Jürg Billeter [Thu, 18 May 2006 11:52:24 +0000 (11:52 +0000)]
update reference and property annotations switch string struct to utf-8

2006-05-18  Jürg Billeter  <j@bitron.ch>

* update reference and property annotations
* switch string struct to utf-8
* valac/context.c: set source file in root namespace
* valac/generator.c: don't include bindings stub header

svn path=/trunk/; revision=23

18 years agoimplement camel_case_to_lower_case method extend string types support
Jürg Billeter [Wed, 17 May 2006 20:57:09 +0000 (20:57 +0000)]
implement camel_case_to_lower_case method extend string types support

2006-05-17  Jürg Billeter  <j@bitron.ch>

* vala/valanamespace.vala: implement camel_case_to_lower_case method
* bindings/GLib.vala: extend string types
* valac/generator.c: support access to struct fields

svn path=/trunk/; revision=22

18 years agosupport variable declarators, subtyping, constants, properties, and enums
Jürg Billeter [Wed, 17 May 2006 18:40:44 +0000 (18:40 +0000)]
support variable declarators, subtyping, constants, properties, and enums

2006-05-17  Jürg Billeter  <j@bitron.ch>

* vala/parser.y: support variable declarators, subtyping, constants,
  properties, and enums
* vala/valacodevisitor.vala: support formal parameters, property
  accessors, named arguments, and parenthesized expressions
* vala/valasymbolbuilder.vala: visit enum values, constants, formal
  parameters, properties, and blocks
* vala/valasymbolresolver.vala: save base class, accept void type,
  support type references with namespace name
* vala/valasemanticanalyzer.vala: visitor to find static types of
  expressions
* vala/valacodegenerator.vala: support parenthesized expressions
* vala/valablock.vala: add begin and end visit events
* vala/valaclass.vala: support base types and properties
* vala/valaenum.vala: add values
* vala/valaenumvalue.vala
* vala/valaexpression.vala: add generic symbol reference
* vala/valaforeachstatement.vala: add begin and end visit events
* vala/valaformalparameter.vala: add visit event
* vala/valaliteral.vala: mark class as abstract
* vala/valamethod.vala: add return_type
* vala/valanamedargument.vala: add accept method
* vala/valanamespace.vala: visit fields
* vala/valaobjectcreationexpression.vala: visit arguments
* vala/valaparenthesizedexpression.vala: add visit event
* vala/valaproperty.vala: add accessors
* vala/valapropertyaccessor.vala
* vala/valasimplename.vala: code style update
* vala/valastruct.vala: add constants
* vala/valavariabledeclarator.vala: add type reference
* vala/vala.h: update
* compiler/valacompiler.vala: invoke SemanticAnalyzer
* ccode/valaccodefragment.vala: code style update
* ccode/valaccodeparenthesizedexpression.vala:
* valac/parser.y: support replacement of readonly fields
* valac/context.c: resolve types in operation expressions

svn path=/trunk/; revision=21

18 years agofix multi-line comments basic statement and expression handling support
Jürg Billeter [Tue, 16 May 2006 20:46:25 +0000 (20:46 +0000)]
fix multi-line comments basic statement and expression handling support

2006-05-16  Jürg Billeter  <j@bitron.ch>

* vala/scanner.l: fix multi-line comments
* vala/valacodegenerator.vala: basic statement and expression handling
* vala/valacodevisitor.vala: support variable declaration
* vala/valasymbolbuilder.vala: adapt to visitor changes
* vala/valaclass.vala: remove members already available in Struct
* vala/valacodenode.vala: add ccodenode field
* vala/valadeclarationstatement.vala: visit declaration
* vala/valaexpressionstatement.vala: visit code containers after child
  elements
* vala/valalocalvariabledeclaration.vala: add accept method
* vala/valamethod.vala: add begin and end visit events
* vala/valanamespace.vala: add lower_case_cprefix
* vala/valastruct.vala: define get_upper_case_cname method
* vala/valatype.vala: declare get_upper_case_cname method
* vala/valatypereference.vala: add get_upper_case_cname method
* vala/valavariabledeclarator.vala: add accept method
* ccode/valaccodewriter.vala: formatting fixes
* ccode/valaccodeassignment.vala
* ccode/valaccodebinaryexpression.vala
* ccode/valaccodeblock.vala: use CCodeStatement
* ccode/valaccodeconstant.vala
* ccode/valaccodedeclarationstatement.vala
* ccode/valaccodeemptystatement.vala
* ccode/valaccodeexpression.vala
* ccode/valaccodeexpressionstatement.vala
* ccode/valaccodeforstatement.vala
* ccode/valaccodefunction.vala: formatting fixes
* ccode/valaccodefunctioncall.vala
* ccode/valaccodeidentifier.vala
* ccode/valaccodeifstatement.vala
* ccode/valaccodereturnstatement.vala
* ccode/valaccodestatement.vala
* ccode/valaccodestruct.vala: formatting fixes
* ccode/valaccodevariabledeclarator.vala
* bindings/GLib.vala: extend string types
* valac/context.c: resolve types in named argument list in object
  creation expression

svn path=/trunk/; revision=20

18 years agofix unary expressions add visit_block method add visit methods for
Jürg Billeter [Tue, 16 May 2006 13:44:39 +0000 (13:44 +0000)]
fix unary expressions add visit_block method add visit methods for

2006-05-16  Jürg Billeter  <j@bitron.ch>

* vala/parser.y: fix unary expressions
* vala/valacodegenerator.vala: add visit_block method
* vala/valacodevisitor.vala: add visit methods for statements,
  expressions, and literals
* vala/valaassignment.vala: add accept method
* vala/valabinaryexpression.vala: add accept method
* vala/valablock.vala: add accept method
* vala/valabooleanliteral.vala: add accept method
* vala/valacastexpression.vala: add accept method
* vala/valacharacterliteral.vala: add accept method
* vala/valaconditionalexpression.vala: add accept method
* vala/valaconstant.vala: visit code containers after child elements
* vala/valadeclarationstatement.vala: add accept method
* vala/valaemptystatement.vala: add accept method
* vala/valaexpressionstatement.vala: add accept method
* vala/valafield.vala: visit code containers after child elements
* vala/valaforeachstatement.vala: add accept method
* vala/valaformalparameter.vala: add accept method
* vala/valaforstatement.vala: add accept method
* vala/valaifstatement.vala: add accept method
* vala/valaintegerliteral.vala: add accept method
* vala/valainvocationexpression.vala: add accept method
* vala/valaliteralexpression.vala: add accept method
* vala/valamemberaccess.vala: add accept method
* vala/valamethod.vala: add accept method
* vala/valanullliteral.vala: add accept method
* vala/valaobjectcreationexpression.vala: add accept method
* vala/valaparenthesizedexpression.vala: add accept method
* vala/valapostfixexpression.vala: add accept method
* vala/valareturnstatement.vala: add accept method
* vala/valasimplename.vala: add accept method
* vala/valastringliteral.vala: add accept method
* vala/valaunaryexpression.vala: fix constructor, add accept method
* vala/valawhilestatement.vala: add accept method
* ccode/valaccodefunction.vala: renamed from CCodeMethod

svn path=/trunk/; revision=19

18 years agosupport logical AND and OR expressions, conditional expressions,
Jürg Billeter [Tue, 16 May 2006 08:52:23 +0000 (08:52 +0000)]
support logical AND and OR expressions, conditional expressions,

2006-05-16  Jürg Billeter  <j@bitron.ch>

* vala/parser.y: support logical AND and OR expressions, conditional
  expressions, assignments, constants, method parameters, and properties
* vala/valacodevisitor.vala: add constant and property visits
* vala/valaassignment.vala
* vala/valabinaryexpression.vala: add bitwise xor, AND, and OR
* vala/valaconditionalexpression.vala
* vala/valaconstant.vala
* vala/valaformalparameter.vala
* vala/valainitializerlist.vala
* vala/valamemberaccess.vala: add source_reference
* vala/valamethod.vala: add parameters
* vala/valaproperty.vala
* vala/vala.h: update

svn path=/trunk/; revision=18

18 years agosupport member access, multiplicative, additive, shift, equality,
Jürg Billeter [Tue, 16 May 2006 07:22:45 +0000 (07:22 +0000)]
support member access, multiplicative, additive, shift, equality,

2006-05-16  Jürg Billeter  <j@bitron.ch>

* vala/parser.y: support member access, multiplicative, additive, shift,
  equality, relational, and bitwise expressions
* vala/valabinaryexpression.vala
* vala/valamemberaccess.vala: add constructor
* vala/vala.h: update

svn path=/trunk/; revision=17

18 years agosupport assign operators support assign operators and attributes visitor
Jürg Billeter [Mon, 15 May 2006 21:02:52 +0000 (21:02 +0000)]
support assign operators support assign operators and attributes visitor

2006-05-15  Jürg Billeter  <j@bitron.ch>

* vala/scanner.l: support assign operators
* vala/parser.y: support assign operators and attributes
* vala/valaattributeprocessor.vala: visitor to process compiler
  attributes
* vala/valacodegenerator.vala: support structs, enums, and methods
* vala/valacodenode.vala: support attributes
* vala/valaattribute.vala
* vala/valamemberaccessibility.vala
* vala/valamethod.vala
* vala/valastruct.vala: support CCode (cname) attribute
* vala/vala.h: update
* compiler/valacompiler.vala: invoke AttributeProcessor
* ccode/valaccodeblock.vala
* ccode/valaccodeenum.vala
* ccode/valaccodemethod.vala
* ccode/valaccodemodifiers.vala
* bindings/GLib.vala: add string cmp method
* valac/scanner.l: support BITWISE_AND
* valac/parser.y: support bitwise and
* valac/context.h: add bitwise and
* valac/generator.c: support enum dependencies and bitwise and

svn path=/trunk/; revision=16

18 years agosupport OPEN_CAST_PARENS, IS, WHILE support structs, enums, and fields,
Jürg Billeter [Sun, 14 May 2006 20:31:49 +0000 (20:31 +0000)]
support OPEN_CAST_PARENS, IS, WHILE support structs, enums, and fields,

2006-05-14  Jürg Billeter  <j@bitron.ch>

* vala/scanner.l: support OPEN_CAST_PARENS, IS, WHILE
* vala/parser.y: support structs, enums, and fields, cast, postfix,
  while, ref types, and generic type parameters; fix comments
* vala/valacodecontext.vala: add root symbol
* vala/valasourcefile.vala: add using directives, c filenames
* vala/valacodevisitor.vala: add begin and end visits for some container
  types, add struct, enum, field, type parameter, namespace reference,
  and type reference visits
* vala/valaparser.vala: adapt to visitor changes
* vala/valasymbolbiulder.vala: visitor to fill symbol table
* vala/valasymbolresolver.vala: visitor to resolve symbol references
* vala/valacodegenerator.vala: add beginning of code generation
* vala/valacodenode.vala: add symbol reference
* vala/valacastexpression.vala
* vala/valaclass.vala: derive from struct
* vala/valaenum.vala
* vala/valaexpression.vala: add static_type, field_reference, and
  method_reference fields
* vala/valafield.vala
* vala/valamemberaccess.vala
* vala/valanamespace.vala: add structs, enums, and fields
* vala/valanamespacereference.vala
* vala/valapostfixexpression.vala
* vala/valasourcereference.vala: adapt to comment changes
* vala/valastringliteral.vala: add eval method
* vala/valastruct.vala
* vala/valasymbol.vala
* vala/valatype.vala
* vala/valatypeparameter.vala:
* vala/valatypereference.vala: add type, type_parameter, is_ref, and
  is_out fields, add get_cname method
* vala/valavariabledeclarator.vala: add name and initializer fields
* vala/valawhilestatement.vala:
* vala/vala.h: update
* compiler/valacompiler.vala: run SymbolBuilder and SymbolResolver
* ccode/valaccodewriter.vala
* ccode/valaccodecomment.vala
* ccode/valaccodefragment.vala
* ccode/valaccodenode.vala
* ccode/valaccodestruct.vala
* bindings/GLib.vala: add/extend ustring, Path, Object, File, HashTable
* valac/scanner.l: support OPEN_CAST_PARENS, OP_AND, OP_OR, IS, WHILE
* valac/parser.y: support cast, while, include_filename ccode attribute,
  AND and OR expressions, IS type checks, unary minus
* valac/context.h: add while statements, cast and IS expressions, and
  AND and OR operators
* valac/context.c: support cast, IS, while; fix if
* valac/generator.c: support cast, IS, pointer arithmetic, namespace
  methods, imported include files
* valac/driver.c: add symbol alias

svn path=/trunk/; revision=15

18 years agotokenizer for new vala compiler parser vor new vala compiler
Jürg Billeter [Sun, 7 May 2006 14:19:40 +0000 (14:19 +0000)]
tokenizer for new vala compiler parser vor new vala compiler

2006-05-07  Jürg Billeter  <j@bitron.ch>

* vala/scanner.l: tokenizer for new vala compiler
* vala/parser.y: parser vor new vala compiler
* vala/valablock.vala
* vala/valabooleanliteral.vala
* vala/valacharacterliteral.vala
* vala/valaclass.vala: add methods
* vala/valadeclarationstatement.vala
* vala/valaemptystatement.vala
* vala/valaexpression.vala
* vala/valaexpressionstatement.vala
* vala/valaforeachstatement.vala
* vala/valaforstatement.vala
* vala/valaifstatement.vala
* vala/valaintegerliteral.vala
* vala/valainvocationexpression.vala
* vala/valaliteral.vala
* vala/valaliteralexpression.vala
* vala/valalocalvariabledeclaration.vala
* vala/valamethod.vala
* vala/valanamedargument.vala
* vala/valanullliteral.vala
* vala/valaobjectcreationexpression.vala
* vala/valaparenthesizedexpression.vala
* vala/valareturnstatement.vala
* vala/valasimplename.vala
* vala/valastatement.vala
* vala/valastringliteral.vala
* vala/valatypereference.vala
* vala/valaunaryexpression.vala
* vala/valavariabledeclarator.vala
* vala/valacodevisitor.vala: add visit_method skeleton
* vala/valacodegenerator.vala: do.
* vala/vala.h: include generated header files
* valac/generator.c: support bool and enum properties, support enums

svn path=/trunk/; revision=14

18 years agovala/valacodecontext.vala vala/valasourcefile.vala filename, line, and
Jürg Billeter [Sat, 6 May 2006 23:16:17 +0000 (23:16 +0000)]
vala/valacodecontext.vala vala/valasourcefile.vala filename, line, and

2006-05-06  Jürg Billeter  <j@bitron.ch>

* vala/valacodecontext.vala
* vala/valasourcefile.vala
* vala/valasourcereference.vala: filename, line, and comment container
* vala/valacodenode.vala: abstract code node
* vala/valanamespace.vala: namespace node
* vala/valaclass.vala: class node
* vala/valacodevisitor.vala: abstract syntax tree visitor
* vala/valaparser.vala: vala parser
* vala/valacodegenerator.vala: code generator skeleton
* compiler/valacompiler.vala: compiler driver
* bindings/GLib.vala: add bindings for GList and GOptionContext
* valac/scanner.l: support multi-line comments, ABSTRACT, INTERFACE,
  READONLY
* valac/parser.y: replace AT by HASH, support readonly fields
* valac/context.h: small fixes
* valac/context.c: small fixes
* valac/generator.c: fix override methods, basic support for properties

svn path=/trunk/; revision=13

18 years agosupport OP_NEG, CONSTRUCT, FOREACH, IN add foreach, construct properties;
Jürg Billeter [Wed, 3 May 2006 08:03:01 +0000 (08:03 +0000)]
support OP_NEG, CONSTRUCT, FOREACH, IN add foreach, construct properties;

2006-05-03  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support OP_NEG, CONSTRUCT, FOREACH, IN
* valac/parser.y: add foreach, construct properties; merge modifiers to
  resolve parser conflicts
* valac/context.h: merge modifiers
* valac/context.c: support namespace fields, resolve types in
  assignments, invocations, and if, for, and foreach statements
* valac/generator.c: support negation operator, inherited fields in
  object variables, foreach statements for arrays and GList, fix
  circular dependencies

svn path=/trunk/; revision=12

18 years agoadd tests for base fields remove klass local variable, add support for
Raffaele Sandrini [Tue, 2 May 2006 12:47:10 +0000 (12:47 +0000)]
add tests for base fields remove klass local variable, add support for

2006-05-02  Raffaele Sandrini  <rasa@gmx.ch>

        * tests/test-008.vala: add tests for base fields
        * valac/generator.c: remove klass local variable, add support for
          base fields.

svn path=/trunk/; revision=11

18 years agosupport ENUM, FLAGS, STRUCT add structs, generic types, enums, flags,
Jürg Billeter [Mon, 1 May 2006 08:07:14 +0000 (08:07 +0000)]
support ENUM, FLAGS, STRUCT add structs, generic types, enums, flags,

2006-05-01  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support ENUM, FLAGS, STRUCT
* valac/parser.y: add structs, generic types, enums, flags, attributes,
  ref and out parameters
* valac/context.h: add ValaFlags, ValaFlagsValue, and ValaAnnotation
  structs
* valac/context.c: support bool, uint, pointer, generic types
* valac/generator.h: save pointer to current struct
* valac/generator.c: support structs, ReturnsModifiedPointer, include
  files

svn path=/trunk/; revision=10

18 years agosupport AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF, THIS, VALA_TRUE,
Jürg Billeter [Sun, 30 Apr 2006 15:20:38 +0000 (15:20 +0000)]
support AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF, THIS, VALA_TRUE,

2006-04-30  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF,
  THIS, VALA_TRUE, USING, VAR, LITERAL_CHARACTER
* valac/parser.y: add character, boolean, and null literals, using
  directive, @ type qualifier, constants, ref and out variables,
  array element access, this access, struct and array initializer,
  var type
* valac/context.h: add ValaEnum, ValaConstant, and ValaEnumValue structs
* valac/context.c: support constants, struct members, enums, var type,
  using directives
* valac/generator.h: save pointer to current class
* valac/generator.c: support constants, boolean and null literals,
  array element access, using directives, this access, enums, private
  static fields, ref and out variables, struct and array initializer,
  boolean, character, and null literal, var type

svn path=/trunk/; revision=9

18 years agoadd
Raffaele Sandrini [Thu, 27 Apr 2006 09:26:38 +0000 (09:26 +0000)]
add

2006-04-27  Raffaele Sandrini  <rasa@gmx.ch>

        * tests/test-008.vala:
        * tests/test-009.vala: add
        * valac/parser.y:
        * valac/scanner.l:
        * valac/context.c:
        * valac/generator.c:
        * valac/context.h: add field and property support (property parse only
          yet)
        * AUTHORS: add myself

svn path=/trunk/; revision=8

18 years agosupport OVERRIDE, VIRTUAL add virtual methods support virtual methods,
Jürg Billeter [Wed, 26 Apr 2006 20:16:44 +0000 (20:16 +0000)]
support OVERRIDE, VIRTUAL add virtual methods support virtual methods,

2006-04-26  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support OVERRIDE, VIRTUAL
* valac/parser.y: add virtual methods
* valac/context.h: support virtual methods, improve init and class_init
* valac/context.c: set symbol in ValaMethod struct
* valac/generator.c: support virtual methods
* tests/test-007.vala: test virtual method declaration and invocation

svn path=/trunk/; revision=7

18 years agosupport OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC, OP_EQ, OP_NE, OP_LE,
Jürg Billeter [Wed, 26 Apr 2006 14:58:13 +0000 (14:58 +0000)]
support OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC, OP_EQ, OP_NE, OP_LE,

2006-04-26  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC,
  OP_EQ, OP_NE, OP_LE, OP_GE, OP_LT, OP_GT, MINUS, STAR, DIV, ELSE, FOR,
  IF
* valac/parser.y: add array type references, equality expressions,
  relational expressions, multiplicative expressions, postfix
  operations, object creation, if conditionals, for loops
* valac/context.h: add ValaNamedArgument struct, support if and for
  statements
* valac/context.c: resolve types in object creation expressions of
  variable initializers
* valac/generator.c: support array type references, init and class_init
  methods, more operations, object creation, for loops, if conditionals,
  call g_type_init in main
* tests/test-006.vala: test instance method invocation, object creation,
  for loop, if conditional, multiplicative expression

svn path=/trunk/; revision=6

18 years agosave cname in class, save location of statements and expressions add
Jürg Billeter [Tue, 25 Apr 2006 21:17:43 +0000 (21:17 +0000)]
save cname in class, save location of statements and expressions add

2006-04-25  Jürg Billeter  <j@bitron.ch>

* valac/parser.y: save cname in class, save location of statements and
  expressions
* valac/context.h: add ValaStruct struct
* valac/context.c: support symbols from methods and structs, add int
  and string fundamental types, resolve types in local variable
  declarations
* valac/generator.h: save pointer to current method block
* valac/generator.c: add special handling for main method, basic support
  for method invocations, literals, member access, simple names,
  additive expressions, return statments, blocks
* tests/test-005.vala: test static method invocation, literal integer,
  simple name, additive expression, return statement, block, main method

svn path=/trunk/; revision=5

18 years agosupport single-line comments, ASSIGN, PLUS, RETURN, LITERAL_INTEGER,
Jürg Billeter [Mon, 24 Apr 2006 14:00:03 +0000 (14:00 +0000)]
support single-line comments, ASSIGN, PLUS, RETURN, LITERAL_INTEGER,

2006-04-24  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support single-line comments, ASSIGN, PLUS, RETURN,
  LITERAL_INTEGER, LITERAL_STRING
* valac/parser.y: add basic statements and expressions
* valac/context.h: add ValaStatement, ValaVariableDeclaration,
  ValaVariableDeclarator, and ValaExpression structs
* valac/context.c: remove unreachable line

svn path=/trunk/; revision=4

18 years agoset token location, support OPEN_PARENS, CLOSE_PARENS, SEMICOLON, PUBLIC,
Jürg Billeter [Mon, 24 Apr 2006 06:58:11 +0000 (06:58 +0000)]
set token location, support OPEN_PARENS, CLOSE_PARENS, SEMICOLON, PUBLIC,

2006-04-24  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: set token location, support OPEN_PARENS,
  CLOSE_PARENS, SEMICOLON, PUBLIC, STATIC
* valac/parser.y: save symbol location, output exact error location,
  support method declarations
* valac/context.h: add ValaLocation, ValaMethod, and ValaFormalParameter
  structs, add location to ValaClass and ValaTypeReference structs
* valac/context.c: output error location, support method declarations
* valac/generator.c: support method declarations
* valac/driver.c: add comment
* tests/test-004.vala: test method declaration

svn path=/trunk/; revision=3

18 years agosupport DOT, COLON, and COMMA save lower and upper case cnames in
Jürg Billeter [Sat, 22 Apr 2006 11:19:34 +0000 (11:19 +0000)]
support DOT, COLON, and COMMA save lower and upper case cnames in

2006-04-22  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support DOT, COLON, and COMMA
* valac/parser.y: save lower and upper case cnames in namespace and
  class objects, support base classes
* valac/context.h: add ValaSymbol and ValaTypeReference structs, add
  cnames to ValaNamespace and ValaClass structs
* valac/context.c: add symbol handling, type resolving, set cnames in
  root namespace
* valac/generator.c: remove cname generation, support base classes
* valac/driver.c: add symbols and resolve types
* tests/test-003.vala: test base class

svn path=/trunk/; revision=2

18 years agoInitial import.
Jürg Billeter [Fri, 21 Apr 2006 09:20:38 +0000 (09:20 +0000)]
Initial import.

* Initial import.

svn path=/trunk/; revision=1