From: Jared Moore Date: Mon, 23 Jun 2008 21:29:15 +0000 (+0000) Subject: Report error when trying to access 'class' member statically rather than X-Git-Tag: VALA_0_3_4~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ae0732591bdcffddb3640c63640341d5e0e3bbd6;p=platform%2Fupstream%2Fvala.git Report error when trying to access 'class' member statically rather than 2008-06-23 Jared Moore * vala/valasemanticanalyzer.vala: Report error when trying to access 'class' member statically rather than through an instance, fixes bug 539594. svn path=/trunk/; revision=1644 --- diff --git a/ChangeLog b/ChangeLog index c9b27fa..13788e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-06-23 Jared Moore + + * vala/valasemanticanalyzer.vala: + + Report error when trying to access 'class' member statically rather + than through an instance, fixes bug 539594. + 2008-06-23 Jürg Billeter * gobject/valaccodeobjecttypesymbolbinding.vala: diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala index 2407dc9..7338297 100644 --- a/vala/valasemanticanalyzer.vala +++ b/vala/valasemanticanalyzer.vala @@ -1753,14 +1753,17 @@ public class Vala.SemanticAnalyzer : CodeVisitor { var member = expr.symbol_reference; var access = SymbolAccessibility.PUBLIC; bool instance = false; + bool klass = false; if (member is Field) { var f = (Field) member; access = f.access; instance = (f.binding == MemberBinding.INSTANCE); + klass = (f.binding == MemberBinding.CLASS); } else if (member is Method) { var m = (Method) member; access = m.access; instance = (m.binding == MemberBinding.INSTANCE); + klass = (m.binding == MemberBinding.CLASS); } else if (member is Property) { var prop = (Property) member; access = prop.access; @@ -1811,7 +1814,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor { return; } } - if (instance && !may_access_instance_members) { + if ((instance || klass) && !may_access_instance_members) { expr.prototype_access = true; if (expr.symbol_reference is Method) {