APIs often come with temporal constraints, such as ‘method
x.foo(y) must be called only after
Sometimes these are enforced at runtime:
The library throws an exception if a constraint is broken.
Sometimes the checks don't catch all bad usages, because that would be too slow.
Here is where TOPL comes in. Read more …
Be aware that the implementation is in very early stages.
toplc propertyFile.topl -i inputDir -o outputDir