From: Juerg Billeter Date: Wed, 11 Jul 2007 12:17:19 +0000 (+0000) Subject: any reference or array type or pointer type can be cast to a generic X-Git-Tag: VALA_0_1_1~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e41d9f6db3e11c498c09ff1019bb53821004adba;p=thirdparty%2Fvala.git any reference or array type or pointer type can be cast to a generic 2007-07-11 Juerg Billeter * vala/valasemanticanalyzer.vala: any reference or array type or pointer type can be cast to a generic pointer svn path=/trunk/; revision=343 --- diff --git a/ChangeLog b/ChangeLog index e1e020089..a6250e350 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-07-11 Jürg Billeter + + * vala/valasemanticanalyzer.vala: any reference or array type or pointer + type can be cast to a generic pointer + 2007-07-11 Jürg Billeter * vapi/libxml-2.0.vala: expand libxml2 bindings, diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala index 12375d712..1a1b61e7d 100644 --- a/vala/valasemanticanalyzer.vala +++ b/vala/valasemanticanalyzer.vala @@ -1175,6 +1175,19 @@ public class Vala.SemanticAnalyzer : CodeVisitor { return false; } + if (expected_type.data_type == pointer_type) { + /* any reference or array type or pointer type can be cast to a generic pointer */ + if (expression_type.type_parameter != null || + expression_type.data_type.is_reference_type () || + expression_type.data_type is Pointer || + expression_type.data_type is Array || + expression_type.data_type is Callback) { + return true; + } + + return false; + } + /* temporarily ignore type parameters */ if (expected_type.type_parameter != null) { return true;