vala r1084 - in trunk: . tests vala



Author: juergbi
Date: Sun Mar  2 11:55:37 2008
New Revision: 1084
URL: http://svn.gnome.org/viewvc/vala?rev=1084&view=rev

Log:
2008-03-02  Juerg Billeter  <j bitron ch>

	* vala/valaintegertype.vala: allow implicit conversion from 0 to
	  enum and flags types

	* tests/enums.vala: test conversion from 0 to enum type


Modified:
   trunk/ChangeLog
   trunk/tests/enums.vala
   trunk/vala/valaintegertype.vala

Modified: trunk/tests/enums.vala
==============================================================================
--- trunk/tests/enums.vala	(original)
+++ trunk/tests/enums.vala	Sun Mar  2 11:55:37 2008
@@ -17,6 +17,10 @@
 		stdout.printf (" %d", Foo.VAL5);
 	}
 
+	static void test_enums_0_conversion () {
+		Foo foo = 0;
+	}
+
 	static int main (string[] args) {
 		stdout.printf ("Enum Test: 1");
 		
@@ -24,7 +28,9 @@
 		bar.run ();
 
 		stdout.printf (" 6\n");
-		
+
+		test_enums_0_conversion ();
+
 		return 0;
 	}
 }

Modified: trunk/vala/valaintegertype.vala
==============================================================================
--- trunk/vala/valaintegertype.vala	(original)
+++ trunk/vala/valaintegertype.vala	Sun Mar  2 11:55:37 2008
@@ -51,6 +51,11 @@
 					return (val >= int_attr.get_integer ("min") && val <= int_attr.get_integer ("max"));
 				}
 			}
+		} else if (target_type.data_type is Enum && literal.get_type_name () == "int") {
+			// allow implicit conversion from 0 to enum and flags types
+			if (literal.value.to_int () == 0) {
+				return true;
+			}
 		}
 
 		return base.compatible (target_type, enable_non_null);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]