Vala Reference Manual [Draft]
Vala Reference Manual [Draft]
This is a draft version of the Vala Reference Manual, and so is not guaranteed to be correct.
Overview
Getting started
Documentation conventions
Vala source files
Vala conventions
Vala syntax
GType and GObject
Memory management
Translation into C
Application entry point
Concepts
Variables, fields and parameters
Scope and naming
Object oriented programming
References and ownership
Types
Value types
Reference types
Parameterised types
Nullable types
Pointer types
Type conversions
Expressions
Literal expressions
Arithmetic operations
Bitwise operations
Relational operations
Logical operations
Assignment operations
Flag operations
Type operations
Conditional expressions
Invocation expressions
Class instantiation
Struct instantiation
Member access expressions
Array instantiation
Element access
Ownership transfer expressions
Pointer expressions
Statements
Simple statements
Variable declaration
Selection statements
Iteration statements
Jump statements
Try statement
Lock statement
Namespaces
The global namespace
Namespace declaration
Members
Fields
Constants
The "using" statement
Examples
Methods
Parameter directions
Method declaration
Invocation
Scope
Lambdas
Contract programming
Examples
Delegates
Types of delegate
Delegate declaration
Using delegates
Examples
Errors
Error throwing
Error catching
Examples
Classes
Types of class
Types of class members
Class scope
Class member visibility
Class declaration
Controlling instantiation
Construction
Class fields
Class constants
Class methods
Properties
Signals
Class enums
Class delegates
Examples
Interfaces
Interface declaration
Interface fields
Interface methods
Interface properties
Interface signals
Other interface members
Examples
Generics
Generics declaration
Instantiation
Examples
Structs
Struct declaration
Controlling instantiation
Struct fields
Struct constants
Struct methods
Examples
Enumerated types (Enums)
Enum declaration
Enum members
Methods
Flag types
Error domains
Examples
Attributes
Applying attributes
Libarary attributes
C code attributes
Informational attributes
Examples