Selective imports are not supported
Summary
Titan does not support selective imports (i.e. imports when a part of a module is being imported), as defined in Section 8.2.3.3 of the TTCN-3 standard
Steps and/or TTCN-3 code to reproduce
module modules3 {
group inttypes{
type integer i1;
type integer i2;
group floattypes2{ //can be imported as subgroup
type float f3;
private type float f4; //cannot be seen
}
}
group floattypes{ //will not be imported
type float f1; //will be imported individually
type float f2;
}
}
module modules language "TTCN-3:2003"/* language "TTCN-3:2002" ERROR*/{
type component ct_empty{}
import from modules3 {group inttypes2 except {type i1}};
import from modules3 {group inttypes.floattypes2};
import from modules3 {type f1};
testcase group_import() runs on ct_empty{
var i1 i1e; //ERROR because of except clause
var i2 i2e;
var f1 f1e;
var f2 f2e; //ERROR because of not being imported individually or with group
var f3 f3e;
//var f4 f4e; //ERROR because of being private
setverdict(pass);
}
control{
execute(group_import());
}
}
What is the current bug behavior?
All rows with an //ERROR comment should cause errors
What is the expected correct behavior?
Only //var f4 f4e; //ERROR because of being private
would cause an error, the rest does not, so by commenting this line out, the test case passes.
Relevant logs and/or screenshots
Possible fixes
Titan version
8.1.0
Platform details (OS type and version)
Microsoft Windows 10 Enterprise 10.0.19042
/cc @aknappqwt @mmagyari