1*2d543d20SAndroid Build Coastguard Workermodule linker_test_2 1.0; 2*2d543d20SAndroid Build Coastguard Worker 3*2d543d20SAndroid Build Coastguard Workerrequire { 4*2d543d20SAndroid Build Coastguard Worker class file { read write }; 5*2d543d20SAndroid Build Coastguard Worker class lnk_file { unlink }; 6*2d543d20SAndroid Build Coastguard Worker attribute g_b_attr_5; 7*2d543d20SAndroid Build Coastguard Worker attribute g_b_attr_6; 8*2d543d20SAndroid Build Coastguard Worker attribute g_m1_attr_3; 9*2d543d20SAndroid Build Coastguard Worker attribute o3_m1_attr_2; 10*2d543d20SAndroid Build Coastguard Worker} 11*2d543d20SAndroid Build Coastguard Worker 12*2d543d20SAndroid Build Coastguard Workertype tag_g_m2; 13*2d543d20SAndroid Build Coastguard Worker 14*2d543d20SAndroid Build Coastguard Workertype g_m2_type_1; 15*2d543d20SAndroid Build Coastguard Workerrole g_m2_role_1; 16*2d543d20SAndroid Build Coastguard Workerrole g_m2_role_1 types g_m2_type_1; 17*2d543d20SAndroid Build Coastguard Worker 18*2d543d20SAndroid Build Coastguard Workertype g_m2_type_4, g_b_attr_5; 19*2d543d20SAndroid Build Coastguard Workertype g_m2_type_5, g_b_attr_6; 20*2d543d20SAndroid Build Coastguard Worker 21*2d543d20SAndroid Build Coastguard Worker#add types to role declared in base test 22*2d543d20SAndroid Build Coastguard Workertype g_m2_type_2; 23*2d543d20SAndroid Build Coastguard Workerrole g_b_role_3; 24*2d543d20SAndroid Build Coastguard Workerrole g_b_role_3 types g_m2_type_2; 25*2d543d20SAndroid Build Coastguard Worker 26*2d543d20SAndroid Build Coastguard Worker#optional base role w/ adds in 2 modules 27*2d543d20SAndroid Build Coastguard Workerrole o4_b_role_1; 28*2d543d20SAndroid Build Coastguard Workerrole o4_b_role_1 types g_m2_type_1; 29*2d543d20SAndroid Build Coastguard Worker 30*2d543d20SAndroid Build Coastguard Worker# attr a added to in base optional, declared/added to in module, added to in other module 31*2d543d20SAndroid Build Coastguard Workertype g_m2_type_3, g_m1_attr_3; 32*2d543d20SAndroid Build Coastguard Worker 33*2d543d20SAndroid Build Coastguard Worker# attr a added to in base optional, declared/added in module optional, added to in other module 34*2d543d20SAndroid Build Coastguard Workertype g_m2_type_6, o3_m1_attr_2; 35*2d543d20SAndroid Build Coastguard Worker 36*2d543d20SAndroid Build Coastguard Worker# cond mapping tests 37*2d543d20SAndroid Build Coastguard Workerbool g_m2_bool_1 true; 38*2d543d20SAndroid Build Coastguard Workerbool g_m2_bool_2 false; 39*2d543d20SAndroid Build Coastguard Workerif (g_m2_bool_1 && g_m2_bool_2) { 40*2d543d20SAndroid Build Coastguard Worker allow g_m2_type_1 g_m2_type_2 : lnk_file unlink; 41*2d543d20SAndroid Build Coastguard Worker} 42*2d543d20SAndroid Build Coastguard Worker 43*2d543d20SAndroid Build Coastguard Workeroptional { 44*2d543d20SAndroid Build Coastguard Worker require { 45*2d543d20SAndroid Build Coastguard Worker type optional_type; 46*2d543d20SAndroid Build Coastguard Worker } 47*2d543d20SAndroid Build Coastguard Worker 48*2d543d20SAndroid Build Coastguard Worker type tag_o1_m2; 49*2d543d20SAndroid Build Coastguard Worker 50*2d543d20SAndroid Build Coastguard Worker type o1_m2_type_1; 51*2d543d20SAndroid Build Coastguard Worker role o1_m2_role_1; 52*2d543d20SAndroid Build Coastguard Worker role o1_m2_role_1 types o1_m2_type_1; 53*2d543d20SAndroid Build Coastguard Worker} 54*2d543d20SAndroid Build Coastguard Worker 55*2d543d20SAndroid Build Coastguard Worker 56*2d543d20SAndroid Build Coastguard Workeroptional { 57*2d543d20SAndroid Build Coastguard Worker require { 58*2d543d20SAndroid Build Coastguard Worker attribute g_m1_attr_4; 59*2d543d20SAndroid Build Coastguard Worker attribute o4_m1_attr_1; 60*2d543d20SAndroid Build Coastguard Worker } 61*2d543d20SAndroid Build Coastguard Worker type tag_o2_m2; 62*2d543d20SAndroid Build Coastguard Worker 63*2d543d20SAndroid Build Coastguard Worker type o2_m2_type_1, g_m1_attr_4; 64*2d543d20SAndroid Build Coastguard Worker type o2_m2_type_2, o4_m1_attr_1; 65*2d543d20SAndroid Build Coastguard Worker 66*2d543d20SAndroid Build Coastguard Worker} 67