-
Régis Blanc authored
Previously, array access were generated via a code transformation in ArrayTransformation in xlang, where Array Select and Update were wrapped in if-then-else with an Error in the else branch. They are now natively supported in VC generation. Some testcases --- that would trigger bugs when --xlang is not used with functional array ---- are included in this commit The commit introduces a new abstraction to traverse Leon trees and collect path conditions. This traverser is used for the implementation of the VC generation for arrays.
Régis Blanc authoredPreviously, array access were generated via a code transformation in ArrayTransformation in xlang, where Array Select and Update were wrapped in if-then-else with an Error in the else branch. They are now natively supported in VC generation. Some testcases --- that would trigger bugs when --xlang is not used with functional array ---- are included in this commit The commit introduces a new abstraction to traverse Leon trees and collect path conditions. This traverser is used for the implementation of the VC generation for arrays.