/****************************************************************************** * Copyright (c) 2000-2014 Ericsson Telecom AB * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html ******************************************************************************/ //^In TTCN\-3 module \`C_BPU_SE\'\:$// // This module // 1. provides a module with "public import from B_APU_SE all; public import from B_APU_SE {import from all};" to test import statement located in prev. next modules and this module // 2. provides a module which a friend of A module C_BPU_SE { public modulepar charstring tsp_C_ch := "This is a modulepar in C" public import from B_APU_SE all; public import from B_APU_SE {import all}; type component MTC {}; //==CONST=== const integer c_C_i := 0; public const integer c_C_i_pu := 0; friend const integer c_C_i_fr := 0; private const integer c_C_i_pr := 0; //==TEMPLATES=== template integer t_C_i := 0; public template integer t_C_i_pu := 0; friend template integer t_C_i_fr := 0; private template integer t_C_i_pr := 0; //===TYPES=== type integer C_MyInt; public type integer C_MyInt_pu; private type integer C_MyInt_pr; friend type integer C_MyInt_fr; //==functions /* public */ function f_C() { log("This is f_C") } public function f_C_pu() { log("This is f_C_pu") } friend function f_C_fr() { log("This is f_C_fr") } private function f_C_pr() { log("This is f_C_pr") } //=============Testcases========================================= // Public members of A are visible and // "public import from A_SE all;" of B_APU is visible via "public import from B_APU_SE {import from all};" , therefore public objects defined in A are imported testcase tc_A() runs on MTC { //^In testcase definition `tc_A':// var integer i:=c_A_i; i:=c_A_i_pu; i:=valueof(t_A_i); i:=valueof(t_A_i_pu); var A_MyInt myInt; var A_MyInt_pu myInt_pu; f_A(); f_A_pu(); i:=c_A_i_fr; i:=valueof(t_A_i_fr); var A_MyInt myInt_fr; f_A_fr(); i:=c_A_i_pr;//^In variable assignment:// //^error: There is no local or imported definition with name `c_A_i_pr'// i:=valueof(t_A_i_pr);//^In variable assignment:// //In the operand of operation `valueof\(\)'// //^error: There is no local or imported definition with name `t_A_i_pr'// var A_MyInt_pr a_myInt_pr;//^In variable definition `a_myInt_pr'// //^error: There is no local or imported definition with name `A_MyInt_pr'// f_A_pr();//^In function or altstep instance:// //^error: There is no local or imported definition with name `f_A_pr'// setverdict(pass); } //Only public and friend members of B_APU are visible and imported: testcase tc_B() runs on MTC { //^In testcase definition `tc_B':// var integer i:=c_B_i; i:=c_B_i_pu; i:=valueof(t_B_i_pu); i:=valueof(t_B_i); var B_MyInt myInt; var B_MyInt_pu myInt_pu; f_B(); f_B_pu(); i:=c_B_i_fr; i:=valueof(t_B_i_fr); var B_MyInt_fr myInt_fr; f_B_fr(); i:=c_B_i_pr;//^In variable assignment\:$// //^error: There is no local or imported definition with name `c_B_i_pr'// i:=valueof(t_B_i_pr);//^In variable assignment:// //In the operand of operation `valueof\(\)'// //^error: There is no local or imported definition with name `t_B_i_pr'// var B_MyInt_pr b_myInt_pr; //^In variable definition `b_myInt_pr'////^error: There is no local or imported definition with name `B_MyInt_pr'// f_B_pr(); //^In function or altstep instance:// //^error: There is no local or imported definition with name `f_B_pr'// setverdict(pass); } }