Termination Plugin: deactivated flag set to false when decreases removed from code
In particular, TerminationPlugin.mapVerificationResult in https://github.com/viperproject/silver/blob/master/src/main/scala/viper/silver/plugin/standard/termination/TerminationPlugin.scala#L125 performs a non-trivial transformation in the following case:
method foo()
{
assert false
}
Is this the intended behaviour?
Which behaviour?
From the discussions about the termination plugin that we had, I concluded that the deactivated flag should be switched on if there are no decreases clauses in the program, but I'm not 100% sure.
Thanks for clarifying, sounds OK to me.
Out of curiosity: does the transformation, in absence of decreases clauses, actually do something (that affects the IDE)?
Yes, when caching is enabled, the transformations affect the information about which nodes have been cached. I files a separate issue for that one: #451