]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
deny assignment to instance members from static methods
authorJuerg Billeter <j@bitron.ch>
Fri, 14 Sep 2007 21:15:59 +0000 (21:15 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Fri, 14 Sep 2007 21:15:59 +0000 (21:15 +0000)
2007-09-14  Juerg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: deny assignment to instance members
  from static methods

svn path=/trunk/; revision=606

ChangeLog
vala/valasemanticanalyzer.vala

index e4a2b2149fba1821aa82b1831f9922e7f9543964..4b3e679bab306e397cc3932ddd3d20cdd252ece5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-09-14  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valasemanticanalyzer.vala: deny assignment to instance members
+         from static methods
+
 2007-09-14  Jürg Billeter  <j@bitron.ch>
 
        * vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata: fix
index 6b15e7b91864d7b5385a342f7f9e88d32c32094d..a1e3d36c6f6f1c7f5d345c399cd0cf8a62fc21e2 100644 (file)
@@ -2523,6 +2523,12 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                if (a.left is MemberAccess) {
                        var ma = (MemberAccess) a.left;
 
+                       if (ma.prototype_access) {
+                               a.error = true;
+                               Report.error (a.source_reference, "Access to instance member `%s' denied".printf (ma.symbol_reference.get_full_name ()));
+                               return;
+                       }
+
                        if (ma.error || ma.symbol_reference == null) {
                                a.error = true;
                                /* if no symbol found, skip this check */