|
cprover
|
Back to Code Contracts Developer Documentation
The code implementing Code Contracts Transformation Specification is found in Dynamic Frame Condition Checking (DFCC)
We go over each class and explain how it works in relation to others.
The dfcct class is the main entry point into the transformation.
The method dfcct::transform_goto_model first separates the functions of the goto model in different groups (functions to instrument, pure contract symbols from which to generate code, functions to check against contracts, functions to replace with contracts) and applies the transformation to the whole goto model, by scheduling the translation passes described in Code Contracts Transformation Specification :
Each of these translation passes is implemented in a specific class:
The following classes contain utility methods: