summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Raffaele Sandrini [Thu, 15 Jun 2006 08:01:17 +0000 (08:01 +0000)]
add libxml-2.0 also to the Makefile
* add libxml-2.0 also to the Makefile
svn path=/trunk/; revision=46
Raffaele Sandrini [Thu, 15 Jun 2006 07:57:35 +0000 (07:57 +0000)]
add basic libxml2 reader support
2006-06-15 Raffaele Sandrini <rasa@gmx.ch>
* vapi/libxml-2.0.vala: add basic libxml2 reader support
svn path=/trunk/; revision=45
Jürg Billeter [Wed, 14 Jun 2006 20:55:58 +0000 (20:55 +0000)]
set is_lvalue_ref in property declarations use non-null parameter types
2006-06-14 Jürg Billeter <j@bitron.ch>
* vala/parser.y: set is_lvalue_ref in property declarations
* vala/valacodecontext.vala: use non-null parameter types
* vala/valasymbolresolver.vala: fix lookup in namespaces of using
directives, reset is_lvalue_ref where appropriate
* vala/valasemanticanalyzer.vala: use non-null parameter types,
correctly set is_ref and is_lvalue_ref in variable declarators
* vala/valamemorymanager.vala: support methods which transfer ownership
of arguments and or return value, analyze assignments
* vala/valacodegenerator.vala: add missing reference increment calls,
small memory management improvements
* vala/valaclass.vala: use non-null parameter types
* vala/valaexpression.vala: add ref_missing
* vala/valastruct.vala: support ref_function attribute, use non-null
parameter types
* vala/valatype.vala: let get_upper_case_cname return ref string
* vala/valatypereference.vala: add copy method
* ccode/valaccodeconditionalexpression.vala
* ccode/valaccodefunctioncall.vala: use non-null parameter types
* ccode/Makefile.am: update
* compiler/valacompiler.vala: process attributes before resolving
symbols to have reference_type information available in resolver
* vapi/glib-2.0.vala: add ref_function attributes to string and List,
use ref parameters in List and HashTable until the compiler can handle
it correctly
svn path=/trunk/; revision=44
Jürg Billeter [Wed, 14 Jun 2006 09:43:33 +0000 (09:43 +0000)]
set is_lvalue_ref for variables and fields variables and fields never
2006-06-14 Jürg Billeter <j@bitron.ch>
* vala/parser.y: set is_lvalue_ref for variables and fields
* vala/valasemanticanalyzer.vala: variables and fields never transfer
ownership as rvalue
* vala/valamemorymanager.vala: use non-null parameter types, analyze
return statements
* vala/valacodegenerator.vala: use non-null parameter types, support
memory management for temporary variables in variable initializers,
initialize all uninitialized references to null
* vala/valareturnstatement.vala: visit end of full expression
* vala/valatypereference.vala: add is_lvalue_ref property
* vala/valavariabledeclarator.vala: visit end of full expression
svn path=/trunk/; revision=43
Jürg Billeter [Wed, 14 Jun 2006 08:12:11 +0000 (08:12 +0000)]
use non-null parameter types, add visit method for full expressions add
2006-06-14 Jürg Billeter <j@bitron.ch>
* vala/valacodevisitor.vala: use non-null parameter types, add visit
method for full expressions
* vala/valasymbolresolver.vala: add some missing casts
* vala/valasemanticanalyzer.vala: support memory management for
temporary variables
* vala/valamemorymanager.vala: visitor to detect leaked references
* vala/valacodegenerator.vala: add automatic memory management for
temporary variables, add some missing casts
* vala/valaassignment.vala: move source_reference to Expression
* vala/valabinaryexpression.vala: move source_reference to Expression
* vala/valacastexpression.vala: move source_reference to Expression
* vala/valaconditionalexpression.vala: move source_reference to
Expression
* vala/valaclass.vala: implement memory management methods
* vala/valaexpression.vala: add source_reference, ref_leaked, and
temp_vars
* vala/valaforstatement.vala: visit end of full expression
* vala/valaifstatement.vala: visit end of full expression
* vala/valainitializerlist.vala: move source_reference to Expression
* vala/valainvocationexpression.vala: move source_reference to
Expression
* vala/valaliteralexpression.vala: move source_reference to Expression
* vala/valamemberaccess.vala: move source_reference to Expression
* vala/valaobjectcreationexpression.vala: move source_reference to
Expression
* vala/valaparenthesizedexpression.vala: move source_reference to
Expression
* vala/valapostfixexpression.vala: move source_reference to Expression
* vala/valasimplename.vala: move source_reference to Expression
* vala/valastruct.vala: implement memory management methods
* vala/valatype.vala: add abstract is_reference_counting,
get_ref_function, and get_free_function methods
* vala/valatypecheck.vala: move source_reference to Expression
* vala/valaunaryexpression.vala: move source_reference to Expression
* vala/valawhilestatement.vala: visit end of full expression
* vala/Makefile.am: update
* ccode/valaccodecommaexpression.vala
* ccode/Makefile.am: update
* compiler/valacompiler.vala: add enable-memory-management option
* vapi/glib-2.0.vala: minor GType enhancements
svn path=/trunk/; revision=42
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
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
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
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
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
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
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
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
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
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
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
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
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
Jürg Billeter [Thu, 18 May 2006 18:32:18 +0000 (18:32 +0000)]
update ChangeLog
* update ChangeLog
svn path=/trunk/; revision=28
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jürg Billeter [Fri, 21 Apr 2006 09:20:38 +0000 (09:20 +0000)]
Initial import.
* Initial import.
svn path=/trunk/; revision=1