1. 08 Jul, 2006 3 commits
    • Jürg Billeter's avatar
      check method signatures of overriding methods support abstract classes add · 2a1a351c
      Jürg Billeter authored
      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
      2a1a351c
    • Jürg Billeter's avatar
      adapt to ForStatement API changes make {get,set}_lower_case_csuffix · c8075c40
      Jürg Billeter authored
      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
      c8075c40
    • Jürg Billeter's avatar
      adapt to Method API changes support signals, mark private signal handlers · d445ab95
      Jürg Billeter authored
      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
      d445ab95
  2. 07 Jul, 2006 3 commits
    • Jürg Billeter's avatar
      support interfaces support lambda expressions with statement body add · 1afd1f31
      Jürg Billeter authored
      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
      1afd1f31
    • Jürg Billeter's avatar
      add interface documentation, use implicit namespace specification · 235eba7a
      Jürg Billeter authored
      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
      235eba7a
    • Jürg Billeter's avatar
      use continue statements to decrease indentation levels add interface · 53b8098f
      Jürg Billeter authored
      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
      53b8098f
  3. 06 Jul, 2006 2 commits
    • Jürg Billeter's avatar
      add interface documentation, use implicit namespace specification adapt to · 7b280c7d
      Jürg Billeter authored
      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
      7b280c7d
    • Jürg Billeter's avatar
      merge SimpleName into MemberAccess adapt to change in Class support · 49177f7d
      Jürg Billeter authored
      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
      49177f7d
  4. 05 Jul, 2006 1 commit
    • Jürg Billeter's avatar
      don't pass parameter list to lambda expression contructor support static · bf6a3316
      Jürg Billeter authored
      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
      bf6a3316
  5. 04 Jul, 2006 4 commits
    • Jürg Billeter's avatar
      support implicit namespace specification in callback declaration support · dd54613e
      Jürg Billeter authored
      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
      dd54613e
    • Jürg Billeter's avatar
      add interface documentation, use implicit namespace specification test · 8e4d93a8
      Jürg Billeter authored
      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
      8e4d93a8
    • Jürg Billeter's avatar
      add interface documentation, use implicit namespace specification · 14c2da81
      Jürg Billeter authored
      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
      14c2da81
    • Jürg Billeter's avatar
      generate assignment with appropriate operator use implicit namespace · 3a558fda
      Jürg Billeter authored
      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
      3a558fda
  6. 03 Jul, 2006 1 commit
    • Jürg Billeter's avatar
      support implicit namespace specification in struct, interface, enum, and · 629fa2ee
      Jürg Billeter authored
      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
      629fa2ee
  7. 30 Jun, 2006 2 commits
  8. 29 Jun, 2006 2 commits
    • Jürg Billeter's avatar
      distinguish between ref_function/unref_function and · 027deaeb
      Jürg Billeter authored
      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
      027deaeb
    • Jürg Billeter's avatar
      add interface documentation · 44cb3169
      Jürg Billeter authored
      2006-06-29  Jürg Billeter  <j@bitron.ch>
      
      	* vala/valacodenode.vala, vala/valaexpression.vala: add interface
      	  documentation
      
      svn path=/trunk/; revision=56
      44cb3169
  9. 28 Jun, 2006 2 commits
    • Jürg Billeter's avatar
      add private add_symbol helper method tiny refactoring of GObject lookup · 7d6ffc05
      Jürg Billeter authored
      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
      7d6ffc05
    • Jürg Billeter's avatar
      move source_reference to Vala.Literal, use non-null types, don't mark · e054dd10
      Jürg Billeter authored
      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
      e054dd10
  10. 26 Jun, 2006 1 commit
    • Jürg Billeter's avatar
      plug some memory leaks, adapt to Vala.Block changes replace public fields · d5c1409f
      Jürg Billeter authored
      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
      d5c1409f
  11. 22 Jun, 2006 3 commits
    • Jürg Billeter's avatar
      don't mark properties as construct-only, use non-null types use non-null · 244f6cbe
      Jürg Billeter authored
      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
      244f6cbe
    • Jürg Billeter's avatar
      replace specialized interface member declarations by standard member · 49cda49e
      Jürg Billeter authored
      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
      49cda49e
    • Jürg Billeter's avatar
      support LAMBDA and CALLBACK support callbacks and lambda expressions add · b25848cb
      Jürg Billeter authored
      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
      b25848cb
  12. 18 Jun, 2006 1 commit
    • Jürg Billeter's avatar
      support TYPEOF support typeof expressions, out ref parameters, and enum · 7249dcd5
      Jürg Billeter authored
      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
      7249dcd5
  13. 17 Jun, 2006 1 commit
    • Jürg Billeter's avatar
      don't leak comment texts, support generic types with weak arguments plug · 93620ce9
      Jürg Billeter authored
      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
      93620ce9
  14. 15 Jun, 2006 3 commits
    • Jürg Billeter's avatar
      add local variables to block analyze local variable initializers free · 452bde0b
      Jürg Billeter authored
      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
      452bde0b
    • Raffaele Sandrini's avatar
      add libxml-2.0 also to the Makefile · a2d5b8fb
      Raffaele Sandrini authored
      * add libxml-2.0 also to the Makefile
      
      svn path=/trunk/; revision=46
      a2d5b8fb
    • Raffaele Sandrini's avatar
      add basic libxml2 reader support · 141261f6
      Raffaele Sandrini authored
      2006-06-15  Raffaele Sandrini <rasa@gmx.ch>
      
              * vapi/libxml-2.0.vala: add basic libxml2 reader support
      
      
      svn path=/trunk/; revision=45
      141261f6
  15. 14 Jun, 2006 3 commits
    • Jürg Billeter's avatar
      set is_lvalue_ref in property declarations use non-null parameter types · f699908b
      Jürg Billeter authored
      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
      f699908b
    • Jürg Billeter's avatar
      set is_lvalue_ref for variables and fields variables and fields never · 8991394c
      Jürg Billeter authored
      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
      8991394c
    • Jürg Billeter's avatar
      use non-null parameter types, add visit method for full expressions add · d49a4eb2
      Jürg Billeter authored
      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
      d49a4eb2
  16. 07 Jun, 2006 3 commits
    • Jürg Billeter's avatar
      fix cname of constants, casts of self · f7a863fe
      Jürg Billeter authored
      2006-06-07  Jürg Billeter  <j@bitron.ch>
      
      	* vala/valacodegenerator.vala: fix cname of constants, casts of self
      
      svn path=/trunk/; revision=41
      f7a863fe
    • Jürg Billeter's avatar
      add missing source dependencies check parameter types at runtime · 94e7ffe2
      Jürg Billeter authored
      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
      94e7ffe2
    • Jürg Billeter's avatar
      support REAL_LITERAL, TILDE, SIGNAL support flags, signals, constructors, · 4478ebb1
      Jürg Billeter authored
      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
      4478ebb1
  17. 31 May, 2006 1 commit
    • Jürg Billeter's avatar
      support interfaces, adapt to Class/Struct/Type changes, improve error · bb3a6298
      Jürg Billeter authored
      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
      bb3a6298
  18. 26 May, 2006 1 commit
    • Jürg Billeter's avatar
      fix member access to namespaces adapt to CCodeWriter changes don't touch · 0ae4d550
      Jürg Billeter authored
      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
      0ae4d550
  19. 25 May, 2006 1 commit
    • Jürg Billeter's avatar
      support ELLIPSIS, use g_strdup instead of strdup support variable argument · 35bd6909
      Jürg Billeter authored
      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
      35bd6909
  20. 24 May, 2006 1 commit
    • Jürg Billeter's avatar
      Compiler is now self-hosting. · 29a1dec5
      Jürg Billeter authored
      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
      29a1dec5
  21. 23 May, 2006 1 commit
    • Jürg Billeter's avatar
      support initializer lists support constant arrays and initializer lists · d9d367f5
      Jürg Billeter authored
      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
      d9d367f5