vala 0.36.17
- From: Rico Tzschichholz <install-module master gnome org>
- To: FTP Releases <ftp-release-list gnome org>
- Subject: vala 0.36.17
- Date: Thu, 20 Dec 2018 16:29:34 +0000 (UTC)
About vala
==========
valac, the Vala compiler, is a self-hosting compiler that translates
Vala source code into C source and header files. It uses the GObject
type system to create classes and interfaces declared in the Vala
source code.
The syntax of Vala is similar to C#, modified to better fit the
GObject type system. Vala supports modern language features as the
following: Interfaces, Properties, Signals, Foreach, Lambda
expressions, Type inference for local variables, Generics, Non-null
types, Assisted memory management, Exception handling, Type modules
(Plugins)
Vala is designed to allow access to existing C libraries, especially
GObject-based libraries, without the need for runtime bindings. All
that is needed to use a library with Vala is an API file, containing
the class and method declarations in Vala syntax. Vala currently comes
with bindings for GLib and GTK+ and many others from the GNOME
Platform.
Using classes and methods written in Vala from an application written
in C is not difficult. The Vala library only has to install the
generated header files and C applications may then access the GObject-
based API of the Vala library as usual. It should also be easily
possible to write a bindings generator for access to Vala libraries
from applications written in e.g. C# as the Vala parser is written as
a library, so that all compile-time information is available when
generating a binding.
News
====
* Various improvements and bug fixes:
- codegen:
+ Initialize internal temp-variables used as reference parameter
+ Improve ccode for fixed-length array parameters (#163)
+ Fix regex literal compile flags
+ Add prototype for *_register_type() function
+ Don't emit *_free() of derived compact classes
+ Add prototype for *_new() of abstact compact classes
+ Fix method pointer cast if instance isn't at first position
+ Transfer ownership of compact class to DestroysInstance method [#645]
+ Make sure to include declarations for delegate typed parameters
+ Don't emit unused temp variable for element access assignments
+ Actually create method cast for base interface method as needed
+ Mark needle parameter of internal array-contains methods as const [#504]
+ Emit initializer for enum-value into wanted declaration space [#167]
+ Add void to delegate typedef declarations without parameters
+ Emit delegate/enum typedefs to type-declaration section [#318]
+ Always emit constants with initializer-list [#81]
+ Handle non-default AsyncResult parameter position [#709]
- ccode: Fix typo and actually check "end_decls" (#672)
- abstract syntax tree:
+ Always analyze nodes after they are inserted into the AST
+ Add source_reference to local variable of catch-clause
+ Add missing replace_expression() implementations
+ Fix several construction/parenting issues
+ DataType for GLib.Error should be should resolved as ErrorType
- vala:
+ Copy instance_pos argument from virtual/abstract base methods [#540483]
+ Use comment which was already retrieved in parse_declaration()
+ Type check for errors require an error expression [#362]
+ Make check_arguments() more verbose and don't bail on first error [#438]
+ Don't emit member access of assignments on static properties [#573]
+ Use clearer error message for automatic properties in interfaces [#656]
+ Break possible endless loop in SymbolResolver.get_type_for_struct() [#444]
- girwriter: Fix ctype of out/ref and array parameters
- girwriter: Write glib-type attributes for Enums/Structs with type_id
- girparser: Skip "source-position" elements and docs in transparent union
- docs: Use Markdown for README and include build instructions
- manual: Update from wiki.gnome.org
* Bindings:
- gdk-x11-3.0: Update to 3.24.2+eb821cb8
- gio-2.0: Result of DBusMessage.get_header() is unowned
- glib-2.0: Add missing Array.set_clear_func() binding
- glib-2.0: Avoid double-free in GLib.Array if clear_func is set
- glib-2.0: Add GLib.pointer aka gpointer binding
- glib-2.0: Computing length once is enough in string.to_utf8()/splice()
- glib-2.0: Add binding for g_test_add()
- glib-2.0: Add array length to string.skip (#695)
- gobject-2.0: Attribute all symbols with cheader_filename = "glib-object.h"
- gobject-2.0,gtk+-*.0: Fix some GLib.Value out/ref parameters
- gobject-introspection-1.0: Pick up version attribute fixes
ChangeLog
=========
https://download.gnome.org/sources/vala/0.36/vala-0.36.17.changes (9.30K)
Download
========
https://download.gnome.org/sources/vala/0.36/vala-0.36.17.tar.xz (2.76M)
sha256sum: 67df340197bd7f6220f60d7231690f1a9369cc72c4b791f9825f9af60179d8b8
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]