diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2020-08-05 17:45:39 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2020-08-10 10:00:35 +0200 |
commit | 8afe7e0b9c18472c1e1cedc4a5582f4e0f8ef4b1 (patch) | |
tree | bed9978cb78be6e8cfe4cb4a72555031908a5abb | |
parent | 50c631e6157448756ef2b737dee9d2fc1d60db26 (diff) | |
download | vala-8afe7e0b9c18472c1e1cedc4a5582f4e0f8ef4b1.tar.gz |
vala: Mark tranformed member-access as qualified
Regression of 866258f688d781f3536892b8f93abdd3112198ec
See https://gitlab.gnome.org/GNOME/vala/issues/57
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rw-r--r-- | tests/semantic/member-access-transformed-qualified.vala | 20 | ||||
-rw-r--r-- | vala/valamemberaccess.vala | 1 |
3 files changed, 22 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 0e35fd799..fde076561 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -833,6 +833,7 @@ TESTS = \ semantic/member-access-protected-invalid.test \ semantic/member-access-undefined.test \ semantic/member-access-static-with-instance.vala \ + semantic/member-access-transformed-qualified.vala \ semantic/method-abstract.test \ semantic/method-abstract-body.test \ semantic/method-async-ref-parameter.test \ diff --git a/tests/semantic/member-access-transformed-qualified.vala b/tests/semantic/member-access-transformed-qualified.vala new file mode 100644 index 000000000..f8c273d08 --- /dev/null +++ b/tests/semantic/member-access-transformed-qualified.vala @@ -0,0 +1,20 @@ +using Foo.Bar; +using Foo.Manam; + +namespace Foo.Bar { + public int bar = 23; +} + +namespace Foo.Manam { + public class Foo { + public static void faz () { + bar = 42; + } + } +} + +void main () { + assert (bar == 23); + Foo.Manam.Foo.faz (); + assert (bar == 42); +} diff --git a/vala/valamemberaccess.vala b/vala/valamemberaccess.vala index 2bb8d462d..51ce6cb17 100644 --- a/vala/valamemberaccess.vala +++ b/vala/valamemberaccess.vala @@ -326,6 +326,7 @@ public class Vala.MemberAccess : Expression { inner_ma = (MemberAccess) inner_ma.inner; inner_sym = inner_sym.parent_symbol; } + inner_ma.qualified = true; inner.check (context); symbol_reference = local_sym; |