/****************************************************************************** * 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_SE\'\:$// // This module // 1. provides a module with "[private] import from A_SE all;" to test import statement located in next modules and this module // 2. provides a module which is NOT a friend of A module C_SE { public modulepar charstring tsp_C_ch := "This is a modulepar in C"; import from B_SE all; import from B_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 but // "import from A_SE all;" of B is not visible, therefore objects defined in A are not imported testcase tc_A() runs on MTC { //^In testcase definition `tc_A':// var integer i:=c_A_i; //^In variable definition `i':// //^error: There is no local or imported definition with name `c_A_i'// i:=valueof(t_A_i); //^In variable assignment:// //In the operand of operation `valueof\(\)'// //^error: There is no local or imported definition with name `t_A_i'// i:=valueof(t_A_i_pu); //^In variable assignment:// //In the operand of operation `valueof\(\)'// //^error: There is no local or imported definition with name `t_A_i_pu'// var A_MyInt myInt; //^In variable definition `myInt'// //^error: There is no local or imported definition with name `A_MyInt'// var A_MyInt_pu myInt_pu; //^In variable definition `myInt_pu'// //^error: There is no local or imported definition with name `A_MyInt_pu'// f_A(); //^In function or altstep instance:// //^error: There is no local or imported definition with name `f_A'// f_A_pu();//^In function or altstep instance:// //^error: There is no local or imported definition with name `f_A_pu'// i:=c_A_i_fr;//^In variable assignment:// //^error: There is no local or imported definition with name `c_A_i_fr'// i:=valueof(t_A_i_fr);//^In variable assignment:// //In the operand of operation `valueof\(\)'// //^error: There is no local or imported definition with name `t_A_i_fr'// var A_MyInt_fr myInt_fr; //^In variable definition `myInt_fr'// //^error: There is no local or imported definition with name `A_MyInt_fr'// f_A_fr();//^In function or altstep instance:// //^error: There is no local or imported definition with name `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 members of B 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; //^In variable assignment\:$// //^error: There is no local or imported definition with name `c_B_i_fr'// i:=valueof(t_B_i_fr); //^In variable assignment:// //In the operand of operation `valueof\(\)'// //^error: There is no local or imported definition with name `t_B_i_fr'// var B_MyInt_fr myInt_fr;//^In variable definition \`myInt_fr\'\:$// //^error: There is no local or imported definition with name `B_MyInt_fr'// f_B_fr();//^In function or altstep instance:// //^error: There is no local or imported definition with name `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); } }