Timers cannot be compared to each other, and neither can ports be
Summary
Comparing ports and timers lead to error.
Steps and/or TTCN-3 code to reproduce
type port pt message{inout integer}with{extension "internal";}
type component oneport{
port pt P
port pt Q
}
testcase compporteq() runs on oneport{
timer t := 0.5;
timer v := 0.5;
if(t!=v){setverdict(pass);}else{setverdict(fail);}
if(P!=Q){setverdict(pass);}else{setverdict(fail);}
if(P==Q){setverdict(pass);}else{setverdict(fail);}
}
What is the current bug behavior?
The above code fails to build (compile error).
What is the expected correct behavior?
pass
Relevant logs and/or screenshots
../src/datatypes.ttcn: In TTCN-3 module `datatypes':
../src/datatypes.ttcn:757.1-779.1: In testcase definition `compporteq':
../src/datatypes.ttcn:776.3-29: In if statement:
../src/datatypes.ttcn:776.6: error: Reference to a value was expected instead of timer `t'
../src/datatypes.ttcn:777.3-29: In if statement:
../src/datatypes.ttcn:777.6: error: Reference to a value was expected instead of port `@datatypes.oneport.P'
../src/datatypes.ttcn:778.3-29: In if statement:
../src/datatypes.ttcn:778.6: error: Reference to a value was expected instead of port `@datatypes.oneport.P'
Possible fixes
Titan version
8.1.0
Platform details (OS type and version)
Microsoft Windows 10 Enterprise 10.0.19042
/cc @aknappqwt @mmagyari