Understanding compiler plugins