/* Test protected vars - assignable within the class, but read-only * outside the class */ using namespace oadl; class foo { protected var a; public const pi = 3.14159265358979; public proc set(b) { a = b; } public proc show() { say("a = ", a, "\n"); } } foo bar {} proc main() { bar.set(3); bar.show(); try { bar.a = 4; } catch(n) { if( n == AccessCheck ) { say("Protected works!\n"); } else { say("Unexpected error: ", n, "\n"); } } try { bar.pi = 5; } catch(n) { if( n == AccessCheck ) { say("Constants work!\n"); } else { say("Unexpected error: ", n, "\n"); } } }