1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
import cpp11_assign_delete.*;
public class cpp11_assign_delete_runme {
static {
try {
System.loadLibrary("cpp11_assign_delete");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}
public static void main(String argv[]) {
MemberVars mv = new MemberVars();
MemberArrayVars mav = new MemberArrayVars();
// (1) Test directly non-assignable member variables
// These will only have getters
AssignPublic a1 = mv.getMemberPublic();
AssignProtected a2 = mv.getMemberProtected();
AssignPrivate a3 = mv.getMemberPrivate();
AssignPublic ma1 = mav.getArrayMemberPublic();
AssignProtected ma2 = mav.getArrayMemberProtected();
AssignPrivate ma3 = mav.getArrayMemberPrivate();
// (2) Test indirectly non-assignable member variables via inheritance
InheritedMemberVars imv = new InheritedMemberVars();
// These will only have getters
AssignPublicDerived a4 = imv.getMemberPublicDerived();
AssignProtectedDerived a5 = imv.getMemberProtectedDerived();
AssignPrivateDerived a6 = imv.getMemberPrivateDerived();
AssignPublicDerived sa4 = InheritedMemberVars.getStaticMemberPublicDerived();
AssignProtectedDerived sa5 = InheritedMemberVars.getStaticMemberProtectedDerived();
AssignPrivateDerived sa6 = InheritedMemberVars.getStaticMemberPrivateDerived();
AssignPublicDerived ga4 = cpp11_assign_delete.getGlobalPublicDerived();
AssignProtectedDerived ga5 = cpp11_assign_delete.getGlobalProtectedDerived();
AssignPrivateDerived ga6 = cpp11_assign_delete.getGlobalPrivateDerived();
// These will have getters and setters
AssignPublicDerivedSettable a7 = imv.getMemberPublicDerivedSettable();
imv.setMemberPublicDerivedSettable(a7);
AssignProtectedDerivedSettable a8 = imv.getMemberProtectedDerivedSettable();
imv.setMemberProtectedDerivedSettable(a8);
AssignPrivateDerivedSettable a9 = imv.getMemberPrivateDerivedSettable();
imv.setMemberPrivateDerivedSettable(a9);
AssignPublicDerivedSettable sa7 = InheritedMemberVars.getStaticMemberPublicDerivedSettable();
InheritedMemberVars.setStaticMemberPublicDerivedSettable(sa7);
AssignProtectedDerivedSettable sa8 = InheritedMemberVars.getStaticMemberProtectedDerivedSettable();
InheritedMemberVars.setStaticMemberProtectedDerivedSettable(sa8);
AssignPrivateDerivedSettable sa9 = InheritedMemberVars.getStaticMemberPrivateDerivedSettable();
InheritedMemberVars.setStaticMemberPrivateDerivedSettable(sa9);
AssignPublicDerivedSettable ga7 = cpp11_assign_delete.getGlobalPublicDerivedSettable();
cpp11_assign_delete.setGlobalPublicDerivedSettable(ga7);
AssignProtectedDerivedSettable ga8 = cpp11_assign_delete.getGlobalProtectedDerivedSettable();
cpp11_assign_delete.setGlobalProtectedDerivedSettable(ga8);
AssignPrivateDerivedSettable ga9 = cpp11_assign_delete.getGlobalPrivateDerivedSettable();
cpp11_assign_delete.setGlobalPrivateDerivedSettable(ga9);
// (3) Test indirectly non-assignable member variables via classes that themselves have non-assignable member variables
{
MembersMemberVars m = new MembersMemberVars();
// These will only have getters
MemberPublicVar mpv1 = m.getMemberPublic();
MemberProtectedVar mpv2 = m.getMemberProtected();
MemberPrivateVar mpv3 = m.getMemberPrivate();
MemberPublicVar smpv1 = StaticMembersMemberVars.getStaticMemberPublic();
MemberProtectedVar smpv2 = StaticMembersMemberVars.getStaticMemberProtected();
MemberPrivateVar smpv3 = StaticMembersMemberVars.getStaticMemberPrivate();
MemberPublicVar gmpv1 = cpp11_assign_delete.getGlobalMemberPublic();
MemberProtectedVar gmpv2 = cpp11_assign_delete.getGlobalMemberProtected();
MemberPrivateVar gmpv3 = cpp11_assign_delete.getGlobalMemberPrivate();
// Setters and getters available
StaticMembersMemberVarsHolder smmvh = new StaticMembersMemberVarsHolder();
StaticMembersMemberVars member = smmvh.getMember();
smmvh.setMember(member);
StaticMembersMemberVars smmv = cpp11_assign_delete.getGlobalStaticMembersMemberVars();
cpp11_assign_delete.setGlobalStaticMembersMemberVars(smmv);
}
// (4) Test indirectly non-assignable member variables via classes that themselves have non-assignable array member variables
{
MembersMemberArrayVars m = new MembersMemberArrayVars();
// These will only have getters
MemberPublicArrayVar mpv1 = m.getMemberPublic();
MemberProtectedArrayVar mpv2 = m.getMemberProtected();
MemberPrivateArrayVar mpv3 = m.getMemberPrivate();
MemberPublicArrayVar smpv1 = StaticMembersMemberArrayVars.getStaticMemberPublic();
MemberProtectedArrayVar smpv2 = StaticMembersMemberArrayVars.getStaticMemberProtected();
MemberPrivateArrayVar smpv3 = StaticMembersMemberArrayVars.getStaticMemberPrivate();
MemberPublicArrayVar gmpv1 = cpp11_assign_delete.getGlobalArrayMemberPublic();
MemberProtectedArrayVar gmpv2 = cpp11_assign_delete.getGlobalArrayMemberProtected();
MemberPrivateArrayVar gmpv3 = cpp11_assign_delete.getGlobalArrayMemberPrivate();
// Setters and getters available
StaticMembersMemberArrayVarsHolder smmvh = new StaticMembersMemberArrayVarsHolder();
StaticMembersMemberArrayVars member = smmvh.getMember();
smmvh.setMember(member);
StaticMembersMemberArrayVars smmv = cpp11_assign_delete.getGlobalStaticMembersMemberArrayVars();
cpp11_assign_delete.setGlobalStaticMembersMemberArrayVars(smmv);
}
// (5) Test indirectly non-assignable member variables via classes that themselves have non-assignable reference member variables
{
MembersMemberRefVars m = new MembersMemberRefVars();
// These will only have getters
MemberPublicRefVar mpv1 = m.getMemberPublic();
MemberProtectedRefVar mpv2 = m.getMemberProtected();
MemberPrivateRefVar mpv3 = m.getMemberPrivate();
MemberPublicRefVar smpv1 = StaticMembersMemberRefVars.getStaticMemberPublic();
MemberProtectedRefVar smpv2 = StaticMembersMemberRefVars.getStaticMemberProtected();
MemberPrivateRefVar smpv3 = StaticMembersMemberRefVars.getStaticMemberPrivate();
MemberPublicRefVar gmpv1 = cpp11_assign_delete.getGlobalRefMemberPublic();
MemberProtectedRefVar gmpv2 = cpp11_assign_delete.getGlobalRefMemberProtected();
MemberPrivateRefVar gmpv3 = cpp11_assign_delete.getGlobalRefMemberPrivate();
// Setters and getters available
StaticMembersMemberRefVarsHolder smmvh = new StaticMembersMemberRefVarsHolder();
StaticMembersMemberRefVars member = smmvh.getMember();
smmvh.setMember(member);
StaticMembersMemberRefVars smmv = cpp11_assign_delete.getGlobalStaticMembersMemberRefVars();
cpp11_assign_delete.setGlobalStaticMembersMemberRefVars(smmv);
}
}
}
|