| module allprotected_runme; |
| |
| import allprotected.Klass; |
| import allprotected.ProtectedBase; |
| |
| void main() { |
| auto mpb = new MyProtectedBase("MyProtectedBase"); |
| mpb.accessProtected(); |
| } |
| |
| class MyProtectedBase : ProtectedBase { |
| public: |
| this(char[] name) { |
| super(name); |
| } |
| |
| void accessProtected() { |
| char[] s = virtualMethod(); |
| if (s != "ProtectedBase") |
| throw new Exception("Failed"); |
| |
| Klass k = instanceMethod(new Klass("xyz")); |
| if (k.getName() != "xyz") |
| throw new Exception("Failed"); |
| |
| k = instanceOverloaded(new Klass("xyz")); |
| if (k.getName() != "xyz") |
| throw new Exception("Failed"); |
| |
| k = instanceOverloaded(new Klass("xyz"), "abc"); |
| if (k.getName() != "abc") |
| throw new Exception("Failed"); |
| |
| k = staticMethod(new Klass("abc")); |
| if (k.getName() != "abc") |
| throw new Exception("Failed"); |
| |
| k = staticOverloaded(new Klass("xyz")); |
| if (k.getName() != "xyz") |
| throw new Exception("Failed"); |
| |
| k = staticOverloaded(new Klass("xyz"), "abc"); |
| if (k.getName() != "abc") |
| throw new Exception("Failed"); |
| |
| instanceMemberVariable = 30; |
| int i = instanceMemberVariable; |
| if (i != 30) |
| throw new Exception("Failed"); |
| |
| staticMemberVariable = 40; |
| i = staticMemberVariable; |
| if (i != 40) |
| throw new Exception("Failed"); |
| |
| i = staticConstMemberVariable; |
| if (i != 20) |
| throw new Exception("Failed"); |
| |
| anEnum = ProtectedBase.AnEnum.EnumVal1; |
| ProtectedBase.AnEnum ae = anEnum; |
| if (ae != ProtectedBase.AnEnum.EnumVal1) |
| throw new Exception("Failed"); |
| } |
| } |