diff options
author | Juerg Billeter <j@bitron.ch> | 2007-09-14 21:15:59 +0000 |
---|---|---|
committer | Jürg Billeter <juergbi@src.gnome.org> | 2007-09-14 21:15:59 +0000 |
commit | 3ce59e20d257f577c0ebe4655c7c79696f37abee (patch) | |
tree | 0dbdd056df2f683c69d85678de4f24bb2f16c489 | |
parent | 779f26abf2815a57f629e74c15c5418db1a45fb5 (diff) | |
download | vala-3ce59e20d257f577c0ebe4655c7c79696f37abee.tar.gz |
deny assignment to instance members from static methods
2007-09-14 Juerg Billeter <j@bitron.ch>
* vala/valasemanticanalyzer.vala: deny assignment to instance members
from static methods
svn path=/trunk/; revision=606
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | vala/valasemanticanalyzer.vala | 6 |
2 files changed, 11 insertions, 0 deletions
@@ -1,5 +1,10 @@ 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 Gst.version_string method diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala index 6b15e7b91..a1e3d36c6 100644 --- a/vala/valasemanticanalyzer.vala +++ b/vala/valasemanticanalyzer.vala @@ -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 */ |