From: Rico Tzschichholz Date: Thu, 28 Feb 2019 19:35:08 +0000 (+0100) Subject: vala: Don't ignore qualified parent when inferring type of enum member X-Git-Tag: 0.43.92~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8629327cac8571bb71d19ec1ce683e24781beb3e;p=thirdparty%2Fvala.git vala: Don't ignore qualified parent when inferring type of enum member Regression of 33c91a04f758c89f0402994a6df894e6c2032def https://bugzilla.gnome.org/show_bug.cgi?id=666035 --- diff --git a/tests/Makefile.am b/tests/Makefile.am index 7f10b1606..89c878d47 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -193,6 +193,8 @@ TESTS = \ enums/flags.vala \ enums/no_gtype_to_string.vala \ enums/bug666035.vala \ + enums/bug666035-1.test \ + enums/bug666035-2.test \ enums/bug673879.vala \ enums/bug763831.vala \ enums/bug780050.vala \ diff --git a/tests/enums/bug666035-1.test b/tests/enums/bug666035-1.test new file mode 100644 index 000000000..487254eed --- /dev/null +++ b/tests/enums/bug666035-1.test @@ -0,0 +1,5 @@ +Invalid Code + +void main () { + GLib.BindingFlags foo = GLib.Binding.SYNC_CREATE; +} diff --git a/tests/enums/bug666035-2.test b/tests/enums/bug666035-2.test new file mode 100644 index 000000000..fb4c7832c --- /dev/null +++ b/tests/enums/bug666035-2.test @@ -0,0 +1,9 @@ +Invalid Code + +void main () { + GLib.BindingFlags foo = 0; + + switch (foo) { + case GLib.Binding.SYNC_CREATE: break; + } +} diff --git a/vala/valamemberaccess.vala b/vala/valamemberaccess.vala index e148fa276..8fd60db56 100644 --- a/vala/valamemberaccess.vala +++ b/vala/valamemberaccess.vala @@ -450,7 +450,7 @@ public class Vala.MemberAccess : Expression { } // enum-type inference - if (symbol_reference == null && target_type != null && target_type.data_type is Enum) { + if (inner == null && symbol_reference == null && target_type != null && target_type.data_type is Enum) { var enum_type = (Enum) target_type.data_type; foreach (var val in enum_type.get_values ()) { if (member_name == val.name) {