Contents
Vala Reference Manual
Next
Vala Reference Manual
1. Overview
1.1 Getting started
1.2 Documentation conventions
1.3 Vala source files
1.4 Vala conventions
1.5 Vala syntax
1.6 GType and GObject
1.7 Memory management
1.8 Vala compilation
1.9 Application entry point
2. Concepts
2.1 Variables, fields and parameters
2.2 Scope and naming
2.3 Object oriented programming
2.4 References and ownership
3. Types
3.1 Value types
3.2 Reference types
3.3 Parameterised types
3.4 Nullable types
3.5 Pointer types
3.6 Type conversions
4. Expressions
4.1 Literal expressions
4.2 Member access
4.3 Element access
4.4 Arithmetic operations
4.5 Relational operations
4.6 Increment/decrement operations
4.7 Logical operations
4.8 Bitwise operations
4.9 Assignment operations
4.10 Invocation expressions
4.11 Class instantiation
4.12 Struct instantiation
4.13 Array instantiation
4.14 Conditional expressions
4.15 Coalescing expressions
4.16 Flag operations
4.17 Type operations
4.18 Ownership transfer expressions
4.19 Lambda expressions
4.20 Pointer expressions
5. Statements
5.1 Simple statements
5.2 Variable declaration
5.3 Selection statements
5.4 Iteration statements
5.5 Jump Statements
5.6 Try Statement
5.7 Lock Statement
6. Namespaces
6.1 The global namespace
6.2 Namespace declaration
6.3 Members
6.4 Fields
6.5 Constants
6.6 The "using" statement
7. Methods
7.1 Parameter directions
7.2 Method declaration
7.3 Invocation
7.4 Scope
7.5 Lambdas
7.6 Contract programming
8. Delegates
8.1 Types of delegate
8.2 Delegate declaration
8.3 Using delegates
8.4 Examples
9. Errors
9.1 Error throwing
9.2 Error catching
9.3 Examples
10. Classes
10.1 Types of class
10.2 Types of class members
10.3 Class scope
10.4 Class member visibility
10.5 Class declaration
10.6 Controlling instantiation
10.7 Construction
10.8 Class fields
10.9 Class constants
10.10 Class methods
10.11 Properties
10.12 Signals
10.13 Class enums
10.14 Class delegates
10.15 Examples
11. Interfaces
11.1 Interface declaration
11.2 Interface fields
11.3 Interface methods
11.4 Interface properties
11.5 Interface signals
11.6 Other interface members
11.7 Examples
12. Generics
12.1 Generics declaration
12.2 Instantiation
12.3 Examples
13. Structs
13.1 Struct declaration
13.2 Controlling instantiation
13.3 Struct fields
13.4 Struct constants
13.5 Struct methods
13.6 Examples
14. Enumerated types (Enums)
14.1 Enum declaration
14.2 Enum members
14.3 Methods
14.4 Flag types
14.5 Error domains
14.6 Examples
15. Attributes
15.1 Applying attributes
15.2 CCode Attribute
15.3 Version attribute
15.4 SimpleType attribute
15.5 BooleanType Attribute
15.6 IntegerType Attribute
15.7 FloatingType Attribute
15.8 Signal Attribute
15.9 Description Attribute
15.10 DBus Attribute
15.11 Gtk attributes
15.12 Other attributes
15.13 Deprecated Attributes
15.14 Examples
16. Preprocessor
16.1 Directives syntax
16.2 Defining symbols
16.3 Built-in defines
16.4 Examples
17. GIDL metadata format
17.1 Comments
17.2 Other Lines
17.3 Specifiers
17.4 Specifying Different Things
17.5 Properties Reference
17.6 Examples
18. GIR metadata format
18.1 Locating metadata
18.2 Comments
18.3 Syntax
18.4 Valid arguments
18.5 Examples