summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gee/arraylist.vala4
-rw-r--r--gee/hashmap.vala6
-rw-r--r--gee/hashset.vala2
-rw-r--r--gee/iterator.vala4
-rw-r--r--gee/list.vala2
-rw-r--r--gee/map.vala2
-rw-r--r--gee/readonlycollection.vala2
-rw-r--r--gee/readonlylist.vala4
-rw-r--r--gee/readonlymap.vala2
-rw-r--r--gee/readonlyset.vala2
-rw-r--r--gen-project/valaprojectgenerator.vala2
-rw-r--r--gobject/valaccodegenerator.vala150
-rw-r--r--gobject/valaccodegeneratormethod.vala6
-rw-r--r--gobject/valaccodegeneratorsignal.vala2
-rw-r--r--gobject/valadbusbindingprovider.vala2
-rw-r--r--vala/valaarraytype.vala2
-rw-r--r--vala/valaattribute.vala2
-rw-r--r--vala/valabindingprovider.vala4
-rw-r--r--vala/valaclass.vala10
-rw-r--r--vala/valacodecontext.vala2
-rw-r--r--vala/valacodegenerator.vala142
-rw-r--r--vala/valacodenode.vala2
-rw-r--r--vala/valadatatype.vala8
-rw-r--r--vala/valadelegate.vala8
-rw-r--r--vala/valadelegatetype.vala6
-rw-r--r--vala/valaenum.vala18
-rw-r--r--vala/valaerrordomain.vala10
-rw-r--r--vala/valaerrortype.vala2
-rw-r--r--vala/valaexpressionstatement.vala2
-rw-r--r--vala/valainterface.vala10
-rw-r--r--vala/valamethodtype.vala4
-rw-r--r--vala/valaparser.vala14
-rw-r--r--vala/valapointertype.vala4
-rw-r--r--vala/valascanner.vala2
-rw-r--r--vala/valascope.vala2
-rw-r--r--vala/valasemanticanalyzer.vala19
-rw-r--r--vala/valasignaltype.vala4
-rw-r--r--vala/valasourcefile.vala2
-rw-r--r--vala/valastringliteral.vala2
-rw-r--r--vala/valastruct.vala22
-rw-r--r--vala/valasymbol.vala2
-rw-r--r--vala/valatypesymbol.vala12
-rw-r--r--vala/valaunresolvedtype.vala2
-rw-r--r--vala/valavaluetype.vala2
-rw-r--r--vala/valavoidtype.vala2
-rw-r--r--vapigen/valagidlparser.vala22
-rw-r--r--vapigen/valavapigen.vala2
48 files changed, 279 insertions, 267 deletions
diff --git a/ChangeLog b/ChangeLog
index a1231d07d..28dc4a0e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-04-14 Jürg Billeter <j@bitron.ch>
+
+ * vala/valasemanticanalyzer.vala: report warning when using null
+ literal as return expression of method returning non-null value
+
+ * */*.vala: fix warnings
+
2008-04-14 Marc-Andre Lureau <marcandre.lureau@gmail.com>
* vapi/dbus-glib-1.vapi, vapi/enchant.vapi, vapi/libxml-2.0.vapi,
diff --git a/gee/arraylist.vala b/gee/arraylist.vala
index c0a42e605..97ce9292d 100644
--- a/gee/arraylist.vala
+++ b/gee/arraylist.vala
@@ -68,7 +68,7 @@ public class Gee.ArrayList<G> : Object, Iterable<G>, Collection<G>, List<G> {
return -1;
}
- public G get (int index) {
+ public G? get (int index) {
assert (index >= 0 && index < _size);
return _items[index];
@@ -178,7 +178,7 @@ public class Gee.ArrayList<G> : Object, Iterable<G>, Collection<G>, List<G> {
return (_index < _list._size);
}
- public G get () {
+ public G? get () {
assert (_stamp == _list._stamp);
if (_index < 0 || _index >= _list._size) {
diff --git a/gee/hashmap.vala b/gee/hashmap.vala
index c4847ea02..9269c75bb 100644
--- a/gee/hashmap.vala
+++ b/gee/hashmap.vala
@@ -91,7 +91,7 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
return (*node != null);
}
- public V get (K key) {
+ public V? get (K key) {
Node<K,V>* node = (*lookup_node (key));
if (node != null) {
return node->value;
@@ -251,7 +251,7 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
return (_node != null);
}
- public K get () {
+ public K? get () {
assert (_stamp == _map._stamp);
assert (_node != null);
return _node.key;
@@ -334,7 +334,7 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
return (_node != null);
}
- public V get () {
+ public V? get () {
assert (_stamp == _map._stamp);
assert (_node != null);
return _node.value;
diff --git a/gee/hashset.vala b/gee/hashset.vala
index aed8cadc0..96e85f47d 100644
--- a/gee/hashset.vala
+++ b/gee/hashset.vala
@@ -193,7 +193,7 @@ public class Gee.HashSet<G> : Object, Iterable<G>, Collection<G>, Set<G> {
return (_node != null);
}
- public G get () {
+ public G? get () {
assert (_stamp == _set._stamp);
assert (_node != null);
return _node.key;
diff --git a/gee/iterator.vala b/gee/iterator.vala
index d6fa94786..6642a9072 100644
--- a/gee/iterator.vala
+++ b/gee/iterator.vala
@@ -1,6 +1,6 @@
/* iterator.vala
*
- * Copyright (C) 2007 Jürg Billeter
+ * Copyright (C) 2007-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -37,6 +37,6 @@ public interface Gee.Iterator<G> : GLib.Object {
*
* @return the current element in the iteration
*/
- public abstract G get ();
+ public abstract G? get ();
}
diff --git a/gee/list.vala b/gee/list.vala
index 52e864a73..d034a9107 100644
--- a/gee/list.vala
+++ b/gee/list.vala
@@ -31,7 +31,7 @@ public interface Gee.List<G> : Collection<G> {
*
* @return the item at the specified index in the list
*/
- public abstract G get (int index);
+ public abstract G? get (int index);
/**
* Sets the item at the specified index in this list.
diff --git a/gee/map.vala b/gee/map.vala
index 9c98c8cd5..78858ce40 100644
--- a/gee/map.vala
+++ b/gee/map.vala
@@ -60,7 +60,7 @@ public interface Gee.Map<K,V> : GLib.Object {
* @return the value associated with the key, or null if the key
* couldn't be found
*/
- public abstract V get (K key);
+ public abstract V? get (K key);
/**
* Inserts a new key and value into this map.
diff --git a/gee/readonlycollection.vala b/gee/readonlycollection.vala
index e0ec5637a..3a4ac77dd 100644
--- a/gee/readonlycollection.vala
+++ b/gee/readonlycollection.vala
@@ -77,7 +77,7 @@ public class Gee.ReadOnlyCollection<G> : Object, Iterable<G>, Collection<G> {
return false;
}
- public G get () {
+ public G? get () {
return null;
}
}
diff --git a/gee/readonlylist.vala b/gee/readonlylist.vala
index 27205213e..1ea988d8e 100644
--- a/gee/readonlylist.vala
+++ b/gee/readonlylist.vala
@@ -84,7 +84,7 @@ public class Gee.ReadOnlyList<G> : Object, Iterable<G>, Collection<G>, List<G> {
assert_not_reached ();
}
- public G get (int index) {
+ public G? get (int index) {
if (_list == null) {
return null;
}
@@ -105,7 +105,7 @@ public class Gee.ReadOnlyList<G> : Object, Iterable<G>, Collection<G>, List<G> {
return false;
}
- public G get () {
+ public G? get () {
return null;
}
}
diff --git a/gee/readonlymap.vala b/gee/readonlymap.vala
index b891189e9..e62952703 100644
--- a/gee/readonlymap.vala
+++ b/gee/readonlymap.vala
@@ -64,7 +64,7 @@ public class Gee.ReadOnlyMap<K,V> : Object, Map<K,V> {
return _map.contains (key);
}
- public V get (K key) {
+ public V? get (K key) {
if (_map == null) {
return null;
}
diff --git a/gee/readonlyset.vala b/gee/readonlyset.vala
index 0439c8c24..15bcd52de 100644
--- a/gee/readonlyset.vala
+++ b/gee/readonlyset.vala
@@ -77,7 +77,7 @@ public class Gee.ReadOnlySet<G> : Object, Iterable<G>, Collection<G>, Set<G> {
return false;
}
- public G get () {
+ public G? get () {
return null;
}
}
diff --git a/gen-project/valaprojectgenerator.vala b/gen-project/valaprojectgenerator.vala
index c1008edb9..b770990e5 100644
--- a/gen-project/valaprojectgenerator.vala
+++ b/gen-project/valaprojectgenerator.vala
@@ -594,7 +594,7 @@ class Vala.ProjectGenerator : Dialog {
FileUtils.set_contents (project_path + "/MAINTAINERS", s, -1);
}
- private string get_automake_path () {
+ private string? get_automake_path () {
var automake_paths = new string[] { "/usr/share/automake",
"/usr/share/automake-1.10",
"/usr/share/automake-1.9" };
diff --git a/gobject/valaccodegenerator.vala b/gobject/valaccodegenerator.vala
index ff0cc00e1..b52f9e087 100644
--- a/gobject/valaccodegenerator.vala
+++ b/gobject/valaccodegenerator.vala
@@ -1198,7 +1198,7 @@ public class Vala.CCodeGenerator : CodeGenerator {
}
}
- private CCodeExpression get_dup_func_expression (DataType type, SourceReference? source_reference) {
+ private CCodeExpression? get_dup_func_expression (DataType type, SourceReference? source_reference) {
if (type.data_type != null) {
string dup_function;
if (type.data_type.is_reference_counting ()) {
@@ -1226,7 +1226,7 @@ public class Vala.CCodeGenerator : CodeGenerator {
}
}
- private CCodeExpression get_destroy_func_expression (DataType type) {
+ private CCodeExpression? get_destroy_func_expression (DataType type) {
if (type.data_type != null) {
string unref_function;
if (type.data_type.is_reference_counting ()) {
@@ -2665,7 +2665,7 @@ public class Vala.CCodeGenerator : CodeGenerator {
visit_expression (expr);
}
- private MemberAccess find_property_access (Expression expr) {
+ private MemberAccess? find_property_access (Expression expr) {
if (expr is ParenthesizedExpression) {
var pe = (ParenthesizedExpression) expr;
return find_property_access (pe.inner);
@@ -2683,7 +2683,7 @@ public class Vala.CCodeGenerator : CodeGenerator {
return null;
}
- private CCodeExpression get_ref_expression (Expression expr) {
+ private CCodeExpression? get_ref_expression (Expression expr) {
/* (temp = expr, temp == NULL ? NULL : ref (temp))
*
* can be simplified to
@@ -3548,287 +3548,287 @@ public class Vala.CCodeGenerator : CodeGenerator {
return type;
}
- public override CodeBinding create_namespace_binding (Namespace node) {
+ public override CodeBinding? create_namespace_binding (Namespace node) {
return null;
}
- public override CodeBinding create_class_binding (Class node) {
+ public override CodeBinding? create_class_binding (Class node) {
return null;
}
- public override CodeBinding create_struct_binding (Struct node) {
+ public override CodeBinding? create_struct_binding (Struct node) {
return null;
}
- public override CodeBinding create_interface_binding (Interface node) {
+ public override CodeBinding? create_interface_binding (Interface node) {
return null;
}
- public override CodeBinding create_enum_binding (Enum node) {
+ public override CodeBinding? create_enum_binding (Enum node) {
return null;
}
- public override CodeBinding create_enum_value_binding (EnumValue node) {
+ public override CodeBinding? create_enum_value_binding (EnumValue node) {
return null;
}
- public override CodeBinding create_error_domain_binding (ErrorDomain node) {
+ public override CodeBinding? create_error_domain_binding (ErrorDomain node) {
return null;
}
- public override CodeBinding create_error_code_binding (ErrorCode node) {
+ public override CodeBinding? create_error_code_binding (ErrorCode node) {
return null;
}
- public override CodeBinding create_delegate_binding (Delegate node) {
+ public override CodeBinding? create_delegate_binding (Delegate node) {
return null;
}
- public override CodeBinding create_constant_binding (Constant node) {
+ public override CodeBinding? create_constant_binding (Constant node) {
return null;
}
- public override CodeBinding create_field_binding (Field node) {
+ public override CodeBinding? create_field_binding (Field node) {
return null;
}
- public override CodeBinding create_method_binding (Method node) {
+ public override CodeBinding? create_method_binding (Method node) {
return new CCodeMethodBinding (this, node);
}
- public override CodeBinding create_creation_method_binding (CreationMethod node) {
+ public override CodeBinding? create_creation_method_binding (CreationMethod node) {
return null;
}
- public override CodeBinding create_formal_parameter_binding (FormalParameter node) {
+ public override CodeBinding? create_formal_parameter_binding (FormalParameter node) {
return null;
}
- public override CodeBinding create_property_binding (Property node) {
+ public override CodeBinding? create_property_binding (Property node) {
return null;
}
- public override CodeBinding create_property_accessor_binding (PropertyAccessor node) {
+ public override CodeBinding? create_property_accessor_binding (PropertyAccessor node) {
return null;
}
- public override CodeBinding create_signal_binding (Signal node) {
+ public override CodeBinding? create_signal_binding (Signal node) {
return null;
}
- public override CodeBinding create_constructor_binding (Constructor node) {
+ public override CodeBinding? create_constructor_binding (Constructor node) {
return null;
}
- public override CodeBinding create_destructor_binding (Destructor node) {
+ public override CodeBinding? create_destructor_binding (Destructor node) {
return null;
}
- public override CodeBinding create_type_parameter_binding (TypeParameter node) {
+ public override CodeBinding? create_type_parameter_binding (TypeParameter node) {
return null;
}
- public override CodeBinding create_block_binding (Block node) {
+ public override CodeBinding? create_block_binding (Block node) {
return null;
}
- public override CodeBinding create_empty_statement_binding (EmptyStatement node) {
+ public override CodeBinding? create_empty_statement_binding (EmptyStatement node) {
return null;
}
- public override CodeBinding create_declaration_statement_binding (DeclarationStatement node) {
+ public override CodeBinding? create_declaration_statement_binding (DeclarationStatement node) {
return null;
}
- public override CodeBinding create_local_variable_declaration_binding (LocalVariableDeclaration node) {
+ public override CodeBinding? create_local_variable_declaration_binding (LocalVariableDeclaration node) {
return null;
}
- public override CodeBinding create_variable_declarator_binding (VariableDeclarator node) {
+ public override CodeBinding? create_variable_declarator_binding (VariableDeclarator node) {
return null;
}
- public override CodeBinding create_initializer_list_binding (InitializerList node) {
+ public override CodeBinding? create_initializer_list_binding (InitializerList node) {
return null;
}
- public override CodeBinding create_expression_statement_binding (ExpressionStatement node) {
+ public override CodeBinding? create_expression_statement_binding (ExpressionStatement node) {
return null;
}
- public override CodeBinding create_if_statement_binding (IfStatement node) {
+ public override CodeBinding? create_if_statement_binding (IfStatement node) {
return null;
}
- public override CodeBinding create_switch_statement_binding (SwitchStatement node) {
+ public override CodeBinding? create_switch_statement_binding (SwitchStatement node) {
return null;
}
- public override CodeBinding create_switch_section_binding (SwitchSection node) {
+ public override CodeBinding? create_switch_section_binding (SwitchSection node) {
return null;
}
- public override CodeBinding create_switch_label_binding (SwitchLabel node) {
+ public override CodeBinding? create_switch_label_binding (SwitchLabel node) {
return null;
}
- public override CodeBinding create_while_statement_binding (WhileStatement node) {
+ public override CodeBinding? create_while_statement_binding (WhileStatement node) {
return null;
}
- public override CodeBinding create_do_statement_binding (DoStatement node) {
+ public override CodeBinding? create_do_statement_binding (DoStatement node) {
return null;
}
- public override CodeBinding create_for_statement_binding (ForStatement node) {
+ public override CodeBinding? create_for_statement_binding (ForStatement node) {
return null;
}
- public override CodeBinding create_foreach_statement_binding (ForeachStatement node) {
+ public override CodeBinding? create_foreach_statement_binding (ForeachStatement node) {
return null;
}
- public override CodeBinding create_break_statement_binding (BreakStatement node) {
+ public override CodeBinding? create_break_statement_binding (BreakStatement node) {
return null;
}
- public override CodeBinding create_continue_statement_binding (ContinueStatement node) {
+ public override CodeBinding? create_continue_statement_binding (ContinueStatement node) {
return null;
}
- public override CodeBinding create_return_statement_binding (ReturnStatement node) {
+ public override CodeBinding? create_return_statement_binding (ReturnStatement node) {
return null;
}
- public override CodeBinding create_throw_statement_binding (ThrowStatement node) {
+ public override CodeBinding? create_throw_statement_binding (ThrowStatement node) {
return null;
}
- public override CodeBinding create_try_statement_binding (TryStatement node) {
+ public override CodeBinding? create_try_statement_binding (TryStatement node) {
return null;
}
- public override CodeBinding create_catch_clause_binding (CatchClause node) {
+ public override CodeBinding? create_catch_clause_binding (CatchClause node) {
return null;
}
- public override CodeBinding create_lock_statement_binding (LockStatement node) {
+ public override CodeBinding? create_lock_statement_binding (LockStatement node) {
return null;
}
- public override CodeBinding create_delete_statement_binding (DeleteStatement node) {
+ public override CodeBinding? create_delete_statement_binding (DeleteStatement node) {
return null;
}
- public override CodeBinding create_array_creation_expression_binding (ArrayCreationExpression node) {
+ public override CodeBinding? create_array_creation_expression_binding (ArrayCreationExpression node) {
return new CCodeArrayCreationExpressionBinding (this, node);
}
- public override CodeBinding create_boolean_literal_binding (BooleanLiteral node) {
+ public override CodeBinding? create_boolean_literal_binding (BooleanLiteral node) {
return null;
}
- public override CodeBinding create_character_literal_binding (CharacterLiteral node) {
+ public override CodeBinding? create_character_literal_binding (CharacterLiteral node) {
return null;
}
- public override CodeBinding create_integer_literal_binding (IntegerLiteral node) {
+ public override CodeBinding? create_integer_literal_binding (IntegerLiteral node) {
return null;
}
- public override CodeBinding create_real_literal_binding (RealLiteral node) {
+ public override CodeBinding? create_real_literal_binding (RealLiteral node) {
return null;
}
- public override CodeBinding create_string_literal_binding (StringLiteral node) {
+ public override CodeBinding? create_string_literal_binding (StringLiteral node) {
return null;
}
- public override CodeBinding create_null_literal_binding (NullLiteral node) {
+ public override CodeBinding? create_null_literal_binding (NullLiteral node) {
return null;
}
- public override CodeBinding create_parenthesized_expression_binding (ParenthesizedExpression node) {
+ public override CodeBinding? create_parenthesized_expression_binding (ParenthesizedExpression node) {
return null;
}
- public override CodeBinding create_member_access_binding (MemberAccess node) {
+ public override CodeBinding? create_member_access_binding (MemberAccess node) {
return null;
}
- public override CodeBinding create_member_access_simple_binding (MemberAccess node) {
+ public override CodeBinding? create_member_access_simple_binding (MemberAccess node) {
return null;
}
- public override CodeBinding create_invocation_expression_binding (InvocationExpression node) {
+ public override CodeBinding? create_invocation_expression_binding (InvocationExpression node) {
return null;
}
- public override CodeBinding create_element_access_binding (ElementAccess node) {
+ public override CodeBinding? create_element_access_binding (ElementAccess node) {
return new CCodeElementAccessBinding (this, node);
}
- public override CodeBinding create_base_access_binding (BaseAccess node) {
+ public override CodeBinding? create_base_access_binding (BaseAccess node) {
return null;
}
- public override CodeBinding create_postfix_expression_binding (PostfixExpression node) {
+ public override CodeBinding? create_postfix_expression_binding (PostfixExpression node) {
return null;
}
- public override CodeBinding create_object_creation_expression_binding (ObjectCreationExpression node) {
+ public override CodeBinding? create_object_creation_expression_binding (ObjectCreationExpression node) {
return null;
}
- public override CodeBinding create_sizeof_expression_binding (SizeofExpression node) {
+ public override CodeBinding? create_sizeof_expression_binding (SizeofExpression node) {
return null;
}
- public override CodeBinding create_typeof_expression_binding (TypeofExpression node) {
+ public override CodeBinding? create_typeof_expression_binding (TypeofExpression node) {
return null;
}
- public override CodeBinding create_unary_expression_binding (UnaryExpression node) {
+ public override CodeBinding? create_unary_expression_binding (UnaryExpression node) {
return null;
}
- public override CodeBinding create_cast_expression_binding (CastExpression node) {
+ public override CodeBinding? create_cast_expression_binding (CastExpression node) {
return null;
}
- public override CodeBinding create_pointer_indirection_binding (PointerIndirection node) {
+ public override CodeBinding? create_pointer_indirection_binding (PointerIndirection node) {
return null;
}
- public override CodeBinding create_addressof_expression_binding (AddressofExpression node) {
+ public override CodeBinding? create_addressof_expression_binding (AddressofExpression node) {
return null;
}
- public override CodeBinding create_reference_transfer_expression_binding (ReferenceTransferExpression node) {
+ public override CodeBinding? create_reference_transfer_expression_binding (ReferenceTransferExpression node) {
return null;
}
- public override CodeBinding create_binary_expression_binding (BinaryExpression node) {
+ public override CodeBinding? create_binary_expression_binding (BinaryExpression node) {
return null;
}
- public override CodeBinding create_type_check_binding (TypeCheck node) {
+ public override CodeBinding? create_type_check_binding (TypeCheck node) {
return null;
}
- public override CodeBinding create_conditional_expression_binding (ConditionalExpression node) {
+ public override CodeBinding? create_conditional_expression_binding (ConditionalExpression node) {
return null;
}
- public override CodeBinding create_lambda_expression_binding (LambdaExpression node) {
+ public override CodeBinding? create_lambda_expression_binding (LambdaExpression node) {
return null;
}
- public override CodeBinding create_lambda_expression_with_statement_body_binding (LambdaExpression node) {
+ public override CodeBinding? create_lambda_expression_with_statement_body_binding (LambdaExpression node) {
return null;
}
- public override CodeBinding create_assignment_binding (Assignment node) {
+ public override CodeBinding? create_assignment_binding (Assignment node) {
return new CCodeAssignmentBinding (this, node);
}
}
diff --git a/gobject/valaccodegeneratormethod.vala b/gobject/valaccodegeneratormethod.vala
index 8a1f82581..25212641e 100644
--- a/gobject/valaccodegeneratormethod.vala
+++ b/gobject/valaccodegeneratormethod.vala
@@ -649,7 +649,7 @@ public class Vala.CCodeGenerator {
}
}
- private CCodeStatement create_type_check_statement (CodeNode method_node, DataType ret_type, Typesymbol t, bool non_null, string var_name) {
+ private CCodeStatement? create_type_check_statement (CodeNode method_node, DataType ret_type, Typesymbol t, bool non_null, string var_name) {
var ccheck = new CCodeFunctionCall ();
if ((t is Class && ((Class) t).is_subtype_of (gobject_type)) || (t is Interface && !((Interface) t).declaration_only)) {
@@ -717,7 +717,7 @@ public class Vala.CCodeGenerator {
return new CCodeExpressionStatement (cassert);
}
- private CCodeExpression default_value_for_type (DataType type, bool initializer_expression) {
+ private CCodeExpression? default_value_for_type (DataType type, bool initializer_expression) {
if ((type.data_type != null && type.data_type.is_reference_type ()) || type is PointerType || type is ArrayType) {
return new CCodeConstant ("NULL");
} else if (type.data_type != null && type.data_type.get_default_value () != null) {
@@ -736,7 +736,7 @@ public class Vala.CCodeGenerator {
return null;
}
- private Typesymbol find_parent_type (Symbol sym) {
+ private Typesymbol? find_parent_type (Symbol sym) {
while (sym != null) {
if (sym is Typesymbol) {
return (Typesymbol) sym;
diff --git a/gobject/valaccodegeneratorsignal.vala b/gobject/valaccodegeneratorsignal.vala
index e6744006e..162774245 100644
--- a/gobject/valaccodegeneratorsignal.vala
+++ b/gobject/valaccodegeneratorsignal.vala
@@ -62,7 +62,7 @@ public class Vala.CCodeGenerator {
return ret;
}
- private string get_value_type_name_from_type_reference (DataType t) {
+ private string? get_value_type_name_from_type_reference (DataType t) {
if (t is PointerType || t.type_parameter != null || t.is_ref || t.is_out) {
return "gpointer";
} else if (t is VoidType) {
diff --git a/gobject/valadbusbindingprovider.vala b/gobject/valadbusbindingprovider.vala
index 95bec0e94..f4f235ee1 100644
--- a/gobject/valadbusbindingprovider.vala
+++ b/gobject/valadbusbindingprovider.vala
@@ -51,7 +51,7 @@ public class Vala.DBusBindingProvider : Object, BindingProvider {
public DBusBindingProvider () {
}
- public Symbol get_binding (MemberAccess ma) {
+ public Symbol? get_binding (MemberAccess ma) {
if (connection_type != null && ma.inner != null && ma.inner.static_type != null && ma.inner.static_type.data_type == connection_type) {
var type_args = ma.get_type_arguments ();
if (type_args.size != 1) {
diff --git a/vala/valaarraytype.vala b/vala/valaarraytype.vala
index 12ba61b94..71e74d249 100644
--- a/vala/valaarraytype.vala
+++ b/vala/valaarraytype.vala
@@ -131,7 +131,7 @@ public class Vala.ArrayType : ReferenceType {
return result;
}
- public override string get_cname (bool var_type, bool const_type) {
+ public override string? get_cname (bool var_type, bool const_type) {
return element_type.get_cname () + "*";
}
diff --git a/vala/valaattribute.vala b/vala/valaattribute.vala
index 993bcecbe..cb0fd7384 100644
--- a/vala/valaattribute.vala
+++ b/vala/valaattribute.vala
@@ -81,7 +81,7 @@ public class Vala.Attribute : CodeNode {
* @param name argument name
* @return string value
*/
- public string get_string (string name) {
+ public string? get_string (string name) {
// FIXME: use hash table
foreach (NamedArgument arg in args) {
if (arg.name == name) {
diff --git a/vala/valabindingprovider.vala b/vala/valabindingprovider.vala
index 2babe3af6..ea12a9f19 100644
--- a/vala/valabindingprovider.vala
+++ b/vala/valabindingprovider.vala
@@ -1,6 +1,6 @@
/* valabindingprovider.vala
*
- * Copyright (C) 2007 Jürg Billeter
+ * Copyright (C) 2007-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -32,6 +32,6 @@ public interface Vala.BindingProvider : Object {
* @param ma member access expression
* @return resolved symbol or null if no binding can be provided
*/
- public abstract Symbol get_binding (MemberAccess ma);
+ public abstract Symbol? get_binding (MemberAccess ma);
}
diff --git a/vala/valaclass.vala b/vala/valaclass.vala
index 16b36a150..6d4b68bb5 100644
--- a/vala/valaclass.vala
+++ b/vala/valaclass.vala
@@ -470,7 +470,7 @@ public class Vala.Class : Typesymbol {
return lower_case_cprefix;
}
- public override string get_upper_case_cname (string? infix) {
+ public override string? get_upper_case_cname (string? infix) {
return get_lower_case_cname (infix).up ();
}
@@ -544,7 +544,7 @@ public class Vala.Class : Typesymbol {
return has_type_id || (base_class != null && base_class.get_has_type_id ());
}
- public override string get_type_id () {
+ public override string? get_type_id () {
if (type_id == null) {
if (get_has_type_id ()) {
type_id = get_upper_case_cname ("TYPE_");
@@ -560,7 +560,7 @@ public class Vala.Class : Typesymbol {
this.type_id = type_id;
}
- public override string get_marshaller_type_name () {
+ public override string? get_marshaller_type_name () {
if (marshaller_type_name == null) {
if (base_class != null) {
marshaller_type_name = base_class.get_marshaller_type_name ();
@@ -572,7 +572,7 @@ public class Vala.Class : Typesymbol {
return marshaller_type_name;
}
- public override string get_get_value_function () {
+ public override string? get_get_value_function () {
if (get_value_function == null) {
if (base_class != null) {
get_value_function = base_class.get_get_value_function ();
@@ -584,7 +584,7 @@ public class Vala.Class : Typesymbol {
return get_value_function;
}
- public override string get_set_value_function () {
+ public override string? get_set_value_function () {
if (set_value_function == null) {
if (base_class != null) {
set_value_function = base_class.get_set_value_function ();
diff --git a/vala/valacodecontext.vala b/vala/valacodecontext.vala
index f554638a7..3f544ba94 100644
--- a/vala/valacodecontext.vala
+++ b/vala/valacodecontext.vala
@@ -381,7 +381,7 @@ public class Vala.CodeContext : Object {
}
}
- public string get_package_path (string pkg, [CCode (array_length_pos = 1.9)] string[] vapi_directories) {
+ public string? get_package_path (string pkg, [CCode (array_length_pos = 1.9)] string[] vapi_directories) {
string basename = "%s.vapi".printf (pkg);
string filename = null;
diff --git a/vala/valacodegenerator.vala b/vala/valacodegenerator.vala
index d34eaa555..dbe9a6bff 100644
--- a/vala/valacodegenerator.vala
+++ b/vala/valacodegenerator.vala
@@ -34,287 +34,287 @@ public class Vala.CodeGenerator : CodeVisitor {
public virtual void emit (CodeContext context) {
}
- public virtual CodeBinding create_namespace_binding (Namespace node) {
+ public virtual CodeBinding? create_namespace_binding (Namespace node) {
return null;
}
- public virtual CodeBinding create_class_binding (Class node) {
+ public virtual CodeBinding? create_class_binding (Class node) {
return null;
}
- public virtual CodeBinding create_struct_binding (Struct node) {
+ public virtual CodeBinding? create_struct_binding (Struct node) {
return null;
}
- public virtual CodeBinding create_interface_binding (Interface node) {
+ public virtual CodeBinding? create_interface_binding (Interface node) {
return null;
}
- public virtual CodeBinding create_enum_binding (Enum node) {
+ public virtual CodeBinding? create_enum_binding (Enum node) {
return null;
}
- public virtual CodeBinding create_enum_value_binding (EnumValue node) {
+ public virtual CodeBinding? create_enum_value_binding (EnumValue node) {
return null;
}
- public virtual CodeBinding create_error_domain_binding (ErrorDomain node) {
+ public virtual CodeBinding? create_error_domain_binding (ErrorDomain node) {
return null;
}
- public virtual CodeBinding create_error_code_binding (ErrorCode node) {
+ public virtual CodeBinding? create_error_code_binding (ErrorCode node) {
return null;
}
- public virtual CodeBinding create_delegate_binding (Delegate node) {
+ public virtual CodeBinding? create_delegate_binding (Delegate node) {
return null;
}
- public virtual CodeBinding create_constant_binding (Constant node) {
+ public virtual CodeBinding? create_constant_binding (Constant node) {
return null;
}
- public virtual CodeBinding create_field_binding (Field node) {
+ public virtual CodeBinding? create_field_binding (Field node) {
return null;
}
- public virtual CodeBinding create_method_binding (Method node) {
+ public virtual CodeBinding? create_method_binding (Method node) {
return null;
}
- public virtual CodeBinding create_creation_method_binding (CreationMethod node) {
+ public virtual CodeBinding? create_creation_method_binding (CreationMethod node) {
return null;
}
- public virtual CodeBinding create_formal_parameter_binding (FormalParameter node) {
+ public virtual CodeBinding? create_formal_parameter_binding (FormalParameter node) {
return null;
}
- public virtual CodeBinding create_property_binding (Property node) {
+ public virtual CodeBinding? create_property_binding (Property node) {
return null;
}
- public virtual CodeBinding create_property_accessor_binding (PropertyAccessor node) {
+ public virtual CodeBinding? create_property_accessor_binding (PropertyAccessor node) {
return null;
}
- public virtual CodeBinding create_signal_binding (Signal node) {
+ public virtual CodeBinding? create_signal_binding (Signal node) {
return null;
}
- public virtual CodeBinding create_constructor_binding (Constructor node) {
+ public virtual CodeBinding? create_constructor_binding (Constructor node) {
return null;
}
- public virtual CodeBinding create_destructor_binding (Destructor node) {
+ public virtual CodeBinding? create_destructor_binding (Destructor node) {
return null;
}
- public virtual CodeBinding create_type_parameter_binding (TypeParameter node) {
+ public virtual CodeBinding? create_type_parameter_binding (TypeParameter node) {
return null;
}
- public virtual CodeBinding create_block_binding (Block node) {
+ public virtual CodeBinding? create_block_binding (Block node) {
return null;
}
- public virtual CodeBinding create_empty_statement_binding (EmptyStatement node) {
+ public virtual CodeBinding? create_empty_statement_binding (EmptyStatement node) {
return null;
}
- public virtual CodeBinding create_declaration_statement_binding (DeclarationStatement node) {
+ public virtual CodeBinding? create_declaration_statement_binding (DeclarationStatement node) {
return null;
}
- public virtual CodeBinding create_local_variable_declaration_binding (LocalVariableDeclaration node) {
+ public virtual CodeBinding? create_local_variable_declaration_binding (LocalVariableDeclaration node) {
return null;
}
- public virtual CodeBinding create_variable_declarator_binding (VariableDeclarator node) {
+ public virtual CodeBinding? create_variable_declarator_binding (VariableDeclarator node) {
return null;
}
- public virtual CodeBinding create_initializer_list_binding (InitializerList node) {
+ public virtual CodeBinding? create_initializer_list_binding (InitializerList node) {
return null;
}
- public virtual CodeBinding create_expression_statement_binding (ExpressionStatement node) {
+ public virtual CodeBinding? create_expression_statement_binding (ExpressionStatement node) {
return null;
}
- public virtual CodeBinding create_if_statement_binding (IfStatement node) {
+ public virtual CodeBinding? create_if_statement_binding (IfStatement node) {
return null;
}
- public virtual CodeBinding create_switch_statement_binding (SwitchStatement node) {
+ public virtual CodeBinding? create_switch_statement_binding (SwitchStatement node) {
return null;
}
- public virtual CodeBinding create_switch_section_binding (SwitchSection node) {
+ public virtual CodeBinding? create_switch_section_binding (SwitchSection node) {
return null;
}
- public virtual CodeBinding create_switch_label_binding (SwitchLabel node) {
+ public virtual CodeBinding? create_switch_label_binding (SwitchLabel node) {
return null;
}
- public virtual CodeBinding create_while_statement_binding (WhileStatement node) {
+ public virtual CodeBinding? create_while_statement_binding (WhileStatement node) {
return null;
}
- public virtual CodeBinding create_do_statement_binding (DoStatement node) {
+ public virtual CodeBinding? create_do_statement_binding (DoStatement node) {
return null;
}
- public virtual CodeBinding create_for_statement_binding (ForStatement node) {
+ public virtual CodeBinding? create_for_statement_binding (ForStatement node) {
return null;
}
- public virtual CodeBinding create_foreach_statement_binding (ForeachStatement node) {
+ public virtual CodeBinding? create_foreach_statement_binding (ForeachStatement node) {
return null;
}
- public virtual CodeBinding create_break_statement_binding (BreakStatement node) {
+ public virtual CodeBinding? create_break_statement_binding (BreakStatement node) {
return null;
}
- public virtual CodeBinding create_continue_statement_binding (ContinueStatement node) {
+ public virtual CodeBinding? create_continue_statement_binding (ContinueStatement node) {
return null;
}
- public virtual CodeBinding create_return_statement_binding (ReturnStatement node) {
+ public virtual CodeBinding? create_return_statement_binding (ReturnStatement node) {
return null;
}
- public virtual CodeBinding create_throw_statement_binding (ThrowStatement node) {
+ public virtual CodeBinding? create_throw_statement_binding (ThrowStatement node) {
return null;
}
- public virtual CodeBinding create_try_statement_binding (TryStatement node) {
+ public virtual CodeBinding? create_try_statement_binding (TryStatement node) {
return null;
}
- public virtual CodeBinding create_catch_clause_binding (CatchClause node) {
+ public virtual CodeBinding? create_catch_clause_binding (CatchClause node) {
return null;
}
- public virtual CodeBinding create_lock_statement_binding (LockStatement node) {
+ public virtual CodeBinding? create_lock_statement_binding (LockStatement node) {
return null;
}
- public virtual CodeBinding create_delete_statement_binding (DeleteStatement node) {
+ public virtual CodeBinding? create_delete_statement_binding (DeleteStatement node) {
return null;
}
- public virtual CodeBinding create_array_creation_expression_binding (ArrayCreationExpression node) {
+ public virtual CodeBinding? create_array_creation_expression_binding (ArrayCreationExpression node) {
return null;
}
- public virtual CodeBinding create_boolean_literal_binding (BooleanLiteral node) {
+ public virtual CodeBinding? create_boolean_literal_binding (BooleanLiteral node) {
return null;
}
- public virtual CodeBinding create_character_literal_binding (CharacterLiteral node) {
+ public virtual CodeBinding? create_character_literal_binding (CharacterLiteral node) {
return null;
}
- public virtual CodeBinding create_integer_literal_binding (IntegerLiteral node) {
+ public virtual CodeBinding? create_integer_literal_binding (IntegerLiteral node) {
return null;
}
- public virtual CodeBinding create_real_literal_binding (RealLiteral node) {
+ public virtual CodeBinding? create_real_literal_binding (RealLiteral node) {
return null;
}
- public virtual CodeBinding create_string_literal_binding (StringLiteral node) {
+ public virtual CodeBinding? create_string_literal_binding (StringLiteral node) {
return null;
}
- public virtual CodeBinding create_null_literal_binding (NullLiteral node) {
+ public virtual CodeBinding? create_null_literal_binding (NullLiteral node) {
return null;
}
- public virtual CodeBinding create_parenthesized_expression_binding (ParenthesizedExpression node) {
+ public virtual CodeBinding? create_parenthesized_expression_binding (ParenthesizedExpression node) {
return null;
}
- public virtual CodeBinding create_member_access_binding (MemberAccess node) {
+ public virtual CodeBinding? create_member_access_binding (MemberAccess node) {
return null;
}
- public virtual CodeBinding create_member_access_simple_binding (MemberAccess node) {
+ public virtual CodeBinding? create_member_access_simple_binding (MemberAccess node) {
return null;
}
- public virtual CodeBinding create_invocation_expression_binding (InvocationExpression node) {
+ public virtual CodeBinding? create_invocation_expression_binding (InvocationExpression node) {
return null;
}
- public virtual CodeBinding create_element_access_binding (ElementAccess node) {
+ public virtual CodeBinding? create_element_access_binding (ElementAccess node) {
return null;
}
- public virtual CodeBinding create_base_access_binding (BaseAccess node) {
+ public virtual CodeBinding? create_base_access_binding (BaseAccess node) {
return null;
}
- public virtual CodeBinding create_postfix_expression_binding (PostfixExpression node) {
+ public virtual CodeBinding? create_postfix_expression_binding (PostfixExpression node) {
return null;
}
- public virtual CodeBinding create_object_creation_expression_binding (ObjectCreationExpression node) {
+ public virtual CodeBinding? create_object_creation_expression_binding (ObjectCreationExpression node) {
return null;
}
- public virtual CodeBinding create_sizeof_expression_binding (SizeofExpression node) {
+ public virtual CodeBinding? create_sizeof_expression_binding (SizeofExpression node) {
return null;
}
- public virtual CodeBinding create_typeof_expression_binding (TypeofExpression node) {
+ public virtual CodeBinding? create_typeof_expression_binding (TypeofExpression node) {
return null;
}
- public virtual CodeBinding create_unary_expression_binding (UnaryExpression node) {
+ public virtual CodeBinding? create_unary_expression_binding (UnaryExpression node) {
return null;
}
- public virtual CodeBinding create_cast_expression_binding (CastExpression node) {
+ public virtual CodeBinding? create_cast_expression_binding (CastExpression node) {
return null;
}
- public virtual CodeBinding create_pointer_indirection_binding (PointerIndirection node) {
+ public virtual CodeBinding? create_pointer_indirection_binding (PointerIndirection node) {
return null;
}
- public virtual CodeBinding create_addressof_expression_binding (AddressofExpression node) {
+ public virtual CodeBinding? create_addressof_expression_binding (AddressofExpression node) {
return null;
}
- public virtual CodeBinding create_reference_transfer_expression_binding (ReferenceTransferExpression node) {
+ public virtual CodeBinding? create_reference_transfer_expression_binding (ReferenceTransferExpression node) {
return null;
}
- public virtual CodeBinding create_binary_expression_binding (BinaryExpression node) {
+ public virtual CodeBinding? create_binary_expression_binding (BinaryExpression node) {
return null;
}
- public virtual CodeBinding create_type_check_binding (TypeCheck node) {
+ public virtual CodeBinding? create_type_check_binding (TypeCheck node) {
return null;
}
- public virtual CodeBinding create_conditional_expression_binding (ConditionalExpression node) {
+ public virtual CodeBinding? create_conditional_expression_binding (ConditionalExpression node) {
return null;
}
- public virtual CodeBinding create_lambda_expression_binding (LambdaExpression node) {
+ public virtual CodeBinding? create_lambda_expression_binding (LambdaExpression node) {
return null;
}
- public virtual CodeBinding create_lambda_expression_with_statement_body_binding (LambdaExpression node) {
+ public virtual CodeBinding? create_lambda_expression_with_statement_body_binding (LambdaExpression node) {
return null;
}
- public virtual CodeBinding create_assignment_binding (Assignment node) {
+ public virtual CodeBinding? create_assignment_binding (Assignment node) {
return null;
}
}
diff --git a/vala/valacodenode.vala b/vala/valacodenode.vala
index 05ffa70ce..72184530b 100644
--- a/vala/valacodenode.vala
+++ b/vala/valacodenode.vala
@@ -106,7 +106,7 @@ public abstract class Vala.CodeNode : Object {
* @param name attribute name
* @return attribute
*/
- public Attribute get_attribute (string name) {
+ public Attribute? get_attribute (string name) {
// FIXME: use hash table
foreach (Attribute a in attributes) {
if (a.name == name) {
diff --git a/vala/valadatatype.vala b/vala/valadatatype.vala
index f760adf92..3bc03c024 100644
--- a/vala/valadatatype.vala
+++ b/vala/valadatatype.vala
@@ -113,7 +113,7 @@ public abstract class Vala.DataType : CodeNode {
*
* @return the type string to be used in C code
*/
- public virtual string get_cname (bool var_type = false, bool const_type = false) {
+ public virtual string? get_cname (bool var_type = false, bool const_type = false) {
if (data_type == null && type_parameter == null) {
if (var_type) {
return "gpointer";
@@ -396,7 +396,7 @@ public abstract class Vala.DataType : CodeNode {
*
* @return return type
*/
- public virtual DataType get_return_type () {
+ public virtual DataType? get_return_type () {
return null;
}
@@ -405,7 +405,7 @@ public abstract class Vala.DataType : CodeNode {
*
* @return parameter list
*/
- public virtual Collection<FormalParameter> get_parameters () {
+ public virtual Collection<FormalParameter>? get_parameters () {
return null;
}
@@ -439,7 +439,7 @@ public abstract class Vala.DataType : CodeNode {
return null;
}
- public virtual Symbol get_pointer_member (string member_name) {
+ public virtual Symbol? get_pointer_member (string member_name) {
return null;
}
diff --git a/vala/valadelegate.vala b/vala/valadelegate.vala
index 5316fad63..cc0630883 100644
--- a/vala/valadelegate.vala
+++ b/vala/valadelegate.vala
@@ -260,19 +260,19 @@ public class Vala.Delegate : Typesymbol {
return false;
}
- public override string get_type_id () {
+ public override string? get_type_id () {
return "G_TYPE_POINTER";
}
- public override string get_marshaller_type_name () {
+ public override string? get_marshaller_type_name () {
return "POINTER";
}
- public override string get_get_value_function () {
+ public override string? get_get_value_function () {
return "g_value_get_pointer";
}
- public override string get_set_value_function () {
+ public override string? get_set_value_function () {
return "g_value_set_pointer";
}
diff --git a/vala/valadelegatetype.vala b/vala/valadelegatetype.vala
index 3702f3dae..b0c908b2f 100644
--- a/vala/valadelegatetype.vala
+++ b/vala/valadelegatetype.vala
@@ -37,11 +37,11 @@ public class Vala.DelegateType : DataType {
return true;
}
- public override DataType get_return_type () {
+ public override DataType? get_return_type () {
return delegate_symbol.return_type;
}
- public override Collection<FormalParameter> get_parameters () {
+ public override Collection<FormalParameter>? get_parameters () {
return delegate_symbol.get_parameters ();
}
@@ -53,7 +53,7 @@ public class Vala.DelegateType : DataType {
return new DelegateType (delegate_symbol);
}
- public override string get_cname (bool var_type = false, bool const_type = false) {
+ public override string? get_cname (bool var_type, bool const_type) {
return delegate_symbol.get_cname (const_type);
}
diff --git a/vala/valaenum.vala b/vala/valaenum.vala
index 9230477e5..f924608a0 100644
--- a/vala/valaenum.vala
+++ b/vala/valaenum.vala
@@ -148,7 +148,7 @@ public class Vala.Enum : Typesymbol {
return "%s%s%s".printf (parent_symbol.get_lower_case_cprefix (), infix, get_lower_case_csuffix ());
}
- public override string get_upper_case_cname (string? infix = null) {
+ public override string? get_upper_case_cname (string? infix = null) {
return get_lower_case_cname (infix).up ();
}
@@ -220,11 +220,11 @@ public class Vala.Enum : Typesymbol {
}
}
- public void set_type_id (string type_id) {
+ public void set_type_id (string? type_id) {
this.type_id = type_id;
}
- public override string get_type_id () {
+ public override string? get_type_id () {
if (type_id == null) {
if (has_type_id) {
type_id = get_upper_case_cname ("TYPE_");
@@ -236,7 +236,7 @@ public class Vala.Enum : Typesymbol {
return type_id;
}
- public override string get_marshaller_type_name () {
+ public override string? get_marshaller_type_name () {
if (has_type_id) {
if (is_flags) {
return "FLAGS";
@@ -247,12 +247,12 @@ public class Vala.Enum : Typesymbol {
if (is_flags) {
return "UINT";
} else {
- return "INT";
- }
+ return "INT";
+ }
}
}
- public override string get_get_value_function () {
+ public override string? get_get_value_function () {
if (has_type_id) {
if (is_flags) {
return "g_value_get_flags";
@@ -268,7 +268,7 @@ public class Vala.Enum : Typesymbol {
}
}
- public override string get_set_value_function () {
+ public override string? get_set_value_function () {
if (has_type_id) {
if (is_flags) {
return "g_value_set_flags";
@@ -284,7 +284,7 @@ public class Vala.Enum : Typesymbol {
}
}
- public override string get_default_value () {
+ public override string? get_default_value () {
return "0";
}
}
diff --git a/vala/valaerrordomain.vala b/vala/valaerrordomain.vala
index 63fa957f1..6b9b9cdb6 100644
--- a/vala/valaerrordomain.vala
+++ b/vala/valaerrordomain.vala
@@ -137,7 +137,7 @@ public class Vala.ErrorDomain : Typesymbol {
return "%s%s%s".printf (parent_symbol.get_lower_case_cprefix (), infix, get_lower_case_csuffix ());
}
- public override string get_upper_case_cname (string? infix) {
+ public override string? get_upper_case_cname (string? infix) {
return get_lower_case_cname (null).up ();
}
@@ -201,19 +201,19 @@ public class Vala.ErrorDomain : Typesymbol {
}
}
- public override string get_type_id () {
+ public override string? get_type_id () {
return "G_TYPE_POINTER";
}
- public override string get_marshaller_type_name () {
+ public override string? get_marshaller_type_name () {
return "POINTER";
}
- public override string get_get_value_function () {
+ public override string? get_get_value_function () {
return "g_value_get_pointer";
}
- public override string get_set_value_function () {
+ public override string? get_set_value_function () {
return "g_value_set_pointer";
}
}
diff --git a/vala/valaerrortype.vala b/vala/valaerrortype.vala
index 1414152ed..64540ab2a 100644
--- a/vala/valaerrortype.vala
+++ b/vala/valaerrortype.vala
@@ -72,7 +72,7 @@ public class Vala.ErrorType : ReferenceType {
return new ErrorType (error_domain, source_reference);
}
- public override string get_cname (bool var_type = false, bool const_type = false) {
+ public override string? get_cname (bool var_type = false, bool const_type = false) {
return "GError*";
}
diff --git a/vala/valaexpressionstatement.vala b/vala/valaexpressionstatement.vala
index 4422e78c8..79cad53e5 100644
--- a/vala/valaexpressionstatement.vala
+++ b/vala/valaexpressionstatement.vala
@@ -72,7 +72,7 @@ public class Vala.ExpressionStatement : CodeNode, Statement {
* @return the property this statement sets, or null if it doesn't set
* a property
*/
- public Property assigned_property () {
+ public Property? assigned_property () {
if (expression is Assignment) {
var assign = (Assignment) expression;
if (assign.left is MemberAccess) {
diff --git a/vala/valainterface.vala b/vala/valainterface.vala
index 5b15add86..328b37591 100644
--- a/vala/valainterface.vala
+++ b/vala/valainterface.vala
@@ -313,7 +313,7 @@ public class Vala.Interface : Typesymbol {
return "%s_".printf (get_lower_case_cname (null));
}
- public override string get_upper_case_cname (string? infix) {
+ public override string? get_upper_case_cname (string? infix) {
return get_lower_case_cname (infix).up ();
}
@@ -448,19 +448,19 @@ public class Vala.Interface : Typesymbol {
this.type_cname = type_cname;
}
- public override string get_marshaller_type_name () {
+ public override string? get_marshaller_type_name () {
return "OBJECT";
}
- public override string get_get_value_function () {
+ public override string? get_get_value_function () {
return "g_value_get_object";
}
- public override string get_set_value_function () {
+ public override string? get_set_value_function () {
return "g_value_set_object";
}
- public override string get_type_id () {
+ public override string? get_type_id () {
if (type_id == null) {
type_id = get_upper_case_cname ("TYPE_");
}
diff --git a/vala/valamethodtype.vala b/vala/valamethodtype.vala
index 62fedf969..09f6bf88a 100644
--- a/vala/valamethodtype.vala
+++ b/vala/valamethodtype.vala
@@ -37,11 +37,11 @@ public class Vala.MethodType : DataType {
return true;
}
- public override DataType get_return_type () {
+ public override DataType? get_return_type () {
return method_symbol.return_type;
}
- public override Collection<FormalParameter> get_parameters () {
+ public override Collection<FormalParameter>? get_parameters () {
return method_symbol.get_parameters ();
}
diff --git a/vala/valaparser.vala b/vala/valaparser.vala
index 32ba75a07..d852044ee 100644
--- a/vala/valaparser.vala
+++ b/vala/valaparser.vala
@@ -347,7 +347,7 @@ public class Vala.Parser : CodeVisitor {
bool is_weak = accept (TokenType.WEAK);
var sym = parse_symbol_name ();
- var type_arg_list = parse_type_argument_list (false);
+ Gee.List<DataType> type_arg_list = parse_type_argument_list (false);
int stars = 0;
while (accept (TokenType.STAR)) {
@@ -476,7 +476,7 @@ public class Vala.Parser : CodeVisitor {
Expression parse_simple_name () throws ParseError {
var begin = get_location ();
string id = parse_identifier ();
- var type_arg_list = parse_type_argument_list (true);
+ Gee.List<DataType> type_arg_list = parse_type_argument_list (true);
var expr = context.create_member_access (null, id, get_src (begin));
if (type_arg_list != null) {
foreach (DataType type_arg in type_arg_list) {
@@ -509,7 +509,7 @@ public class Vala.Parser : CodeVisitor {
Expression parse_member_access (SourceLocation begin, Expression inner) throws ParseError {
expect (TokenType.DOT);
string id = parse_identifier ();
- var type_arg_list = parse_type_argument_list (true);
+ Gee.List<DataType> type_arg_list = parse_type_argument_list (true);
var expr = context.create_member_access (inner, id, get_src (begin));
if (type_arg_list != null) {
foreach (DataType type_arg in type_arg_list) {
@@ -522,7 +522,7 @@ public class Vala.Parser : CodeVisitor {
Expression parse_pointer_member_access (SourceLocation begin, Expression inner) throws ParseError {
expect (TokenType.OP_PTR);
string id = parse_identifier ();
- var type_arg_list = parse_type_argument_list (true);
+ Gee.List<DataType> type_arg_list = parse_type_argument_list (true);
var expr = context.create_member_access_pointer (inner, id, get_src (begin));
if (type_arg_list != null) {
foreach (DataType type_arg in type_arg_list) {
@@ -1526,7 +1526,7 @@ public class Vala.Parser : CodeVisitor {
return context.create_delete_statement (expr, get_src_com (begin));
}
- Gee.List<Attribute> parse_attributes () throws ParseError {
+ Gee.List<Attribute>? parse_attributes () throws ParseError {
if (current () != TokenType.OPEN_BRACKET) {
return null;
}
@@ -2629,7 +2629,7 @@ public class Vala.Parser : CodeVisitor {
}
// try to parse type argument list
- Gee.List<DataType> parse_type_argument_list (bool maybe_expression) throws ParseError {
+ Gee.List<DataType>? parse_type_argument_list (bool maybe_expression) throws ParseError {
var begin = get_location ();
if (accept (TokenType.OP_LT)) {
var list = new ArrayList<DataType> ();
@@ -2684,7 +2684,7 @@ public class Vala.Parser : CodeVisitor {
MemberAccess expr = null;
do {
string id = parse_identifier ();
- var type_arg_list = parse_type_argument_list (false);
+ Gee.List<DataType> type_arg_list = parse_type_argument_list (false);
expr = context.create_member_access (expr, id, get_src (begin));
if (type_arg_list != null) {
foreach (DataType type_arg in type_arg_list) {
diff --git a/vala/valapointertype.vala b/vala/valapointertype.vala
index 1c35c7e4c..b81f4be94 100644
--- a/vala/valapointertype.vala
+++ b/vala/valapointertype.vala
@@ -40,7 +40,7 @@ public class Vala.PointerType : DataType {
return base_type.to_string () + "*";
}
- public override string get_cname (bool var_type = false, bool const_type = false) {
+ public override string? get_cname (bool var_type = false, bool const_type = false) {
if (base_type.data_type != null && base_type.data_type.is_reference_type ()) {
return base_type.get_cname (var_type, const_type);
} else {
@@ -70,7 +70,7 @@ public class Vala.PointerType : DataType {
return false;
}
- public override Symbol get_pointer_member (string member_name) {
+ public override Symbol? get_pointer_member (string member_name) {
Symbol base_symbol = base_type.data_type;
if (base_symbol == null) {
diff --git a/vala/valascanner.vala b/vala/valascanner.vala
index f383c4139..237567b15 100644
--- a/vala/valascanner.vala
+++ b/vala/valascanner.vala
@@ -755,7 +755,7 @@ public class Vala.Scanner : Object {
*
* @return saved comment
*/
- public string pop_comment () {
+ public string? pop_comment () {
if (_comment == null) {
return null;
}
diff --git a/vala/valascope.vala b/vala/valascope.vala
index 066ae0fb5..7dd68416e 100644
--- a/vala/valascope.vala
+++ b/vala/valascope.vala
@@ -81,7 +81,7 @@ public class Vala.Scope : Object {
* @param name name of the symbol to be returned
* @return found symbol or null
*/
- public Symbol lookup (string name) {
+ public Symbol? lookup (string name) {
if (symbol_table == null) {
return null;
}
diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala
index a8a7aea18..5921b3147 100644
--- a/vala/valasemanticanalyzer.vala
+++ b/vala/valasemanticanalyzer.vala
@@ -1159,6 +1159,11 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
!current_return_type.transfers_ownership) {
Report.warning (stmt.source_reference, "Local variable with strong reference used as return value and method return type hasn't been declared to transfer ownership");
}
+
+ if (stmt.return_expression is NullLiteral
+ && !current_return_type.nullable) {
+ Report.warning (stmt.source_reference, "`null' incompatible with return type `%s`".printf (current_return_type.to_string ()));
+ }
}
public override void visit_throw_statement (ThrowStatement stmt) {
@@ -1363,7 +1368,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
expr.static_type = new NullType (expr.source_reference);
}
- private DataType get_static_type_for_symbol (Symbol sym) {
+ private DataType? get_static_type_for_symbol (Symbol sym) {
if (sym is Field) {
var f = (Field) sym;
return f.type_reference;
@@ -1395,7 +1400,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
return null;
}
- public static Symbol symbol_lookup_inherited (Symbol sym, string name) {
+ public static Symbol? symbol_lookup_inherited (Symbol sym, string name) {
var result = sym.scope.lookup (name);
if (result != null) {
return result;
@@ -1905,7 +1910,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
return true;
}
- private static DataType get_instance_base_type (DataType instance_type, DataType base_type, CodeNode node_reference) {
+ private static DataType? get_instance_base_type (DataType instance_type, DataType base_type, CodeNode node_reference) {
// construct a new type reference for the base type with correctly linked type arguments
ReferenceType instance_base_type;
if (base_type.data_type is Class) {
@@ -1929,7 +1934,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
return instance_base_type;
}
- public static DataType get_actual_type (DataType derived_instance_type, Symbol generic_member, DataType generic_type, CodeNode node_reference) {
+ public static DataType? get_actual_type (DataType derived_instance_type, Symbol generic_member, DataType generic_type, CodeNode node_reference) {
DataType instance_type = derived_instance_type;
while (instance_type is PointerType) {
@@ -2460,7 +2465,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
}
}
- private MemberAccess find_member_access (Expression expr) {
+ private MemberAccess? find_member_access (Expression expr) {
if (expr is ParenthesizedExpression) {
var pe = (ParenthesizedExpression) expr;
return find_member_access (pe.inner);
@@ -2551,7 +2556,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
expr.static_type.takes_ownership = false;
}
- private DataType get_arithmetic_result_type (DataType left_type, DataType right_type) {
+ private DataType? get_arithmetic_result_type (DataType left_type, DataType right_type) {
if (!(left_type.data_type is Struct) || !(right_type.data_type is Struct)) {
// at least one operand not struct
return null;
@@ -2755,7 +2760,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
return result;
}
- private Method find_current_method () {
+ private Method? find_current_method () {
var sym = current_symbol;
while (sym != null) {
if (sym is Method) {
diff --git a/vala/valasignaltype.vala b/vala/valasignaltype.vala
index 727ff8749..fd53530c4 100644
--- a/vala/valasignaltype.vala
+++ b/vala/valasignaltype.vala
@@ -37,11 +37,11 @@ public class Vala.SignalType : DataType {
return true;
}
- public override DataType get_return_type () {
+ public override DataType? get_return_type () {
return signal_symbol.return_type;
}
- public override Collection<FormalParameter> get_parameters () {
+ public override Collection<FormalParameter>? get_parameters () {
return signal_symbol.get_parameters ();
}
diff --git a/vala/valasourcefile.vala b/vala/valasourcefile.vala
index cc0e5ecb1..e04cf2496 100644
--- a/vala/valasourcefile.vala
+++ b/vala/valasourcefile.vala
@@ -377,7 +377,7 @@ public class Vala.SourceFile : Object {
* @param lineno 1-based line number
* @return the specified source line
*/
- public string get_source_line (int lineno) {
+ public string? get_source_line (int lineno) {
if (source_array == null) {
read_source_file ();
}
diff --git a/vala/valastringliteral.vala b/vala/valastringliteral.vala
index f3fe9ea7e..3ffc57776 100644
--- a/vala/valastringliteral.vala
+++ b/vala/valastringliteral.vala
@@ -48,7 +48,7 @@ public class Vala.StringLiteral : Literal {
*
* @return the unescaped string
*/
- public string eval () {
+ public string? eval () {
if (value == null) {
return null;
}
diff --git a/vala/valastruct.vala b/vala/valastruct.vala
index 0830bee2c..469205864 100644
--- a/vala/valastruct.vala
+++ b/vala/valastruct.vala
@@ -220,7 +220,7 @@ public class Vala.Struct : Typesymbol {
return "%s%s%s".printf (parent_symbol.get_lower_case_cprefix (), infix, get_lower_case_csuffix ());
}
- public override string get_upper_case_cname (string? infix) {
+ public override string? get_upper_case_cname (string? infix) {
return get_lower_case_cname (infix).up ();
}
@@ -315,7 +315,7 @@ public class Vala.Struct : Typesymbol {
}
}
- public override string get_type_id () {
+ public override string? get_type_id () {
if (type_id == null) {
if (simple_type) {
Report.error (source_reference, "The type `%s` doesn't declare a type id".printf (get_full_name ()));
@@ -326,11 +326,11 @@ public class Vala.Struct : Typesymbol {
return type_id;
}
- public void set_type_id (string name) {
+ public void set_type_id (string? name) {
this.type_id = name;
}
- public override string get_marshaller_type_name () {
+ public override string? get_marshaller_type_name () {
if (marshaller_type_name == null) {
if (simple_type) {
Report.error (source_reference, "The type `%s` doesn't declare a marshaller type name".printf (get_full_name ()));
@@ -341,11 +341,11 @@ public class Vala.Struct : Typesymbol {
return marshaller_type_name;
}
- private void set_marshaller_type_name (string name) {
+ private void set_marshaller_type_name (string? name) {
this.marshaller_type_name = name;
}
- public override string get_get_value_function () {
+ public override string? get_get_value_function () {
if (get_value_function == null) {
if (simple_type) {
Report.error (source_reference, "The value type `%s` doesn't declare a GValue get function".printf (get_full_name ()));
@@ -358,7 +358,7 @@ public class Vala.Struct : Typesymbol {
}
}
- public override string get_set_value_function () {
+ public override string? get_set_value_function () {
if (set_value_function == null) {
if (simple_type) {
Report.error (source_reference, "The value type `%s` doesn't declare a GValue set function".printf (get_full_name ()));
@@ -371,15 +371,15 @@ public class Vala.Struct : Typesymbol {
}
}
- private void set_get_value_function (string function) {
+ private void set_get_value_function (string? function) {
get_value_function = function;
}
- private void set_set_value_function (string function) {
+ private void set_set_value_function (string? function) {
set_value_function = function;
}
- public override string get_default_value () {
+ public override string? get_default_value () {
if (default_value != null) {
return default_value;
}
@@ -394,7 +394,7 @@ public class Vala.Struct : Typesymbol {
return null;
}
- private void set_default_value (string value) {
+ private void set_default_value (string? value) {
default_value = value;
}
diff --git a/vala/valasymbol.vala b/vala/valasymbol.vala
index 2c2863e0e..c10e32b31 100644
--- a/vala/valasymbol.vala
+++ b/vala/valasymbol.vala
@@ -30,7 +30,7 @@ public abstract class Vala.Symbol : CodeNode {
/**
* The parent of this symbol.
*/
- public weak Symbol parent_symbol {
+ public weak Symbol? parent_symbol {
get {
if (owner == null) {
return null;
diff --git a/vala/valatypesymbol.vala b/vala/valatypesymbol.vala
index a7d3055bb..f1f342ec3 100644
--- a/vala/valatypesymbol.vala
+++ b/vala/valatypesymbol.vala
@@ -141,7 +141,7 @@ public abstract class Vala.Typesymbol : Symbol {
* @return the name of the GType name in C code or null if this data
* type is not registered with GType
*/
- public virtual string get_type_id () {
+ public virtual string? get_type_id () {
return null;
}
@@ -150,21 +150,21 @@ public abstract class Vala.Typesymbol : Symbol {
*
* @return type name for marshallers
*/
- public virtual string get_marshaller_type_name () {
+ public virtual string? get_marshaller_type_name () {
return null;
}
/**
* Returns the cname of the GValue getter function,
*/
- public virtual string get_get_value_function () {
+ public virtual string? get_get_value_function () {
return null;
}
/**
* Returns the cname of the GValue setter function,
*/
- public virtual string get_set_value_function () {
+ public virtual string? get_set_value_function () {
return null;
}
@@ -177,7 +177,7 @@ public abstract class Vala.Typesymbol : Symbol {
* name or null
* @return the upper case name to be used in C code
*/
- public virtual string get_upper_case_cname (string? infix = null) {
+ public virtual string? get_upper_case_cname (string? infix = null) {
return null;
}
@@ -187,7 +187,7 @@ public abstract class Vala.Typesymbol : Symbol {
*
* @return the name of the default value
*/
- public virtual string get_default_value () {
+ public virtual string? get_default_value () {
return null;
}
diff --git a/vala/valaunresolvedtype.vala b/vala/valaunresolvedtype.vala
index 10f06b341..826fd2246 100644
--- a/vala/valaunresolvedtype.vala
+++ b/vala/valaunresolvedtype.vala
@@ -72,7 +72,7 @@ public class Vala.UnresolvedType : DataType {
* @param source reference to source code
* @return newly created type reference
*/
- public static UnresolvedType new_from_expression (Expression expr) {
+ public static UnresolvedType? new_from_expression (Expression expr) {
string ns = null;
string type_name = null;
if (expr is MemberAccess) {
diff --git a/vala/valavaluetype.vala b/vala/valavaluetype.vala
index 8f5e70a36..f45b77fb9 100644
--- a/vala/valavaluetype.vala
+++ b/vala/valavaluetype.vala
@@ -53,7 +53,7 @@ public class Vala.ValueType : DataType {
return result;
}
- public override string get_cname (bool var_type, bool const_type) {
+ public override string? get_cname (bool var_type, bool const_type) {
string ptr = "";
if (is_ref || is_out) {
ptr += "*";
diff --git a/vala/valavoidtype.vala b/vala/valavoidtype.vala
index b759166b5..808cb0533 100644
--- a/vala/valavoidtype.vala
+++ b/vala/valavoidtype.vala
@@ -37,7 +37,7 @@ public class Vala.VoidType : DataType {
return "void";
}
- public override string get_cname (bool var_type = false, bool const_type = false) {
+ public override string? get_cname (bool var_type = false, bool const_type = false) {
return "void";
}
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala
index e21f6bd44..14e39abb4 100644
--- a/vapigen/valagidlparser.vala
+++ b/vapigen/valagidlparser.vala
@@ -188,7 +188,7 @@ public class Vala.GIdlParser : CodeVisitor {
return const_name;
}
- private Namespace parse_module (IdlModule module) {
+ private Namespace? parse_module (IdlModule module) {
Symbol sym = context.root.scope.lookup (module.name);
Namespace ns;
if (sym is Namespace) {
@@ -280,7 +280,7 @@ public class Vala.GIdlParser : CodeVisitor {
return ns;
}
- private Delegate parse_delegate (IdlNodeFunction f_node) {
+ private Delegate? parse_delegate (IdlNodeFunction f_node) {
weak IdlNode node = (IdlNode) f_node;
var cb = new Delegate (node.name, parse_param (f_node.result), current_source_reference);
@@ -710,7 +710,7 @@ public class Vala.GIdlParser : CodeVisitor {
}
}
- private Typesymbol parse_enum (IdlNodeEnum en_node) {
+ private Typesymbol? parse_enum (IdlNodeEnum en_node) {
weak IdlNode node = (IdlNode) en_node;
var en = new Enum (node.name, current_source_reference);
@@ -978,7 +978,7 @@ public class Vala.GIdlParser : CodeVisitor {
current_data_type = null;
}
- private UnresolvedType parse_type (IdlNodeType type_node) {
+ private UnresolvedType? parse_type (IdlNodeType type_node) {
var type = new UnresolvedType ();
if (type_node.tag == TypeTag.VOID) {
if (type_node.is_pointer) {
@@ -1184,7 +1184,7 @@ public class Vala.GIdlParser : CodeVisitor {
return type;
}
- private Method create_method (string name, string symbol, IdlNodeParam? res, GLib.List<IdlNodeParam>? parameters, bool is_constructor, bool is_interface) {
+ private Method? create_method (string name, string symbol, IdlNodeParam? res, GLib.List<IdlNodeParam>? parameters, bool is_constructor, bool is_interface) {
UnresolvedType return_type = null;
if (res != null) {
return_type = parse_param (res);
@@ -1417,7 +1417,7 @@ public class Vala.GIdlParser : CodeVisitor {
return false;
}
- private Method parse_function (IdlNodeFunction f, bool is_interface = false) {
+ private Method? parse_function (IdlNodeFunction f, bool is_interface = false) {
weak IdlNode node = (IdlNode) f;
if (f.deprecated) {
@@ -1468,7 +1468,7 @@ public class Vala.GIdlParser : CodeVisitor {
return str.str;
}
- private Property parse_property (IdlNodeProperty prop_node) {
+ private Property? parse_property (IdlNodeProperty prop_node) {
weak IdlNode node = (IdlNode) prop_node;
if (prop_node.deprecated) {
@@ -1519,7 +1519,7 @@ public class Vala.GIdlParser : CodeVisitor {
return prop;
}
- private Constant parse_constant (IdlNodeConstant const_node) {
+ private Constant? parse_constant (IdlNodeConstant const_node) {
weak IdlNode node = (IdlNode) const_node;
var type = parse_type (const_node.type);
@@ -1533,7 +1533,7 @@ public class Vala.GIdlParser : CodeVisitor {
return c;
}
- private Field parse_field (IdlNodeField field_node) {
+ private Field? parse_field (IdlNodeField field_node) {
weak IdlNode node = (IdlNode) field_node;
var type = parse_type (field_node.type);
@@ -1586,7 +1586,7 @@ public class Vala.GIdlParser : CodeVisitor {
}
[NoArrayLength]
- private string[] get_attributes (string codenode) {
+ private string[]? get_attributes (string codenode) {
var attributes = codenode_attributes_map.get (codenode);
if (attributes == null) {
@@ -1619,7 +1619,7 @@ public class Vala.GIdlParser : CodeVisitor {
return s.offset (1).ndup (s.size () - 2);
}
- private Signal parse_signal (IdlNodeSignal sig_node) {
+ private Signal? parse_signal (IdlNodeSignal sig_node) {
weak IdlNode node = (IdlNode) sig_node;
if (sig_node.deprecated || sig_node.result == null) {
diff --git a/vapigen/valavapigen.vala b/vapigen/valavapigen.vala
index 04502e0f7..8d386699e 100644
--- a/vapigen/valavapigen.vala
+++ b/vapigen/valavapigen.vala
@@ -79,7 +79,7 @@ class Vala.VAPIGen : Object {
return true;
}
- private static string[] get_packages_from_depsfile (string depsfile) {
+ private static string[]? get_packages_from_depsfile (string depsfile) {
string contents;
if (FileUtils.get_contents (depsfile, out contents)) {
return contents.strip ().split ("\n");