added volatile, synchronized and strictfp
separated AST queries from AST transformations and move both to the
macro package