On Mon, 2013-03-11 at 23:00 +0100, Florian wrote: > Hi! :) > > According to this Document one can declare namspace members public or > private: > http://www.vala-project.org/doc/vala-draft/namespaces.html > "Namespace members can be declared either private or public. > Public data can be accessed from any code, while private data > can only be accessed from inside the namespace."
Well, it looks like the documentation simply doesn't match the real
behaviour of valac here. I guess this is a compiler bug, which would
mean filing a report on Bugzilla. I have a more complete example here:
namespace TestNs {
private int i;
private void foo() { i = 5; }
}
class Test {
private int i;
private static int j;
private static void bar() { j = 20;}
private void foo() { i = 10; }
}
int main (string[] args) {
TestNs.foo();
TestNs.i = 1;
Test.bar();
Test.j = 1;
var x = new Test();
x.foo();
x.i = 1;
}
$ valac -C test2.vala
test2.vala:27.2-27.9: error: Access to private member `Test.bar' denied
Test.bar();
^^^^^^^^
test2.vala:28.2-28.7: error: Access to private member `Test.j' denied
Test.j = 1;
^^^^^^
test2.vala:31.2-31.6: error: Access to private member `Test.foo' denied
x.foo();
^^^^^
test2.vala:32.2-32.4: error: Access to private member `Test.i' denied
x.i = 1;
^^^
Compilation failed: 4 error(s), 0 warning(s)
--
Calvin Walton <[email protected]>
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ vala-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/vala-list
