ast transformations plugin framework